Reporting services SSRS中的动态sql

Reporting services SSRS中的动态sql,reporting-services,dynamic-sql,Reporting Services,Dynamic Sql,我有一个动态SQL存储过程,它为不同的项返回多个列 例如,item1-5列,item2-4列 我正在考虑使用该存储过程构建SSRS报告,希望得到多个结果 例如,当单击“item1”时,它给出sp可以返回的5列,而单击“item2”时,它给出sp可以返回的4列 SSR能做到这一点吗?当我使用SP作为SSR的源时,输出似乎不是动态的,因为它只返回“item1” 谢谢 rRS将从查询的第一个结果集中读取列元数据 因此,我建议您可以在存储过程中添加一个表变量(支持所有动态结果的固定列),将动态查询结果插

我有一个动态SQL存储过程,它为不同的项返回多个列

例如,item1-5列,item2-4列

我正在考虑使用该存储过程构建SSRS报告,希望得到多个结果

例如,当单击“item1”时,它给出sp可以返回的5列,而单击“item2”时,它给出sp可以返回的4列

SSR能做到这一点吗?当我使用SP作为SSR的源时,输出似乎不是动态的,因为它只返回“item1”

谢谢


r

RS将从查询的第一个结果集中读取列元数据


因此,我建议您可以在存储过程中添加一个表变量(支持所有动态结果的固定列),将动态查询结果插入表变量,然后从表变量中选择结果。

我所做的是在SSRS中创建一个“大表”,手动创建sp可能返回的字段,并使用“可行性”选项仅显示基于sp输出的列


唯一的问题是,您需要手动配置每个列,以指示在什么情况下它应该出现

在我的情况下,我需要至少5列来适应item1和item2是否正确?然后动态显示item1或item2?是的,在存储过程中创建表变量以插入item1/item2数据,然后在存储过程结束时从表变量中选择所有列。在您的报告中,创建一个tablix来保存存储过程中的所有列,并使用表达式来隐藏/显示列,例如“IIF(ISNOTHING(Col),true,false)”是的,所有问题都解决了,我所做的是在SSRS中创建一个“大表”,手动创建sp可能返回的字段,并仅根据sp输出显示列