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",
...