Flexmonster Demo - 2.2 naming of hierarchies and members

by Iryna Kulchytska

HTML

<script src="https://s3.amazonaws.com/flexmonster/2.2/flexmonster.js"></script>
<button onclick="setFilter('city', ['Toronto'])">Set Filter</button>
<div id="pivot-content"></div>

JavaScript

var jsondata = [{
    "Color": "green",
    "M": "September",
    "W": "Wed",
    "country": "Canada",
    "state": "Ontario",
    "city": "Toronto",
    "Price": 174,
    "Quantity": 22
  }, {
    "Color": "red",
    "M": "March",
    "W": "Mon",
    "Time": "1000",
    "country": "USA",
    "state": "California",
    "city": "Los Angeles",
    "Price": null,
    "Quantity": 19
  }];

var report = {
  configuratorActive: false,
  data: jsondata,
  rows: [{uniqueName: "Color"}],
  columns: [{uniqueName: "[Measures]"}],
  measures: [{uniqueName: "Price"}, {uniqueName: "Quantity"}],
  formats: [{name: "", nullValue: "blank"}]
};

report.licenseKey = "Z53G-1T1WC3-1V1M-0L12-2M0A-1233-1I0Y-2Y2Q-1903-322S-0T2C-1I";

function setFilter(field, values) {
  flexmonster.setFilter(field, values.map(v => field + '.[' + v + ']'));

  var slice = {
    pages: flexmonster.getPages(),
    rows: flexmonster.getRows(),
    columns: flexmonster.getColumns(),
    measures: flexmonster.getMeasures()
  };

  slice.pages.push({
    uniqueName: field
  });
  flexmonster.runQuery(slice);
  flexmonster.refresh();
}

flexmonster.embedPivotComponent("https://s3.amazonaws.com/flexmonster/2.2/", "pivot-content", "100%", "600", report, true);