是否可以针对 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
我正在使用 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