我在Excel电子表格中有一个列,其中有一堆数据类型为INT的数组。现在我想在SSRS中运行一个报告,并将这些数字作为参数(@StackIds)。有没有办法简单地将它们粘贴到参数中,它们会自动以逗号分隔? 我知道这应该是查询中我的WHERE子句中的某种函数,但我在SQL中并不是很高级来编写这样的函数。我正在使用SSMS来编写查询 提前致谢。
下面你可以看到Exel-spreadsheet中带有Stackid的列。我只是想复制整个列并将它们粘贴到我的ssrs参数的inputfield中,但是这个参数是一个VARCHAR,因此它们应该以逗号分隔。
答案 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服务并解析单个输入以在被调用的报告中选择多个。