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

let pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    dataSource: {
      data: getData()
    },
    options: {
      caseSensitiveMembers: true,
    },
    slice: {
      rows: [{
        uniqueName: "Country"
      }],
      columns: [{
        uniqueName: "[Measures]"
      }],
      measures: [{
        uniqueName: "Price"
      }]
    }
  }
});


function getData() {
  return [{
      "Category": "Accessories",
      "Country": "Australia",
      "Price": 174,
      "Quantity": 225,
      "Discount": 23
    },
    {
      "Category": "Accessories",
      "Country": "AUSTRALIA",
      "Price": 502,
      "Quantity": 90,
      "Discount": 17
    },
    {
      "Category": "Accessories",
      "Country": "France",
      "Price": 242,
      "Quantity": 855,
      "Discount": 37
    },
    {
      "Category": "Accessories",
      "Country": "FRANCE",
      "Price": 102,
      "Quantity": 897,
      "Discount": 42
    },
    {
      "Category": "Accessories",
      "Country": "Germany",
      "Price": 126,
      "Quantity": 115,
      "Discount": 44
    },
    {
      "Category": "Accessories",
      "Country": "GERMANY",
      "Price": 1246,
      "Quantity": 88,
      "Discount": 47
    },
    {
      "Category": "Accessories",
      "Country": "Australia",
      "Price": 680,
      "Quantity": 66,
      "Discount": 80
    },
    {
      "Category": "Accessories",
      "Country": "Canada",
      "Price": 1241,
      "Quantity": 939,
      "Discount": 66
    },
    {
      "Category": "Accessories",
      "Country": "Canada",
      "Price": 1241,
      "Quantity": 939,
      "Discount": 66
    },
    {
      "Category": "Accessories",
      "Country": "France",
      "Price": 150,
      "Quantity": 67,
      "Discount": 30
    },
    {
      "Category": "Accessories",
      "Country": "Germany",
      "Price": 244,
      "Quantity": 963,
      "Discount": 22
    },
    {
...