我需要能够设置SSRS参数以包含多个值。
在TSQL中,我可以使用where
子句声明:
where Attribute in ('Value1', 'Value', 'Value3')
SSRS需要的是:
where Attribute in (@Attribute)
我挂断的地方是如何格式化参数值表达式,以便SQL将其视为:'Value1', 'Value', 'Value3'
我有幸运气使where
子句仅查看第一个值,但我需要它来查看所有3.我如何格式化表达式来做到这一点?
我只是允许它接受多个值,并单独检查每个值,但我需要下拉列表才能拥有组。因此,如果用户选择GroupA,则where
子句使用:IN ('Value1', Value2')
,如果用户选择GroupB,则where
子句使用IN
的不同列表。
希望这只是正确格式化表达式的问题。
答案 0 :(得分:1)
好吧,如果你没有关于组的要求,那么这不是问题,因为您只需要将参数设置为多值的参数,并在数据集查询中执行WHERE Attribute in (@Attribute)
。但考虑到这一要求,我能想到的唯一方法就是拥有两个多值参数:@Group
和@Attribute
。您需要使@Attribute
不可见,并创建一个数据集来填充它。该数据集将是这样的:
SELECT Attribute
FROM Attributes
WHERE Group IN (@Group)
为报告数据创建另一个数据集:
SELECT <all your data>
FROM YourTable
WHERE Attribute IN (@Attribute)