是否可以根据选择的参数关闭 Tablix 过滤器?如果一个值为空,我希望我的数据被过滤,但如果另一个值为空,我希望我的数据不被过滤。用户输入开始日期、结束日期和班次或 VCN。所有 4 个参数都可以设置为空。前 3 个参数查找一系列值的平均值。所以我设置了 Tablix 过滤器以从数据中删除异常值。例如,它只允许一定范围内的数字。但是,当用户输入 VCN 时,它会拉出一条记录,因此即使它是异常值,我也不希望过滤任何数据,因为有时它不会返回任何值。
问问题
3810 次
3 回答
3
是的,你可以通过这个小工作。
- 在 tablix 上的过滤选项中选择要过滤的字段,例如
[Field1]
。 - 将运算符设置为
=
。 在 value 选项中设置一个类似于下面的表达式,如果在关注的参数中没有设置任何内容,这将使过滤器无效:
=IIf(IsNothing(Parameter!MyPar1.Value), Field!Field1.Value, Parameter!MyPar1.Value)
在评论之后,如果您仅在有意使用过滤器时假设VCN
参数为空VCN
,那么我会将以下过滤器应用于 tablix。
对于日期过滤器:
- 场地:
[Date]
- 操作员:
>=
- 公式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!StartDate.Value, Field!Date.Value)
第二个日期过滤器:
- 场地:
[Date]
- 操作员:
<=
- 公式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!EndDate.Value, Field!Date.Value)
对于移位过滤器:
- 场地:
[Shift]
- 操作员:
=
- 公式:
=IIf(IsNothing(Parameter!VCN.Value), Parameter!Shift.Value, Field!Shift.Value)
对于VCN过滤器:
- 场地:
[VCN]
- 操作员:
=
- 公式:
=IIf(IsNothing(Parameter!VCN.Value), Field!VCN.Value, Parameter!VCN.Value)
于 2013-03-19T09:53:18.187 回答
0
我会重新设计您的过滤器以返回布尔值并将值设置为 True。然后在过滤器表达式中,您可以使用 Iif 函数来检查您的参数并返回 True(包含)或 False(排除)。
对于即使是简单的过滤器,这通常也是一个更好的策略,因为数据类型转换等是奇异且变化无常的。
于 2013-03-18T22:28:35.067 回答
0
我做了一个解决方法,只是创建了一个新表,然后根据表达式隐藏了我的其他表。
于 2013-03-19T19:02:20.063 回答