-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
I have found a bug. When we have more than one field on Value.
The summary types "count" and "average" don´t work well.
If found the source of that problem on this function Syncfusion.PivotAnalysis._isMemberExist
Original:
case "calc":
for (s = !1, this._tableKeysCalcValues.length == 0 && this._tableKeysCalcValues.push(t), e = 0; e < this._tableKeysCalcValues.length; e++)
if (t.uniqueName == this._tableKeysCalcValues[e].uniqueName) {
s = !0;
f = e;
break
}
if (s)
for (u = 0; u < i.keys.length; u++)
if (this._tableKeysCalcValues[f].value == null) {
for (this._tableKeysCalcValues[f].value = i, this._tableKeysCalcValues[f].value.count = 1, o = 0; o < i.keys.length; o++) this._summaryTypes[o] == ej.PivotAnalysis.SummaryType.Count && (this._tableKeysCalcValues[f].value.keys[o] = this._tableKeysCalcValues[f].value.count);
break
} else this._tableKeysCalcValues[f].value.count++, r.values[u].isCalculatedField != !0 && (this._tableKeysCalcValues[f].value.keys[u] = this._getSummaryValue(this._tableKeysCalcValues[f].value.keys[u], i.keys[u], this._tableKeysCalcValues[f].value.count, this._summaryTypes[u], r.values[u].format, r.values[u].formatString));
else
for (this._tableKeysCalcValues.push(t), this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value = i, o = 0; o < i.keys.length; o++) this._summaryTypes[o] == ej.PivotAnalysis.SummaryType.Count && (this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value.keys[o] = 1), this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value.count = 1
Fixed:
case "calc":
for (s = !1, this._tableKeysCalcValues.length == 0 && this._tableKeysCalcValues.push(t), e = 0; e < this._tableKeysCalcValues.length; e++)
if (t.uniqueName == this._tableKeysCalcValues[e].uniqueName) {
s = !0;
f = e;
break
}
if (s)
for (u = 0; u < i.keys.length; u++)
if (this._tableKeysCalcValues[f].value == null) {
for (this._tableKeysCalcValues[f].value = i, this._tableKeysCalcValues[f].value.count = 1, o = 0; o < i.keys.length; o++) this._summaryTypes[o] == ej.PivotAnalysis.SummaryType.Count && (this._tableKeysCalcValues[f].value.keys[o] = this._tableKeysCalcValues[f].value.count);
break
}
else {
if(u==0)
this._tableKeysCalcValues[f].value.count++;
r.values[u].isCalculatedField != !0 && (this._tableKeysCalcValues[f].value.keys[u] = this._getSummaryValue(this._tableKeysCalcValues[f].value.keys[u], i.keys[u], this._tableKeysCalcValues[f].value.count, this._summaryTypes[u], r.values[u].format, r.values[u].formatString));
}
else
for (this._tableKeysCalcValues.push(t), this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value = i, o = 0; o < i.keys.length; o++) this._summaryTypes[o] == ej.PivotAnalysis.SummaryType.Count && (this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value.keys[o] = 1), this._tableKeysCalcValues[this._tableKeysCalcValues.length - 1].value.count = 1
As can be appreciated I have added
if(u==0)
this._tableKeysCalcValues[f].value.count++;
Metadata
Metadata
Assignees
Labels
No labels