我有一个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子句会解决这个问题,但我很难找到合适的语法。
答案 0 :(得分:0)
添加列以标识每个订单的唯一行:
=IIf(Fields!RowNumber.Value = 1, Fields!Setup.Value, Nothing)
将计算字段添加到数据集中。我们称之为“FilteredSetup”:
=Sum(Fields!FilteredSetup.Value)
现在,您可以在报告中引用此新列,它将正确聚合:
.