1

我的情况是

  1. 我有一个参数,这是一个列表,允许多个值。这意味着列表中的第一条记录是“全选”

  2. 当用户选择所有我需要在我的报告中包含与列表匹配的所有记录以及空白的记录。(我的数据集正在返回这些)

  3. 当用户只选择 1 个或几个时,我只想包含这些记录。没有那些是空白的

我的问题:我在我的数据集中有一个过滤器,它在列表中评估参数,但我需要添加一个条件过滤器,以便在选择将“选择所有”时,我尝试使用表达式,但这没有工作

过滤表达式 Fields!NAME.Value in = Parameters!List.Value !!!!!!!!!!!!工作正常

但我需要像这样改变它

If Parameters!List.Value  =  'Select All' Then
   Fields!NAME.Value in = Parameters!List.Value  or Fields!NAME.Value = " "
Else
   Fields!NAME.Value in = Parameters!List.Value
End

谁能给个建议,我可以解决吗!!!

我在 SSRS R2 工作

谢谢!!

4

4 回答 4

4

这对我有用

表达式:=IIF(Parameters!pLocation.Value <> "All Locations", Fields!LOCATION.Value, FALSE)
运算符:=
Value: =IIF(Parameters!pLocation.Value <> "All Locations",Parameters!pLocation.Value , 错误的)

于 2013-05-29T20:54:10.347 回答
2

如果您在数据集上使用过滤器,请尝试以下操作:

Expression: [NAME]
Operator: IN
Value (fx): =Split(Replace(Join(Parameters!List.Value, ","), "Select All", " "), ",")

尝试沿着这条路工作。基本上,您可以使用 Join() 将多值项重构为字符串,然后使用 Split() 将其再次解构为数组;在两者之间,您可以操作它们,以进行修改(例如将“全选”转换为“”)、添加(模仿“或”)或删除额外的项目。

于 2012-06-22T07:38:26.497 回答
1

有一个替代方案。

向参数数据集值添加一项,将“不可用”作为标签和值为 null 的值。那么存储过程将不会有任何变化,您可以检索数据。如果用户选择特定项目,那么他将仅获得这些值。如果他选择全部,那么他将获得 null 的数据以及所有其他人。

希望这会有所帮助

于 2012-05-16T12:09:43.340 回答
1

如果你这样做,你可以将逻辑放在一个位置。您对参数进行过滤,除非它是所有值,否则过滤器始终匹配。就是干净一点。

表达式:=IIF(Parameters!pLocation.Value <> "All Locations", Fields!LOCATION.Value, "All Locations")

运算符:=

值:=Parameters!pLocation.Value

于 2014-03-02T22:12:40.117 回答