Column chart: prepareDataFunction
Integration with Highcharts
by Flexmonster Pivot Table
HTML
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<script src="https://cdn.flexmonster.com/lib/flexmonster.highcharts.js"></script>
<script src="https://code.highcharts.com/12.5.0/highcharts.js"></script>
<script src="https://code.highcharts.com/12.5.0/highcharts-more.js"></script>
<script src="https://code.highcharts.com/12.5.0/modules/accessibility.js"></script>
<div id="pivot-container"></div>
<div id="chartContainer"></div>
CSS
@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);
#chartContainer {
margin: 20px;
}
JavaScript
const pivot = new Flexmonster({
container: "#pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
licenseFilePath: "https://cdn.flexmonster.com/jsfiddle.charts.key",
height: 350,
toolbar: true,
report: {
dataSource: {
filename: "data/region-data.json"
},
slice: {
rows: [
{ uniqueName: "Region" }
],
columns: [
{ uniqueName: "[Measures]" }
],
measures: [
{ uniqueName: "Quantity" },
{ uniqueName: "Price" },
{ uniqueName: "Discount" }
],
}
},
reportcomplete: function() {
pivot.off("reportcomplete");
createColumnWithErrors();
}
});
function applyConfigs(config) {
config.chart.style = {
fontSize: "18px",
fontFamily: "Arial, sans-serif"
};
config.legend = {
enabled: false
}
}
function createColumnWithErrors() {
pivot.highcharts.getData({
slice: {
rows: [{
uniqueName: "Category"
}],
columns: [{
uniqueName: "[Measures]"
}],
measures: [{
uniqueName: "Price",
aggregation: "average"
},
{
uniqueName: "MinPrice",
caption: "Min Price",
calculated: true,
formula: "min('Price')"
},
{
uniqueName: "MaxPrice",
caption: "Max Price",
calculated: true,
formula: "max('Price')"
}
]
},
prepareDataFunction: function(data, options) {
let output = {
chart: {
type: "column"
},
title: {
text: "Price Deviation"
},
subtitle: {
text: "Column chart with error series"
},
xAxis: {
title: {
text: data.meta.r0Name
},
categories: []
},
yAxis: {
title: {
text: data.meta.v0Name
...