You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Report Builder除零问题及超限运行数统计公式故障排查

问题分析与解决方案

你的公式结果始终为1,核心原因是内层Sum(Fields!OUTPUTwt.Value)和Sum(Fields!INPUTwt.Value)未指定分组作用域,直接计算了整个数据集的总和,导致IIf只会返回一次1或0,外层Sum自然只能得到1或0,而非统计每个符合条件的运行次数。

解决方案1:报表层面修正公式(推荐)

需按runnumber分组计算每个运行的recovery,再判断是否超限,最后统计数量。替换为以下公式(注意将runnumberGroup替换为你报表中按runnumber分组的行组名称):

=CountDistinct(
    IIf(
        Sum(Fields!INPUTwt.Value, "runnumberGroup") = 0,
        Nothing,
        IIf(
            Code.Divider(Sum(Fields!OUTPUTwt.Value, "runnumberGroup"), Sum(Fields!INPUTwt.Value, "runnumberGroup"))*100 <= Parameters!LowerYield.Value 
            Or Code.Divider(Sum(Fields!OUTPUTwt.Value, "runnumberGroup"), Sum(Fields!INPUTwt.Value, "runnumberGroup"))*100 > Parameters!UpperYield.Value,
            Fields!runnumber.Value,
            Nothing
        )
    ),
    "dsMain"
)

也可使用Sum结合分组作用域的写法:

=Sum(
    IIf(
        Sum(Fields!INPUTwt.Value, "runnumberGroup") = 0,
        0,
        IIf(
            Code.Divider(Sum(Fields!OUTPUTwt.Value, "runnumberGroup"), Sum(Fields!INPUTwt.Value, "runnumberGroup"))*100 <= Parameters!LowerYield.Value 
            Or Code.Divider(Sum(Fields!OUTPUTwt.Value, "runnumberGroup"), Sum(Fields!INPUTwt.Value, "runnumberGroup"))*100 > Parameters!UpperYield.Value,
            1,
            0
        )
    ),
    "dsMain"
)

解决方案2:数据集层面预处理(更稳定)

直接在SQL查询中计算每个runnumber的超限标记,报表中直接求和即可,避免报表层面的复杂运算:

SELECT 
    runnumber,
    INPUTwt,
    OUTPUTwt,
    -- 计算recovery(处理分母为0)
    CASE WHEN INPUTwt = 0 THEN NULL ELSE (OUTPUTwt / INPUTwt)*100 END AS recovery,
    -- 标记是否超限
    CASE 
        WHEN INPUTwt = 0 THEN 0
        WHEN (OUTPUTwt / INPUTwt)*100 <= @LowerYield OR (OUTPUTwt / INPUTwt)*100 > @UpperYield THEN 1
        ELSE 0
    END AS isOverLimit
FROM your_table
-- 其他查询条件

随后报表中直接使用:

=Sum(Fields!isOverLimit.Value, "dsMain")

补充说明

  • 确保runnumberGroup是报表行组的实际名称(可在报表设计器的行组面板查看),指定该作用域才能让Sum按每个运行单独计算,而非整个数据集。
  • 对于分母为0的情况,可根据需求决定是否将这类运行计入超限次数,上述公式默认不计入(设为0或Nothing),可自行调整逻辑。

内容的提问来源于stack exchange,提问作者EternalPrimate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:52:41