【发布时间】:2018-07-14 07:47:37
【问题描述】:
我有一个包含两个数据集的报告,按状态汇总未完成订单的数量和价值。我有一个“Back Order”列,它使用“Lookup”函数来引用第二个数据库,基于 Fields!IsBackorder.Value 是否返回 true。这适用于行级别,但我在聚合级别遇到了问题。
对于订单总数,此论坛有效:
=SUM(IIF(LOOKUP(Fields!SalesOrderID.Value, Fields!SalesOrderID.Value, Fields!IsBackorder.Value, "DstBackorders") = "TRUE",1,0))
但是,对于订单的总价值(“Fields!NetValue.Value”),这将返回 '#Error'
=SUM(IIF(LOOKUP(Fields!SalesOrderID.Value, Fields!SalesOrderID.Value, Fields!IsBackorder.Value, "DstBackorders") = "TRUE",Fields!NetValue.Value,0))
我尝试过自定义聚合函数,但没有找到任何可行的方法。我不确定我是如何得到这个错误的。
任何建议都会很有帮助。
谢谢,
【问题讨论】:
-
只是一些想法...... NetValue 是什么数据类型?如果你用“1”替换 NetValue 会发生什么?如果这给了你一个计数,那么它可能是一个范围问题,在这种情况下你可能需要指定 NetValue 来自的数据集
-
感谢 Alan,我使用 CDec() 函数将两个数字都转换为小数,并且成功了。
标签: reporting-services aggregate lookup