我需要创建一个SSRS摘要报告,该报告可以捕获来自许多不同来源的大量数据。该报告需要报告3种不同类型的十几个摘要编号。每个数字的计算都非常复杂,所以我绝对想要优化整体报告。
我将打电话给X / Y / Z“类型”和A / B / C / D / E / D“项目”
实施例:
X Y Z
A 10 12 14
B 8 6 11
C 12 0 99
D 10 12 14
E 8 6 11
F 12 0 99
我有sql来生成每个数字 - 每个“行”的一个函数,我只传递X / Y / Z.
我的问题是如何将所有数据汇总在一起进行报告?我可以:
将每个数据点创建为子查询,并将它们串在一个带有描述性列名的长语句中
将每种类型的所有数据合并为一个proc / function,这样我就可以获得第一个和第一个一个结果集中的第二列,第一列和第一列第三列在另一列中,第一列和第三列在第三列中。然后我想我可以一起加入这些。
将每个数据点生成为一行(即A; X; 10)并将它们全部旋转。
我最好为每个项目创建一个函数,所以我调用fnA(X)得到10?而不是在proc中将SQL串起来?
我非常擅长SQL,但只是进入SSRS,所以我可能错过了一种更简单的方法。我正在尝试在SQL中获取所有数据,然后在SSRS中使用它,但如果我应该在SSRS中做更多而在SQL中做得更少,我会对它开放!
感谢您的投入!
答案 0 :(得分:0)
如果从以下两种形式之一的SQL查询返回数据,SSRS可以轻松处理数据:
X Y Z A 10 12 14 B 8 6 11 C 12 0 99 D 10 12 14 E 8 6 11 F 12 0 99
或强>
Item Type Value A X 10 A Y 12 A Z 14 B X 8 B Y 6 B Z 11 C X 12 C Y 0 ...
如果从单个查询返回,您在SSRS中肯定会有更轻松的时间。有几种方法可以从多个查询中获取结果,但它们并不像处理一个查询的结果那样简单。
然后问题变得更容易从SQL返回。听起来你已经对一些选项有了很好的处理:你的答案将取决于你的数据库架构以及你对SQL的不同功能的舒适度(或者倾向性)。
我在SSMS中尝试了几种方法:如果需要,请选择最干净的代码或最佳性能。
答案 1 :(得分:0)
我最终使用光标通过并拉出每个X / Y / Z类型的每个数据点并将其插入临时表。然后我使用SSRS将其显示在矩阵中。肮脏但有效...