API calls to add, get or remove calculated measures
Calculated measures
by Ravi A
HTML
<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<button onclick="addCalculatedMeasure()">Add Calculated Measure</button>
<!-- <button onclick="getMeasures()">Get Measures</button>
<button onclick="getAllMeasures()">Get All Measures</button>
<button onclick="removeCalculatedMeasure()">Remove Calculated Measure</button>
<button onclick="removeAllCalculatedMeasures()">Remove All Calculated Measures</button> -->
<div id="pivot-container">The component will appear here</div>
JavaScript
var pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
report: {
dataSource: {
data: getData()
}
}
});
function addCalculatedMeasure() {
var measure = {
formula: 'sum("Quantity")/count("Quantity")',
uniqueName: "Average Quantity",
caption: "Average Quantity",
grandTotalCaption: "Average Quantity",
active: true
};
pivot.addCalculatedMeasure(measure);
var pmes=pivot.getReport();
pmes['slice']['measures'].push(measure);
pivot.setReport(pmes);
}
function getMeasures() {
console.log(pivot.getMeasures());
}
function getAllMeasures() {
console.log(pivot.getAllMeasures());
}
function removeCalculatedMeasure() {
var measureName = "Average Quantity";
pivot.removeCalculatedMeasure(measureName);
}
function removeAllCalculatedMeasures() {
pivot.removeAllCalculatedMeasures();
}
function getData() {
return [{
"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": 1664,
"Quantity": 19
}, {
"Color": "red",
"M": "January",
"W": "Mon",
"Country": "Canada",
"State": "Quebec",
"City": "Montreal",
"Price": 1190,
"Quantity": 292
}, {
"Color": "green",
"D": "04/08/2014",
"M": "August",
"W": "Fri",
"Time": "1000",
"Country": "USA",
"State": "California",
"City": "Los Angeles",
"Price": 1222,
"Quantity": 730
}, {
"Color": "white",
"M": "March",
"W": "Wed",
"Country": "USA",
"State": "California",
"City": "Los Angeles",
"Price": 7941,
"Quantity": 73
}, {
"Color": "red",
"M": "August",
"W": "Wed",
"Country": "Canada",
"State": "Ontario",
...