JSFiddle - React, Tailwind, and code Playground

Data source

by Flexmonster Pivot Table

HTML

<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/",
  height: 400,
  report: {
    dataSource: {
      data: getData(),
      mapping: {
        "Country": {
          hierarchy: "Geography",
        },
        "State": {
          hierarchy: "Geography",
          parent: "Country"
        },
        "City": {
          hierarchy: "Geography",
          parent: "State"
        }
      }
    },
    slice: {
      rows:[{uniqueName:"Color"}],
      columns: [{
        uniqueName: "[Geography]",
        levelName: "State"
      }],
      measures: [{
        uniqueName: "Price",
        aggregation: "sum"
      }]
    }
  }
});

function getData() {
  return [{
      "Color": "red",
      "Country": "Canada",
      "State": "Ontario",
      "City": "Toronto",
      "Price": 174
    },
    {
      "Color": "blue",
      "Country": "USA",
      "State": "California",
      "City": "Los Angeles",
      "Price": 166
    },
    {
      "Color": "green",
      "Country": "USA",
      "State": "New York",
      "City": "New York",
      "Price": 186
    }
  ];
}