尝试在SSRS表达式中使用Where子句时出错

时间:2017-06-26 21:17:56

标签: reporting-services

此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”(没有引号)。

如果我知道“范围”的定义是什么,我可能会解决它。 。 。也许

1 个答案:

答案 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")
相关问题