Sco*_*n99 5 sql-server ssrs ssrs-2012
在 SSRS 中,我有一个名为的参数Comment,我将其设置为Allow multiple values
并为其指定可用值。
我的问题是,如果我选择一个值,我会得到结果,但如果我选择多个值,我会得到一个错误。
问题可能是因为我的 SQL 语句是这样写的:
dbo.tbl_Status.Comments LIKE ('%' + @Comment + '%')
Run Code Online (Sandbox Code Playgroud)
注意:我需要使用LIKE而不是IN
您需要更改表达式中的查询,并使用JOIN参数值上的表达式连接条件。
例如,如果您基于 Adventureworks 2014 数据库创建报告,则可以添加如下参数:
对于表中出现的一些值:
如果您随后为数据集输入表达式而不是如下查询:
="SELECT "
& "[NationalIDNumber],"
& "[JobTitle]"
&"FROM [AdventureWorks2014].[HumanResources].[Employee]"
&"WHERE [JobTitle] LIKE '%" & Join(Parameters!jobtitle.Label, "%' OR [JobTitle] LIKE '%") & "%'"
Run Code Online (Sandbox Code Playgroud)
选择单个值时会产生您想要的结果:
因为连接表达式是这样的:
SELECT [NationalIDNumber]
,[JobTitle]
FROM [AdventureWorks2014].[HumanResources].[Employee]
WHERE [JobTitle] LIKE '%Engineer%'
Run Code Online (Sandbox Code Playgroud)
当您选择多个值时它也会起作用:
因为表达式会导致这样的结果:
SELECT [NationalIDNumber]
,[JobTitle]
FROM [AdventureWorks2014].[HumanResources].[Employee]
WHERE [JobTitle] LIKE '%Engineer%'
OR [JobTitle] LIKE '%Marketing%'
Run Code Online (Sandbox Code Playgroud)
完整的 .RDL 文件可以在Github Gist上找到,并且需要本地 Adventureworks 2014 数据库。