我使用聚合函数根据另一列的值获取列的值。在报告中包含第二个数据集时遇到此错误。
=Sum(IIF(FIRST(Fields!LOB.Value, "DataSet1") = "23", (CInt(Fields!Cash_Value.Value, "DataSet1")), 0))
我想说的是,如果第一个字段的值为23,那么得到另一个字段的值为23.
我得到两个错误,一个是聚合表达式中的聚合,另一个是缺少聚合范围。我应该如何改变我的表达方式以获得我需要的价值?感谢
答案 0 :(得分:1)
是的,您正尝试在SSRS中做一些事情,比如嵌套聚合函数。
我认为以下内容应该适合你。
=IIf(First(Fields!LOB.Value, "DataSet1") = "23", Sum(CInt(Fields!Cash_Value.Value), "DataSet1"), 0)
我所做的只是将Sum
移到IIf
内,并重新排列了parens以使其发挥作用。我只用几条记录对此进行了测试,所以如果你不得不玩它以使它在你的报告中运行,那就不要感到惊讶。