是否可以针对报表生成器中参数的标签添加多个值?

问题描述

我正在使用报表生成器,并且想要针对标签添加多个值(可用值 > 指定值):

示例:

Label = "labelone" Value = Value1,Value2...

当我运行报告时,我收到一条消息,指出 Parameter1 丢失。

我尝试了以下针对 value:Value1、Value2 和 'Value1'、'Value2'

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

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

谢谢

解决方法

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

WHERE Field IN ('Value1,Value2')

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

这样做的方法是使用表值函数拆分标签,如果您拥有相当新版本的 SQL Server(我认为这是在 SQL2016 中引入的),则可以使用 string_split。如果您有旧版本,则可以使用大量字符串拆分函数示例。

一旦你有了你的函数,你就可以加入它的结果,查询将类似于

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
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...