2014-01-22 119 views
0

我在SSRS报告中有两个图表跳转到相同的报告。我希望将值传递给每个图表不同的新报表。我想自己定义这些值,并通过参数传递给跳转报告的数据集。我怎样才能做到这一点? Division的数据类型是INT,我正在转换为ncharvalue错误。SSRS报告。将多个值传递到新报告中的单个参数

实施例:

Chart1 - 参数@Division - 值 - 1000,2000,3000,3500,5000,8000

Chart2 - 参数@Division - 值 - 6000,7000

ds_JumpToReport

SELECT * FROM Table WHERE Division IN(@Division)

我试过使用以下值作为数据中的参数值设置:

= JOIN(参数Division.Value “”!)

但是,我得到一个错误,与这一点。 “为报告参数'Division'提供的值对于其类型无效。”

如果我DECLARE @Division nvarchar(max);在查询中,我没有得到任何有关报告的结果。

+0

当您使用创建逗号分隔字符串的连接时,您正在比较int与nvarchar。 – ShellNinja

+0

那么,我该如何解决? – tsqln00b

+0

这就是为什么我留下评论而不是答案。 – ShellNinja

回答

0

您可以使用Split函数的许多形式之一(谷歌“tsql拆分函数”的一些示例)将逗号分隔的字符串转换为表格。然后,将您的ds_JumpToReport更改为:

SELECT * 
FROM Table 
WHERE Division IN (SELECT * FROM dbo.Split(@Division))