在SSRS表达式中分组

时间:2016-05-17 14:39:15

标签: reporting-services expression grouping average iif

我有一个SSRS表达式,我正在计算和平均设置时间,但由于针对每个订单的多个和不同的帖子,我只需要花费唯一订单的平均设置时间。由于报告的其他部分需要包含所有过帐,因此我无法将此单个表达式分组或过滤掉多个订单过帐。所以我有以下表达式:

=AVG(iif(IsNumeric(Fields!Setup.Value), CDbl(Fields!Setup.Value), 0))

而且我基本上需要将上面表达式的正确语法重写为... psuedocode incoming ...

=IIf((Fields!Order_Number.Value) is unique), AVG(iif(IsNumeric(Fields!Setup.Value), CDbl(Fields!Setup.Value), 0), else nothing)

我很确定CountDistinct子句会解决这个问题,但我很难找到合适的语法。

1 个答案:

答案 0 :(得分:0)

添加列以标识每个订单的唯一行:

=IIf(Fields!RowNumber.Value = 1, Fields!Setup.Value, Nothing)

将计算字段添加到数据集中。我们称之为“FilteredSetup”:

=Sum(Fields!FilteredSetup.Value)

现在,您可以在报告中引用此新列,它将正确聚合:

.