此SO链接WHERE Caluse in SSRS expression验证我的语法是否正确但是我收到此错误:
“本地报告处理期间发生错误。 报告的定义无效。 文本框'txt1A_EMA'的值表达式使用不带范围的聚合表达式。除非报告只包含一个数据集,否则在数据区域外使用的所有聚合都需要范围。“
我的表情:
=Sum(IIF((Fields!COU_EMA.Value, "CA_Summary") = 1, (Fields!Amount.Value, "CA_Summary"), 0))
我的报告中有3个数据集。我想要的是“CA_Summary”,上面的表达式是使用表达式构建器构建的。
该字段(Fields!COU_EMA.Value,“CA_Summary”)是一个布尔值(1或0),我得到的错误是1或“true”(没有引号)。
如果我知道“范围”的定义是什么,我可能会解决它。 。 。也许
答案 0 :(得分:1)
范围是您想要查看的范围,以便获取您正在寻找的值。它可以是数据集,组等。在表达式中,CA_Summary
是范围。
我会尝试稍微修改一下表达式。由于您说COU_EMA
是位字段,因此可以使用TRUE
。这也假设矩阵正在使用数据集CA_Summary
。
=Sum(IIF(Fields!COU_EMA.Value = TRUE, Fields!Amount.Value, 0))
如果你的矩阵没有使用该数据集,但它仍然无法运行
=Sum(IIF(Fields!COU_EMA.Value = TRUE, Fields!Amount.Value, 0),"CA_Summary")