JSFiddle - React, Tailwind, and code Playground

Data source

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

const pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    dataSource: {
      data: getData(),
      mapping: {
        //Set date type
        purchase_date: {
          type: "date string",
        },
      },
    },
    slice: {
      columns: [
        {
          //Filter from February 1st is equivalent to diplaying last two months
          filter: {
            query: { after: "2025-02-01" },
          },
          uniqueName: "purchase_date",
        },
        {
          uniqueName: "[Measures]",
        },
      ],
      measures: [
        {
          aggregation: "sum",
          uniqueName: "purchase_amount",
        },
      ],
      rows: [
        {
          uniqueName: "customer_name",
        },
      ],
    },
  },
})

function getData() {
  return [
    {
      purchase_id: "P001",
      purchase_amount: 100,
      customer_id: "C001",
      customer_name: "John Doe",
      purchase_date: "2025-01-10",
    },
    {
      purchase_id: "P002",
      purchase_amount: 100,
      customer_id: "C001",
      customer_name: "John Doe",
      purchase_date: "2025-02-15",
    },
    {
      purchase_id: "P003",
      purchase_amount: 100,
      customer_id: "C001",
      customer_name: "John Doe",
      purchase_date: "2025-03-05",
    },
    {
      purchase_id: "P004",
      purchase_amount: 100,
      customer_id: "C002",
      customer_name: "Jane Smith",
      purchase_date: "2025-02-25",
    },
    {
      purchase_id: "P005",
      purchase_amount: 100,
      customer_id: "C002",
      customer_name: "Jane Smith",
      purchase_date: "2025-03-12",
    },
    {
      purchase_id: "P006",
      purchase_amount: 100,
      customer_id: "C002",
      customer_name: "Jane Smith",
      purchase_date: "2025-03-02",
    },
    {
      purchase_id: "P007",
      purchase_amount: 100,
      customer_id: "C003",
      customer_name: "Alice Brown",
     ...