Interactive BIRT Pie Chart with Drill down using Data Cube

I have 3 levels categories in which many items are divided.

Like in level 1 i have a pie chart.. if i click on any slice of that chart it should go to level 2 of that particular slice category and then again to the third level. Everything should happen on same pie chart.

eg.. I have a pie chart which shows number of animals in 2 categories.. i.e. mammals and birds. If i click on mammals it should change pie chart to show number of mammals in herbivorous and carnivorous category.

I my real scenario i made a data set which has all the data through a query. Then i made a data cube having 3 dimensions and a measuring count.

I displayed the 1st level on pie chart but i am unable to move to next level. New to BIRT i am. And I don’t need to jump from one report to other using hyperlinks to other report.. Everything is happening in same report.

I am using: Actuate BIRT Designer Professional Version: 4.4.0

Answer

This can be achieved by using a drill-through hyperlink. A drill-through does not necessarily jump to another report: it is definitely possible to drill to the same report, and set a report parameter controlling the dimension level.

A straight solution is to design three charts (one per level) based on the same datacube, and make use of a report parameter to keep only the chart of the current level. This allows to optimize chart views for each level: change the title, legends, chart type, font size etc.

There are a couple of ways to disable / enable a chart from a report parameter, the most efficient is to drop it by script in beforeFactory such below. Visit this topic

var design=reportContext.getDesignHandle();

if (params["level"].value!="1"){
    design.findElement("chartLevel1").drop();
}
if (params["level"].value!="2"){
    design.findElement("chartLevel2").drop();
}
if (params["level"].value!="3"){
    design.findElement("chartLevel3").drop();
}

Leave a Reply

Your email address will not be published. Required fields are marked *