在DB或SSRS中计算列的最佳方法

vis*_*ldk 4 t-sql sql-server-2008 reporting-services ssrs-2008

当我们在数据库中有一些计算列用于报告时,这是在SSRS报告开发的情况下计算它的值的最佳方法.

  1. 在SSRS tablix中计算它
  2. 从数据库计算并返回数据集

如果我复制这个问题,那么对不起,但谷歌搜索时没有得到正确答案.

Kar*_*ger 6

基本上,这取决于.

  • 如果计算的值是相当静态的,那么这有利于持久的计算列.
  • 如果计算的值在多个报告中有用,则这有利于计算列
  • 如果报表服务器和报表数据库位于同一个SQL Server上,则可能是负载方面的问题,
  • 如果报告数据库位于OLTP服务器上,但报表服务器位于其他实例上,则它倾向于使用Tablix来移动负载.
  • 也可能需要考虑计算本身的性质.对于其中一些可能更自然.

我可能错过了一些,但重点是我不相信这个问题有正确答案.

  • 好点.此外,在SSRS中,您不能轻易地进行聚合的聚合(例如:`avg(sum(Field.value))`将不起作用).在这种情况下,它最容易在查询中执行`sum`. (2认同)