总和和计数混乱

时间:2011-11-07 03:31:48

标签: ssrs-2008 reporting-services

我无法理解count和sum之间的区别

我正在尝试获取报告中特定条件的行数,并且总是使用count或sum得到0

columnA columnB
0       my string  
0       none
0       my string  
0       none
1       none

= IIF((Fields!columnA.Value = "0" and Fields!columnB.Value = "none"), SUM(Fields!columnA .Value),0)

我希望得到2结果 我看不到我的错误

2 个答案:

答案 0 :(得分:1)

SUM()将返回该字段中值的总和,而count将返回非null 值的数量。

因此,在您提供的示例中,=SUM(Fields!columnA.value)应该返回0并且=COUNT(Fields!columnA.value)应该返回5. [但是您的IIF语句听起来像是在范围是单行的位置,所以count和Sum只会应用于那一行。如果要为整个组范围设置表达式,请将范围参数添加到聚合函数,例如COUNT(Fields!columnA.value, "MyDataSetName")]

由于您没有看到此结果,因此您可以检查以下几项内容:

  • 你的查询真的回到了0,还是有可能呢? 你得到一个空值吗?
  • 您使用的是此表达式吗? 范围符合您的期望的地方?也就是说,如果你 想要计算数据集中的所有行,您是否在顶部使用它 级别文本框或组总计?

此外,简化调试:将IIF语句的各个组件放在不同的单元格中,以便您可以验证这些值是否与您认为应该发生的值相匹配。

答案 1 :(得分:0)

您应该使用COUNT。 A列的SUM 0 + 0将返回0. COUNT将返回匹配记录的数量。如果COUNT不起作用,那么您的分组(聚合)或与数据匹配的过滤条件会出现问题。