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/",
  width: "100%",
  height: 600,
  toolbar: true,
	report: {
		dataSource: {
			type: "microsoft analysis services",

			/* URL to msmdpump.dll */
			proxyUrl: "https://olap.flexmonster.com/olap/msmdpump.dll",

			/* Catalog name */
			catalog: "Adventure Works DW Standard Edition",

			/* Cube name */
			cube: "Adventure Works"
		},
    "slice": {
        "rows": [
            {
                "uniqueName": "[Geography].[Geography]",
                "sort": "asc"
            }
        ],
        "columns": [
            {
                "uniqueName": "[Product].[Category]",
                "sort": "asc"
            },
            {
                "uniqueName": "[Measures]"
            }
        ],
        "measures": [
            {
                "uniqueName": "[Measures].[Reseller Order Count]",
                "aggregation": "none",
                "active": true
            },
            {
                "uniqueName": "[Measures].[Discount Amount]",
                "aggregation": "none",
                "active": true
            }
        ]
    }
	},
  beforetoolbarcreated: customizeToolbar
});


function customizeToolbar(toolbar) {
    // get all tabs
    var tabs = toolbar.getTabs();
    toolbar.getTabs = function () {
        var connectToOLAPoption = tabs[0].menu[4];
        var connectToDatabase = {
            id: "fm-tab-connectToDB",
            title: "Connect To DB",
            handler: () => {
               pivot.connectTo(
                 {
                    type: "csv",
                    filename:  "https://cdn.flexmonster.com/data/data.csv"
                 }
               );            
               pivot.showCharts("bar");
            },
            icon: this.icons.connect
        };
        var menu = [connectToOLAPoption, connectToDatabase];
        tabs[0].menu = menu;
        return tabs;
    }
}