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
var pivot = new Flexmonster({
container: "#pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
report: {
dataSource: {
type: "json",
data: getData()
},
slice: {
rows: [{
uniqueName: "Category"
},
{
uniqueName: "Color"
},
{
uniqueName: "Country"
},
{
uniqueName: "Business Type"
}
],
columns: [{
uniqueName: "Destination"
},
{
uniqueName: "[Measures]"
}
],
measures: [{
uniqueName: "Price",
aggregation: "sum"
},
{
uniqueName: "Quantity",
aggregation: "sum"
}
],
expands: {
rows: [{
"tuple": [
"category.[accessories]"
]
},
{
"tuple": [
"category.[accessories]",
"color.[red]"
]
},
{
"tuple": [
"category.[accessories]",
"color.[red]",
"country.[australia]"
]
},
{
"tuple": [
"category.[accessories]",
"color.[yellow]"
]
},
{
"tuple": [
"category.[accessories]",
"color.[yellow]",
"country.[canada]"
]
}
]
}
}
},
width: "100%",
height: 800
});
function getData() {
return [{
"Category": "Accessories",
"Size": "262 oz",
"Color": "red",
"Destination": "Australia",
"Business Type": "Specialty Bike Shop",
"Country": "Australia",
"Price": 174,
"Quantity": 225,
"Discount": 23
}, {
"Category": "Accessories",
"Size": "214 oz",
"Color": "yellow",
"Destination": "Canada",
"Business Type": "Specialty Bike Shop",
"Country": "Canada",
...