JSFiddle - React, Tailwind, and code Playground

by Flexmonster Pivot Table

HTML

<link rel="stylesheet" type="text/css" href="https://cdn.flexmonster.com/theme/orange/flexmonster.min.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: {
      data: getData(),
    },
    slice: {
      rows: [{
          uniqueName: "Color"
        },
        {
          uniqueName: "City"
        },
        {
          uniqueName: "[Measures]"
        }
      ],
      columns: [{
        uniqueName: "Country"
      }, ],
      measures: [{
          uniqueName: "Price",
          aggregation: "sum",
          active: false,
        },
        {
          uniqueName: "City",
          aggregation: "distinct count",
          active: true,
        },
        {
          uniqueName: "City Code",
          aggregation: "distinct count",
          active: true,
        },
        {
          uniqueName: "City Distinct Count",
          formula: "distinctcount(\"City Code\")",
          caption: "City Distinct Count"
        },
      ],
      expands: {
        expandAll: false,
        rows: [{
          tuple: [
            "color.[green]"
          ]
        }, ]
      }
    }
  }
});

function getData() {
  return [
    [
      "Color",
      "Country",
      "State",
      "City",
      "City Code",
      "Price",
      "Quantity"
    ],
    ["green", "Canada", "Ontario", "Toronto", 'CA-ON-TOR', 174, 22],
    ["blue", "Canada", "Ontario", "London", 'CA-ON-LON', 174, 22],
    ["red", "USA", "California", "Los Angeles", 'US-CA-LA', 166, 19],
    ["yellow", "England", "London", "London", 'UK-EN-LON', 174, 22],
    ["green", "France", "Ile-de-France", "Paris", 'FR-IDF-PAR', 174, 22],
    ["green", "USA", "Texas", "Paris", 'US-TX-PAR', 174, 22],
    ["yellow", "Canada", "Quebec", "Montreal", 'CA-QC-MTL', 174, 22],
  ];
}