在SSRS表达式中使用Count()和IIF

时间:2016-07-22 14:03:50

标签: reporting-services iif

我正在尝试计算Previous Year Comp大于0的值的数量。我在StackOverflow上找到了示例,但没有任何东西可以给我我想要的计数。

我有以下表达式:

= IIF((Fields!Previous_Year_Comp.Value) > "0.00",
      count(Fields!Previous_Year_Comp.Value),0)

此表达式计算0值。请记住,此表达式已经过多次修改。我错过了什么?

2 个答案:

答案 0 :(得分:1)

您的 COUNT 应该在 IIF 附近。

=COUNT(IIF(Fields!Previous_Year_Comp.Value > "0.00", Fields!Previous_Year_Comp.Value, NOTHING)

NOTHING是SSRSs NULL,不计入COUNT。

答案 1 :(得分:0)

您正在将字符串与整数值进行比较。试试这个:

=IIF(Fields!Previous_Year_Comp.Value > 0, count(Fields!Previous_Year_Comp.Value),0)

当然,如果Previous_Year_Comp是VARCHAR值而非DECIMAL or INTEGER,则可能需要以下内容:

=IIF(Fields!Previous_Year_Comp.Value <> "0.00", count(Fields!Previous_Year_Comp.Value),0)