接上一篇(Reporting Service Tips 101(#2) - 关于使用Sum函数会遇到的问题(1)),谈谈使用sum可能会遇到的另外一个问题。

Dateset的数据如下:

Supplier      Revenue    status

A               5.00        0

A               6.00        1

A               7.00        0

需求是只用sum算出Supplier A在status为0时候的Revenue总和。单看这个需求,我们其实很容易用在报表中添加分组,或者直接在数据的上一层group来解决,但是在做很多复杂报表的时候,如果能够在计算公式里面去解决一些问题,整个报表的开发过程会简单得多。

报表如下:

Reporting Service Tips 101(#3)  - 关于使用Sum函数会遇到的问题(2)

计算公式为:=FormatNumber(Sum(Fields!Revenue.Value and Fields!status.Value=0),2)

结果如下:

Reporting Service Tips 101(#3)  - 关于使用Sum函数会遇到的问题(2)

可以看到,正是我们想要的结果。但是这种方法,在遇到很复杂的报表的时候,有时候会有问题,所以我们还可以用另外一种方法。

报表:

Reporting Service Tips 101(#3)  - 关于使用Sum函数会遇到的问题(2)

计算公式为:=FormatNumber(Sum(iif(Fields!status.Value=0,Fields!Revenue.Value,0)),2)

结果:

Reporting Service Tips 101(#3)  - 关于使用Sum函数会遇到的问题(2)

和上一种方法的结果一样,但是这种方法的好处是,基本上无论多复杂的报表,都不会有问题。

Reporting Service Tips 101(#3)  - 关于使用Sum函数会遇到的问题(2)
文章来源:http://blog.softexchange.cn/uestc95/archive/2008/07/12/reporting-service-tips-1013----gysysumhshyddwt2.aspx

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2021-09-02
  • 2021-06-04
猜你喜欢
  • 2021-09-23
  • 2022-03-07
  • 2021-07-18
  • 2022-12-23
  • 2022-01-05
  • 2021-12-30
  • 2022-12-23
相关资源
相似解决方案