如何在SSRS2016中为一个标签传递多个值作为参数?
我的数据集看起来像(我可以根据需要修改VALUE列):
LABEL VALUE
XXX 10, 12
YYY 11
AAA 90, 80, 70
所以每行包含多个值(具有相同的位数)。我用它来过滤报告级别的数据集。我不想在单独的行中显示每个值,因为LABEL将被复制。
这是我的一个试验:
答案 0 :(得分:3)
您可以设置参数以使用您在OP中发布的数据集。请务必删除逗号和数字之间的每个空格。
LABEL VALUE
XXX 10,12
YYY 11
AAA 90,80,70
然后在过滤器中你只需要在tablix过滤器中使用SPLIT
函数:
对于Value
,请使用以下表达式:
=Split(Parameters!ParamX.Value,",")
ParamX是您的文字参数,而[Code]
是您想要过滤的列Fields!Code.Value
。
此外,如果您的Fields!Code.Value
是整数字段,则必须将其转换为字符串才能生效,因此您可以在Expression
文本框中使用以下表达式:
=Cstr(Fields!Code.Value)
更新请注意,您可以使用<{1}}函数获取Split()
,使用仅一个值过滤列,并让报告首先使用过滤器评估过滤器10,12
然后10
等等。
所以这种方法会过滤这样的数据集:
12
因此,如果您在参数中选择标签Code Row
10 1
11 2
80 3
70 4
103 5
,它将过滤第3行和第4行。
更新2 支持多值参数。
如果您的参数设置为AAA
,则必须混合使用Allow multiple values
和SPLIT
个功能:
用以下代码替换Value表达式:
JOIN
如果有帮助,请告诉我。