我正在将报告移植到SSRS,并且发现了webapp当前以一种奇怪的方式处理的报告。我正在尝试寻找解决方案。
当前,当调用报表时,webapp会执行一些逻辑,并弄清楚是调用一个SQL查询还是调用另一个SQL查询。它们都提供相同的sql数据库字段。该Webapp的报表构建器将使用任何查询内容填充一个模板。
好。如何使用SSRS重现此内容?据我所知,我的选择是:
我只需要知道什么是可行和有效的。
谢谢。
答案 0 :(得分:1)
一种实现方法是拥有一个名为@logic
的隐藏参数。
您已经知道什么是逻辑以及对该逻辑运行哪个查询。
比如说您当前的第一个查询是
select table1.columna as a from table1
您当前的第二个查询是
select table2.columna as a from table2
现在可以做的是
select table1.columna as a from table1 where @logic = 0
union all
select table2.columna as a from table2 where @logic = 1
您的报告将根据逻辑将@logic参数传递给数据集。
如果一组@logic = 0,则第二组@logic = 1
这将返回所需的数据集,因为@logic应该在其中处理结果集。
希望我的解释有意义。
当然..这只是实现它的一种方式!