CSV mapping example

Mapping configuration

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<button onclick="setReport()">Set Report</button>

<div id="pivot-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

let pivot = new Flexmonster({
  container: "#pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  height: 430,
  toolbar: true,
  report: {
    dataSource: {
      data: [{"Order ID": '111', "Quantity": 222}],
      type: "json",
      mapping: {
        "Order ID": {
          type: "string"
        },
        "Quantity": {
          type: "number"
        }
      }
    },
    slice: {
      rows: [
        {
          uniqueName: "Order ID"
        }
      ],
      columns: [
        {
          uniqueName: "[Measures]"
        }
      ],
      measures: [
        {
          uniqueName: "Quantity",
          aggregation: "sum"
        }
      ]
    }
  }
});

function setReport() {
  let report = {
    dataSource: {
      data: [{"Order ID": '111', "Quantity": 222}],
      type: "json",
      mapping: {
        "Order ID": {
          type: "string"
        },
        "Quantity": {
          type: "number"
        },
        aggregations: {
          number: [ "sum", "average" ],
          date: [ "max", "min" ],
          string: [ "count", "distinctcount" ]
        }
      }
    },
    slice: {
      rows: [
        {
          uniqueName: "Order ID"
        }
      ],
      columns: [
        {
          uniqueName: "[Measures]"
        }
      ],
      measures: [
        {
          uniqueName: "Quantity",
          aggregation: "sum"
        }
      ]
    }
  }
  pivot.setReport(report);
}