Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 构造报表查询结构的最佳方法_Sql_Sql Server 2008_Ssrs 2008_Reporting Services - Fatal编程技术网

Sql 构造报表查询结构的最佳方法

Sql 构造报表查询结构的最佳方法,sql,sql-server-2008,ssrs-2008,reporting-services,Sql,Sql Server 2008,Ssrs 2008,Reporting Services,我需要创建一个SSRS总结报告,该报告从许多不同来源捕获大量数据。该报告需要报告3种不同类型的大约12个汇总数字。每个数字的计算都非常复杂,所以我肯定要优化整个报告 我将调用X/Y/Z类型和A/B/C/D/E/D项 例如: X Y Z 我有sql来生成每个数字——我只是传递X/Y/Z的每一行的一个函数 我的问题是如何收集所有的数据来报告?我可以: 将每个数据点创建为子查询,并将它们串在一个具有描述性列名的长语句中 将每种类型的所有数据合并到一个进程/函数中,这样我就可以在一个结

我需要创建一个SSRS总结报告,该报告从许多不同来源捕获大量数据。该报告需要报告3种不同类型的大约12个汇总数字。每个数字的计算都非常复杂,所以我肯定要优化整个报告

我将调用X/Y/Z类型和A/B/C/D/E/D项

例如: X Y Z

我有sql来生成每个数字——我只是传递X/Y/Z的每一行的一个函数

我的问题是如何收集所有的数据来报告?我可以:

将每个数据点创建为子查询,并将它们串在一个具有描述性列名的长语句中

将每种类型的所有数据合并到一个进程/函数中,这样我就可以在一个结果集中得到第一列和第二列,在另一个结果集中得到第一列和第三列,在第三个结果集中得到第一列和第四列。那么我想我可以把这些连接起来

将每个数据点生成为一行,即a;X;10并将它们一起旋转

我最好为每个项目创建一个函数,所以我调用fnAX得到10?与仅仅在进程中串接SQL相反

我相当擅长SQL,但只是进入了SSR,所以我可能错过了一个更简单的方法。我试图用SQL获取所有数据,然后在SSRS中使用这些数据,但如果我应该在SSRS中做得更多,而在SQL中做得更少,我愿意接受


谢谢你的意见

SSRS可以轻松处理SQL查询返回的以下两种形式的数据: 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

如果这是从单个查询返回的,那么使用SSRS肯定会更轻松。有几种方法可以从多个查询中获得结果,但它们不像处理一个查询的结果那样简单

然后问题就变成了什么更容易从SQL返回。听起来您已经很好地掌握了其中的一些选项:您的答案将取决于您的db模式以及您对SQL的不同特性的舒适度或偏好


在SSMS中,我会尝试几种方法:根据需要,选择最干净的代码或最好的性能。

我最终使用光标遍历并拉取每个X/Y/Z类型的每个数据点,并将其插入临时表中。然后我用SSR在矩阵中显示它。有点脏,但它很管用…

我想尝试几种不同的方法是有意义的-如果我能找到时间。。。谢谢您自己是否已经尝试过上述任何一种方法? B 8 6 11 C 12 0 99 D 10 12 14 E 8 6 11 F 12 0 99 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 ...