Report Builder中比较HB_Daily_Amt与Net_Daily返回对应值的咨询
问题核心原因
你当前的公式没有对恒为负数的HB_DAILY_AMT做绝对值转换,负数天然小于正数,所以原有判断逻辑永远只会返回Partial,自然无法得到预期结果。
正确公式
只需要在比较前用ABS()函数转换HB_DAILY_AMT的取值再做比较即可,参考写法:
=IIf(Abs(Fields!HB_DAILY_AMT.Value) > Fields!NET_DAILY.Value, "Full", "Partial")
补充注意事项
- 如果数据集里的两个字段存在空值可能,可以新增空值判断避免公式报错,参考写法:
=IIf(IsNothing(Fields!HB_DAILY_AMT.Value) Or IsNothing(Fields!NET_DAILY.Value), "", IIf(Abs(Fields!HB_DAILY_AMT.Value) > Fields!NET_DAILY.Value, "Full", "Partial"))
- 公式里的字段名要和数据集定义的字段名完全一致,若使用的报表工具对大小写敏感,需要对应调整字段名的大小写。
内容的提问来源于stack exchange,提问作者Yomkor
相关产品推荐
相关产品推荐

