ssrs过滤tablix表达式,它将使用参数值来过滤tablix

时间:2018-10-17 17:27:03

标签: reporting-services ssrs-tablix

ssrs过滤tablix表达式,它将使用参数值过滤tablix

Id喜欢根据一个参数过滤我的tablix,其中包含3种可能的值供您选择。             人             狗             两者

然后按字段过滤Tablix:人物,狗,两者...

---更新

Tablix按参数值过滤。目标包括所有

1参数具有3个选项(不是多选)。人,狗,全部。

我建立了一个名为FILTER的字段,该字段将“ ALL”放置在单元格中。

否则,它位于CLIENT_TYPE“ PERSON”或“ DOG”字段之间

表达式:         字段!CLIENT_TYPE.Value 值
        参数!CLIENT_TYPE.Value

这仅适用于“ PERSON”和“ DOG”。浓液不适用于“全部”

根据参数...过滤tablix的表达式和值是什么?

我可以欺骗“ ALL”排除所有内容吗?

表达式             IFF(Parameters!CLIENT_TYPE.Value =字段!CLIENT_TYPE.Value或Parameters!CLIENT_TYPE.Value =字段!FILTER.Value                         ,“包含”             ,“排除”)

值             = Parameters!CLIENT_TYPE.Value

解决方案:

表达式

        =(Fields!CLIENT_TYPE.Value = Parameters!CLIENT_TYPE.Value) 
        OR
        (Parameters!CLIENT_TYPE.Value = Fields!FILTER.Value)

值 = true

3 个答案:

答案 0 :(得分:0)

您将单击tablix属性->可见性,然后像这样弹出和表达 iif(parameters_p1.value ='Person',True,False)。请记住,如果您具有全选选项,即param可以接受多个值,则此解决方案将无法使用。一次只能接受1个值并呈现结果。

答案 1 :(得分:0)

您需要将您的字段与参数进行比较。

对于过滤器表达式,您将具有

=IIF(Fields!YOUR_FIELD.Value = Parameters!YOUR_PARAMETER.Value OR Parameters!YOUR_PARAMETER.Value = "Both", 1, 0)

将类型设置为整数,将值设置为1。这将为您的字段与参数匹配或参数均为两者的记录分配值1。前提是没有其他选择。

您还可以将参数映射到查询并过滤查询,而不是对数据集或tablix使用过滤器。

WHERE (YOUR_FIELD = @YOUR_PARAMETER or @YOUR_PARAMETER = 'Both') 

答案 2 :(得分:0)

1参数(3个选项):Person,Dog,All ...在proc:FILTER中创建了一个字段,其中每个单元格都保留“ ALL”。

表达式             =(字段!CLIENT_TYPE.Value =参数!CLIENT_TYPE.Value)             要么             (参数!CLIENT_TYPE.Value =字段!FILTER.Value)

值 = true