Home
Analytics
How to bind datacube data to a highcharts heat map in a custom visualisation?
Peter W
<p>Hi there.<br><br>
I have some time series data with measurement values that are organised in a data cube.<br>
I would like to use the highchart heatmap in a custom visualization to visualize this data cube.<br>
Moreover, I would like to drill up/down along the time levels.<br><br>
How can I achieve the data binding at all?<br><br>
The actuate.XTabAnalyzer class always seems to require an html viewer.<br>
I have found no JSAPI functions to access the underlying cube data without using the html viewer.<br><br>
Is there a way to access the cube data and feed it into a custom visualization such as the heatmap without displaying the viewer?<br><br>
If I cannot use the actuate.xtabanalyzer.Driller class: How can I drill up/down the datacube dimensions ?<br><br>
Some design advice is appreciated.Of course, some example report would be even better.</p>
<p> </p>
<p>I am using BIRT 3.1 with Actuate Java Components as a runtime.<br>
</p>
<p>Thanks, Peter</p>
Find more posts tagged with
Comments
Peter W
<p>Hi there,</p>
<p> </p>
<p>eventually, it was sufficient for me</p>
<ol><li>to work with a standard BIRT scatter chart (instead of the heat map)</li>
<li>to take the primary collection of the data cube</li>
<li>to use the standard aggregation features for charts with time categories in combination with a before factory trigger.</li>
</ol><p>Using the before factory trigger with a report parameter for the desired aggregation interval allowed me to dynamically change the aggregation level as originally intended with the drill down/up mechanism of the data cube.</p>
<p> </p>
<p>Rgds. Peter</p>
<p> </p>
<p>before factory trigger:<br>
importPackage(Packages.org.eclipse.birt.chart.model);<br>
importPackage(Packages.org.eclipse.birt.chart.model.attribute);<br><br>
rptDesignHandle = reportContext.getReportRunnable().designHandle.getDesignHandle();<br>
chart = rptDesignHandle.findElement("mongochart");<br>
item = chart.getReportItem();<br>
cm = item.getProperty("chart.instance");<br><br>
xAxis = cm.getAxes().get(0);<br>
xSeriesDef = xAxis.getSeriesDefinitions().get(0);<br>
xGrouping = xSeriesDef.getGrouping();<br><br>
if (params["Group"].equals("Minutes")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.MINUTES_LITERAL);<br>
} else if (params["Group"].equals("Hours")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.HOURS_LITERAL);<br>
} else if (params["Group"].equals("Days")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.DAYS_LITERAL);<br>
} else if (params["Group"].equals("Weeks")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.WEEKS_LITERAL);<br>
} else if (params["Group"].equals("Months")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.MONTHS_LITERAL);<br>
} else if (params["Group"].equals("Years")) {<br>
xGrouping.setGroupingUnit(GroupingUnitType.YEARS_LITERAL);<br>
}<br><br>
xGrouping.setGroupingInterval(params["Groupintervall"].value);<br>
</p>
rajani_interwove
<p>Hi,</p>
<p> </p>
<p>Can you please send an example report which show binding a data cube to a chart.</p>
<p> </p>
<p>Regards,</p>
<p>rajni</p>