我使用的是pivotable.js库,在这个pivotable.js中,我希望显示总列中所有单元格的平均值,而不是所有单元格值的总和。请看下面的图像,它显示了如何在pivottable.js中显示值

var average = $.pivotUtilities.aggregatorTemplates.average;
var numberFormat = $.pivotUtilities.numberFormat;
var intFormat = numberFormat({digitsAfterDecimal: 1});
$("#output").pivot(
[
{color: "green", shape: "null", value: 0},
{color: "blue", shape: "circle", value: 1},
{color: "red", shape: "triangle", value: 2},
{color: "red", shape: "triangle", value: 12},
{color: "blue", shape: "circle", value: 3},
{color: "blue", shape: "triangle", value: 12}
],
{
rows: ["color"],
cols: ["shape"],
aggregator: average(intFormat)(["value"])
}
);你能告诉我如何做到这一点吗?这是小提琴
https://jsfiddle.net/dky0hh1y/5/
我的自定义聚合器
var successRate = function() {
return function() {
return {
sumSuccesses: 0,
sumTrials: 0,
push: function(record) {
if (!isNaN(parseFloat(record.student))) {
this.sumSuccesses += parseFloat(record.student);
}
},
value: function() { return this.sumSuccesses },
format: function(x) { return x; },
numInputs: 0
};
};
};谢谢
发布于 2018-06-12 16:03:37
PivoTable.js对所有单元格都使用相同的聚合器函数,不管它们是总计还是非。如果您想要在总行/集中使用不同的值计算方法,则需要编写自己的自定义聚合器。下面是这个https://github.com/nicolaskruchten/pivottable/wiki/Aggregators的文档
https://stackoverflow.com/questions/50482575
复制相似问题