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: {
      data: getData(),
      mapping: {
        "Color": {
          "type": "string"
        },
        "M": {
          "type": "month",
          "caption": "Month"
        },
        "W": {
          "type": "weekday",
          "caption": "Week Day"
        },
        "Country": {
          "type": "level",
          "hierarchy": "Geography",
          "level": "Country"
        },
        "State": {
          "type": "level",
          "hierarchy": "Geography",
          "level": "State",
          "parent": "Country"
        },
        "City": {
          "type": "level",
          "hierarchy": "Geography",
          "parent": "State"
        },
        "Price": {
          "type": "number"
        },
        "Quantity": {
          "type": "number"
        },
        "Date": {
          "type": "year/quarter/month/day"
        }
      }
    },
    "slice": {
      "rows": [{
        "uniqueName": "Color"
      }],
      "columns": [{
          "uniqueName": "[Measures]"
        },
        {
          "uniqueName": "Date",
          "levelName": "Date.Quarter",
          "filter": {
            "members": [
              "date.[2019].[quarter 1]",
              "date.[2019].[quarter 2]"
            ]
          }
        }
      ],
      "measures": [{
        "uniqueName": "Price",
        "aggregation": "sum"
      }]
    }
  }
});

function getData() {
  return [{
      "Color": "green",
      "M": "September",
      "W": "Wed",
      "Country": "Canada",
      "State": "Ontario",
      "City": "Toronto",
      "Price": 174,
      "Quantity": 22,
      "Date": "2016-03-20"
    },
    {
      "Color": "red",
      "M": "March",
      "W": "Mon",
      "Country": "USA",
      "State": "California",
      "City": "Los Angeles",
      "Price": 1664,
      "Quantity": 19,
      "Date": "2017-03-20"
   ...