我需要能够根据多选参数在SSRS 2005中有条件地隐藏行。如果多参数=" CS",我需要能够隐藏行,但如果多选参数是" CS"和"销售"然后我需要看到这一行。 我试过这个公式:
=IIf((Parameters!Level_4.Value(0) = "CS"
And Parameters!Level_4.Value(0) = "Sales"),false ,True)
=IIF((Parameters!Level_4.Value(0) = "CS"), True, False)
但它不起作用......
答案 0 :(得分:1)
试试这个:
=Switch(
Array.IndexOf(Parameters!Level_4.Value, "CS")>-1 AND
Array.IndexOf(Parameters!Level_4.Value, "Sales")>-1,false,
Array.IndexOf(Parameters!Level_4.Value, "CS")>-1,true
)
注意多值参数可以包含一个或多个存储在数组数据类型中的值。因此,如果您在报表中选择一个值,它将存储在数组的0
索引中,如果再选择一个值,它将存储在1
索引中,依此类推。
示例:"CS"
值存储在Level_4.Value(0)
中,"Sales"
存储在Level_4.Value(1)
。
我建议的表达式将检查两个值是否都被选中并在这种情况下返回true
,否则如果仅选择"CS"
,它将返回false
。
更新:替代IndexOf支持
=Switch(
InStr(Join(Parameters!Level_4.Value, ","),"CS")>0 AND
InStr(Join(Parameters!Level_4.Value, ","),"Sales")>0,false,
InStr(Join(Parameters!Level_4.Value, ","),"CS")>0,true
)
如果有帮助,请告诉我。