SSRS - 我想为计算添加过滤表达式

时间:2014-01-29 06:39:23

标签: reporting-services ssrs-2008

-

我想添加和表达式,根据特定值计算值。我有一个名为DSSPend的数据集,其中第一列是Area,另一列是。现在我想根据某些面积值计算支出。 我试过这样的东西,但似乎没有用

=Iif((Fields!Area.Value, "DSSSpend") IN ('New York','Miami','Texas') = SUM(Fields!Spend.Value, "DSSSpend"), 0)

1 个答案:

答案 0 :(得分:2)

=sum(iif((Fields!Area.Value = "New York" or Fields!Area.Value = "Miami" or Fields!Area.Value = "Texas"), 
CDec(Fields!Spend.Value), CDec(0)))

SSRS表达式中没有IN运算符。您可以使用OR实现相同的目标。

此外,您的SUM聚合需要超出IIF。您的表达式仅评估第一条记录,而不是遍历数据集中的每条记录,然后进行聚合。我上面写的表达式遍历整个数据集,将“花费”字段中的值或0相加,具体取决于“区域”的值。

更新:如果您之前收到错误,可能是因为它没有将您的金额视为数字。通过明确地转换它们,您应该解决这个问题。