在SSRS参数中粘贴的Excel整数列,以逗号分隔的ID为单位

时间:2017-07-11 13:20:26

标签: sql-server tsql reporting-services

我在Excel电子表格中有一个列,其中有一堆数据类型为INT的数组。现在我想在SSRS中运行一个报告,并将这些数字作为参数(@StackIds)。有没有办法简单地将它们粘贴到参数中,它们会自动以逗号分隔? 我知道这应该是查询中我的WHERE子句中的某种函数,但我在SQL中并不是很高级来编写这样的函数。我正在使用SSMS来编写查询 提前致谢。

下面你可以看到Exel-spreadsheet中带有Stackid的列。我只是想复制整个列并将它们粘贴到我的ssrs参数的inputfield中,但是这个参数是一个VARCHAR,因此它们应该以逗号分隔。

This is the column with StackIds

SSRS-parameter

2 个答案:

答案 0 :(得分:1)

您可以使用导入/导出向导在SQL Server表中加载Excel(您甚至可以在磁盘上本地保存SSIS包并在将来启动它只需重写Excel文件)

然后启动这样的代码(这里dbo.Nums是表格,如果整数与列n):

select stuff(( select top 5 ',' + cast(n as varchar(10))  as 'text()'  from dbo.nums for xml path('') ), 1, 1, '');

然后将结果复制并粘贴到报告中

答案 1 :(得分:1)

Sepuic有一个很好的答案,并直接回答你关于粘贴和自动选择多个项目的问题

不,我担心这在通常的SSRS UI中是不可能的。您总是可以编写自己的Web应用程序来包装SSRS服务并解析单个输入以在被调用的报告中选择多个。