是否可以针对 Report Builder 中参数的标签添加多个值?

Is it possible to add more than one value against a Label for a Parameter in Report Builder?

我正在使用 Report Builder 并希望针对标签添加多个值(可用值 > 指定值):

示例:

标签 = "labelone" 值 = 值 1、值 2...

当我 运行 报告时,我收到一条消息说缺少 Parameter1。

我试过以下值:Value1、Value2 和 'Value1'、'Value2'

我的查询在 where 子句中包含以下内容:WHERE (FIELD in (@Parameter1))

基本上,我想在参数下针对一个标签指定多个值。

谢谢

您不能直接执行此操作,因为将传递给查询的内容是

WHERE Field IN ('Value1, Value2')

WHERE Field IN ('''Value1'', ''Value2''')

执行此操作的方法是使用 table 值函数拆分标签,如果您有较新版本的 SQL 服务器,则可以使用 string_split(我认为这是在 SQL2016 年引入的)。如果你有一个旧版本,你可以使用大量的字符串拆分函数示例。

一旦你有你的功能,你就可以加入它的结果,查询就像

DECLARE @pValues TABLE (myValues varchar(10))
INSERT INTO @pValues
    SELECT * FROM string_split(@myReportParameter, ',')

SELECT * 
    FROM myTable a 
    JOIN @pValues p on a.Field = p.myValues