Javascript 带有伪函数的pivot.js摘要
不过,我在使用摘要字段的伪函数时遇到了一些麻烦,该字段被划分为两个字段 最初的两个字段是:Javascript 带有伪函数的pivot.js摘要,javascript,pivot-table,Javascript,Pivot Table,不过,我在使用摘要字段的伪函数时遇到了一些麻烦,该字段被划分为两个字段 最初的两个字段是: {name: 'purchasers', type: 'integer', rowLabelable: false, summarizable: 'sum', displayFunction: function(value){ return accounting.formatNumber(value)}}, {name: 'spend', type: 'float', rowLab
{name: 'purchasers', type: 'integer', rowLabelable: false, summarizable: 'sum', displayFunction: function(value){ return accounting.formatNumber(value)}},
{name: 'spend', type: 'float', rowLabelable: false, summarizable: 'sum', displayFunction: function(value){ return accounting.formatMoney(value)}}
伪函数为:
{
name: 'spendperpurch', type: 'float', pseudo: true,
pseudoFunction: function(row){ return row.spend / row.purchasers },
summarizable: 'sum', displayFunction: function(value){ return accounting.formatMoney(value)}
}
它只是没有从granu开始聚合
我想做的基本上是通过过滤器进行sum(row.expense)/sum(row.purchases)分组,而不是使用
对于第∑(row.spend/row.purchases)行中的i,这是当前正在发生的情况
e、 g.如果我有100行,其中包含计算的字段“支出/购买者”
date, purchasers, spend, spendperpurch
1 , 10 , 100 , 10
2 , 15 , 200 , 13.3
如果在我的桌子上我只想要
purchasers, spend, spendperpurch
目前的代码给了我:
purchasers, spend, spendperpurch
25 , 300 , 23.3
我真正想要的是:
purchasers, spend, spendperpurch
25 , 300 , 12
有什么想法吗?我将非常感谢任何帮助 我研究过这个,因为我最近也需要这样做
pseudoFunction
属性不支持此操作,因为在加载CSV时,它仅在CSV逐行运行
相反,您希望使用自定义摘要函数。试试这个例子:
var fields=[
{name:"purchasers", type:"float", summarizable:"sum"},
{name:"spend", type:"float" summarizable:"sum"},
{name:"spendperpurch", type:"float",
summarizable:true,
summaryFunction:function(rows,field){
var totalPurchasers=0, totalSpend=0, i=0;
for(i=0;i<rows.length;i++){
totalPurchasers+=rows[i]["purchasers"];
totalSpend+=rows[i]["spend"];
}
if(totalPurchasers==0){return 0; /*or whatever you want*/}
return totalSpend/totalPurchasers;
}
];
var字段=[
{名称:“购买者”,类型:“浮动”,可摘要:“总和”},
{name:“spend”,键入:“float”可摘要:“sum”},
{名称:“spendperpurch”,类型:“float”,
可以总结:是的,,
summaryFunction:函数(行、字段){
var TotalPurchases=0,TotalExpense=0,i=0;
对于(i=0;i请解释您发布的内容。
{
name: 'spendperpurch', type: 'float', pseudo: true, summarizable: 'avg',
pseudoFunction: function(row)
{
return row.spend / row.purchasers
},
displayFunction: function(value)
{
return accounting.formatMoney(value)
}
}