我正在使用SQL Server Reporting Services。我的大多数查询都作为报告运行,只是导出为PDF格式。
我想知道在实际的SQL查询中应该进行哪种类型的计算,哪些应该使用SSRS IDE(Business Intelligence Studio)进行计算。
例如,如果我有12个月的销售报告(12个月)需要最近3个月的平均销售额,那么该平均值应该在何处计算?
大多数计算/聚合应该在表示层中完成吗?有没有例外?
答案 0 :(得分:2)
可以通过两种方式来看待:
其中任何一个的答案都是“它取决于”。对于一个也显示趋势的12个月报告的例子,如果你有几个参数改变了用于获取数据的逻辑,我很想在SQL存储过程中做尽可能多的事情(即使是平均值)并使报告非常“愚蠢”,只显示结果。如果报告非常简单或逻辑仅针对该报告,则报告可能有效。
对于可重用性,我赞成在SQL中做事。对于复杂的显示内容(热图,图表等),在报告中可能更好。
答案 1 :(得分:0)
将报告的逻辑与报告保持一致。 SQL Server将为您提供数据,但最好将自定义逻辑与报告保持一致。
答案 2 :(得分:0)
我不会让报告向数据库进行往返计算。如果您的存储过程分组和排序与报表布局匹配,则SSRS在进行汇总计算时非常有效。