fix(视图): 透视表去重计数小计总计计算错误

This commit is contained in:
wisonic-s 2024-06-05 10:35:32 +08:00
parent a7a8a5fb6f
commit fb1fd9f50d

View File

@ -1063,30 +1063,30 @@ function customCalcFunc(query, data, totalCfgMap) {
switch (aggregation) { switch (aggregation) {
case 'SUM': { case 'SUM': {
return data.reduce((p, n) => { return data.reduce((p, n) => {
return p + n[query[EXTRA_FIELD]] return p + parseFloat(n[query[EXTRA_FIELD]])
}, 0) }, 0)
} }
case 'AVG': { case 'AVG': {
const sum = data.reduce((p, n) => { const sum = data.reduce((p, n) => {
return p + n[query[EXTRA_FIELD]] return p + parseFloat(n[query[EXTRA_FIELD]])
}, 0) }, 0)
return sum / data.length return sum / data.length
} }
case 'MIN': { case 'MIN': {
const result = minBy(data, n => { const result = minBy(data, n => {
return n[query[EXTRA_FIELD]] return parseFloat(n[query[EXTRA_FIELD]])
}) })
return result?.[query[EXTRA_FIELD]] return result?.[query[EXTRA_FIELD]]
} }
case 'MAX': { case 'MAX': {
const result = maxBy(data, n => { const result = maxBy(data, n => {
return n[query[EXTRA_FIELD]] return parseFloat(n[query[EXTRA_FIELD]])
}) })
return result?.[query[EXTRA_FIELD]] return result?.[query[EXTRA_FIELD]]
} }
default: { default: {
return data.reduce((p, n) => { return data.reduce((p, n) => {
return p + n[query[EXTRA_FIELD]] return p + parseFloat(n[query[EXTRA_FIELD]])
}, 0) }, 0)
} }
} }