JSFiddle - React, Tailwind, and code Playground
by Flexmonster Pivot Table
HTML
<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>
JavaScript
let pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
report: {
dataSource: {
/* type: "csv",
filename: path to your csv file */
data: getData(),
mapping: {
"Amount": {
type: "number"
},
"Date": {
type: "date"
},
"Category": {
type: "string"
}
}
},
options:{
showGrandTotals:"off"
},
slice: {
rows: [{
uniqueName: "Category"
}],
columns: [{
uniqueName: "Date.Month"
}, {
uniqueName: "[Measures]"
}],
measures: [{
uniqueName: "Amount",
aggregation: "sum"
}]
}
}
});
function getData() {
return [{
"Category": "Auto Maintenance",
"Date": "2/1/2024",
"Amount": 130
},
{
"Category": "Food",
"Date": "1/1/2024",
"Amount": 150
},
{
"Category": "Food",
"Date": "1/15/2024",
"Amount": 150
},
{
"Category": "Utilities",
"Date": "1/1/2024",
"Amount": 100
},
{
"Category": "Utilities",
"Date": "1/3/2024",
"Amount": 40
},
{
"Category": "Utilities",
"Date": "1/15/2024",
"Amount": 250
},
{
"Category": "Food",
"Date": "2/05/2024",
"Amount": 150
},
{
"Category": "Food",
"Date": "2/24/2024",
"Amount": 200
},
{
"Category": "Utilities",
"Date": "2/1/2024",
"Amount": 100
},
{
"Category": "Utilities",
"Date": "2/3/2024",
"Amount": 40
},
{
"Category": "Utilities",
"Date": "2/15/2024",
"Amount": 250
}
]
}