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

new Flexmonster({
  container: "#pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  width: "100%",
  height: 550,
  toolbar: true,
  report: {
    "dataSource": {
      "type": "json",
      "data": getData(),
      "mapping": {
        "Instrument Provider": {
          "type": "string"
        },
        "Instrument Category": {
          "type": "string"
        },
        "Value": {
          "type": "number"
        }
      }
    },
    "slice": {
      "rows": [{
          "uniqueName": "Instrument Provider"
        },
        {
          "uniqueName": "Instrument Category"
        }
      ],
      "columns": [{
        "uniqueName": "[Measures]"
      }],
      "measures": [{
        "uniqueName": "Value",
        "aggregation": "sum"
      }]
    },
    "options": {
      "grid": {
        "type": "flat"
      }
    }
  }
});

function getData() {
  return [{
      "Instrument Provider": "TTS",
      "Instrument Category": "360",
      "Value": 2
    },
    {
      "Instrument Provider": "Cut-e",
      "Instrument Category": "Ability",
      "Value": 3
    },
    {
      "Instrument Provider": "Cut-e",
      "Instrument Category": "Ability",
      "Value": 4
    }
  ]
}