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

APEX 22.2 Interactive Grid:Average聚合Overall Average值如何保留两位小数?

解决APEX Interactive Grid总平均值保留两位小数的方法

方法1:通过JavaScript格式化聚合行

在页面的Function and Global Variable Declaration中添加以下代码:

function formatIGOverallAverage() {
    // 替换为你的Interactive Grid静态ID(如ig1)
    const ig = apex.region("ig1").widget().interactiveGrid("getViews", "grid");
    const overallRow = ig.element.find(".a-ig-overall-row");
    if (overallRow.length > 0) {
        // 替换为目标列的单元格索引(从0开始)
        const avgCell = overallRow.find("td").eq(2);
        const originalValue = parseFloat(avgCell.text());
        if (!isNaN(originalValue)) {
            avgCell.text(originalValue.toFixed(2));
        }
    }
}

接着创建动态动作确保格式生效:

  • 触发事件:选择Page Load和Interactive Grid: Refresh
  • 执行动作:Execute JavaScript Code
  • 代码内容:formatIGOverallAverage();

方法2:设置列的数字格式化掩码

  1. 打开页面设计器,找到目标IG的对应列
  2. 在列的Attributes标签页,找到Format Mask属性
  3. 输入适配的数字掩码,例如999G999G999G999D99(D代表小数点,9为数字位,G为千分位分隔符,可根据数值范围调整)
  4. 保存后运行页面,总平均值会自动应用该格式

方法3:自定义聚合函数(进阶)

如果需要从计算环节就限制小数位数,可注册自定义聚合类型:

apex.interactiveGrid.addAggregateType(
    "AVG_TWO_DECIMALS",
    {
        label: "Average (2 Decimals)",
        isApplicable: function(column) {
            return column.dataType === "NUMBER";
        },
        compute: function(column, rows, model) {
            let sum = 0, count = 0;
            rows.forEach(function(row) {
                const val = model.getValue(row, column.property);
                if (val != null && !isNaN(val)) {
                    sum += val;
                    count++;
                }
            });
            return count > 0 ? parseFloat((sum / count).toFixed(2)) : null;
        },
        getFormatOptions: function() {
            return { format: "999G999G999G999D99" };
        }
    }
);

保存后,在IG的聚合设置中选择新的Average (2 Decimals)类型,即可直接得到两位小数的总平均值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:25:13