Rounding issue
by ilaria_nunziante
HTML
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<button id="brokenData">
Broken Rounding
</button>
<button id="notBrokenData">
Not broken Rounding
</button>
JavaScript Sum:
<span id="jsSum">
</span>
<div id="pivot-container"></div>
JavaScript
$("#brokenData").click(function() {
flexmonster.updateData({
data: jsonData
});
selectedDs = jsonData;
updateJsSum();
});
$("#notBrokenData").click(function() {
flexmonster.updateData({
data: jsonData2
});
selectedDs = jsonData2;
updateJsSum();
});
var jsonData = [{
"Product": "423",
"Version": 1,
"Qty": 0.1
},
{
"Product": "423",
"Version": 2,
"Qty": 0.6
},
{
"Product": "423",
"Version": 3,
"Qty": -0.6
},
{
"Product": "423",
"Version": 4,
"Qty": -0.1,
},
];
var jsonData2 = [];
// different sort for same datasource
jsonData2.push(jsonData[0]);
jsonData2.push(jsonData[3]);
jsonData2.push(jsonData[1]);
jsonData2.push(jsonData[2]);
var selectedDs = jsonData;
function updateJsSum() {
var sum = 0;
$.each(selectedDs, function(recId, rec) {
sum += rec.Qty;
})
$("#jsSum").html(sum);
}
updateJsSum();
var pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
report: {
dataSource: {
data: jsonData
},
slice: {
rows: [{
uniqueName: "Product"
},
{
uniqueName: "Version"
}
],
columns: [{
uniqueName: "[Measures]"
}],
measures: [{
uniqueName: "Qty"
}]
}
}
});