JSFiddle - React, Tailwind, and code Playground
by Ravi A
HTML
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>
JavaScript
var pivot = new Flexmonster({
container: "#pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
report: {
dataSource: {
dataSourceType: "json",
data: getData()
},
"slice": {
"rows": [{
"uniqueName": "Customer"
}],
"columns": [{
"uniqueName": "Product"
},
{
"uniqueName": "[Measures]"
}
],
"measures": [{
"uniqueName": "Curr Vol",
"aggregation": "sum"
},
{
"uniqueName": "Prev Vol",
},
{
"uniqueName": "Vol Chg",
"formula": "(sum(\"Curr Vol\") - sum(\"Prev Vol\")) / sum(\"Prev Vol\")",
"caption": "Vol Chg"
}
]
},
"options": {
"grid": {
"showGrandTotals": "on"
}
},
},
width: "100%",
height: 500,
toolbar: true
});
function getData() {
return [{
"Customer": "A",
"Product": "P1",
"Curr Vol": 10,
"Prev Vol": 40
}, {
"Customer": "A",
"Product": "P2",
"Curr Vol": 20,
"Prev Vol": 30
}, {
"Customer": "B",
"Product": "P1",
"Curr Vol": 30,
"Prev Vol": 20
}, {
"Customer": "B",
"Product": "P2",
"Curr Vol": 40,
"Prev Vol": 10
}];
};