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

Pivottable.js排序后总计列显示错误值问题求助

问题分析与修复方案

我一眼就发现问题出在你的successRate聚合函数里,这可是个容易踩的小坑!

问题根源

你在value方法里写了return (this.sumSuccesses++)——这里的后置自增++是罪魁祸首!Pivottable.js在渲染、排序,尤其是计算总计列的时候,会多次调用value方法获取数值。每次调用这个方法,sumSuccesses都会被额外加1,次数多了数值自然就乱掉,导致单元格和总计列的数值对不上。

修复后的代码

把value方法里的自增操作删掉,直接返回累加好的sumSuccesses就行:

var successRate = function() {
 return function() {
 return {
 sumSuccesses: 0,
 sumTrials: 0,
 totalRecord:0,
 push: function(record) {
 if (!isNaN(parseFloat(record['temp']))) {
 this.sumSuccesses += parseFloat(record['temp']);
 }
 this.totalRecord++;
 },
 value: function() { return this.sumSuccesses; }, // 移除多余的自增操作
 format: function(x) { return $filter('number')(x,2) },
 numInputs: 0
 };
 };
};

额外提醒

另外注意下配置里aggregators的键是"temp",确保这个键和你实际要统计的字段逻辑对应,避免其他潜在的显示问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:46:08