美好的一天
我有一份包含4个过滤器的SSRS报告。 4个过滤器中的一个是“搜索参数”。
当用户使用“搜索参数”(字段/过滤器,输入内容)时,我想忽略其他三个过滤器,尽管它们具有值。
我在参数表达式(DataSet属性)中尝试了CASE / SWITCH语句,但没有运气。
有没有人知道如何完成这项工作
答案 0 :(得分:2)
过滤器快速方便,但只允许过滤条件之间的AND
关系,并且您希望在此处建立OR
关系。
好消息是你可以通过使用表达式来制作更复杂的过滤器逻辑。我们将创建一个布尔过滤器表达式,该表达式计算您是否要过滤该行并将其与True
进行比较。
只有一个过滤条件,然后单击表达式编辑器按钮。使表达式如下:
=IIF(IsNothing(Parameters!SearchParameter.Value), Fields!Field1.Value = Parameters!Field1Parameter AND Fields!Field2.Value = Parameters!Field2Parameter AND Fields!Field3.Value = Parameters!Field3Parameter, Fields!SearchField.Value LIKE "*" & Parameters!SearchParameter.Value & "*")
使表达式类型为Boolean
,运算符=
和值True
。