Friday 28 March 2014

Inter Panel Communication in Jasper Dashboard by passing parameter from one panel to other panel OR Drill down frames with in Single Dashboard page by passing parameter(s)

Hi Guys,
Jasper by default doesn't provide drill down functionality with in the frames on dashboard.
Here is way how to achieve this functionality.

R&D links from Jasper Community 


1) http://community.jaspersoft.com/questions/537996/drill-down-reports

2) http://community.jaspersoft.com/questions/537752/materials-dashboardmashboard-webinar

3) community-static.jaspersoft.com/sites/default/files/questions/webinar_extending_dashboards_20110308.pdf

4) http://community.jaspersoft.com/wiki/creating-interactive-dashboards-using-javascript


Example :
Report 1: Displaying a pie chart with parameter (parameters : gender)
Report 2: Details of each slice of pie chart in bar chart (parameters : gender, states)


Environment :
Jasper Server 5.5 pro
iReport : 5.5 pro
Database : Postgresql foodmart

Functionality :
Let's say your input control is 'F' for gender in report 1 and when you click on state CA slice of pie chart then the Report 2 should catch the gender and state parameters from Report 1 and display the data next to this report.
i.e., Drilling down the reports in single dashboard page with parameters passing.
Technique of using contentFrame_frame_2 as Hyperlink target with Report Execution as Hyperlink Type.

Report 1 Query :
SELECT distinct
state_province,
sum(unit_sales)
FROM customer c,
sales_fact_1997 sf7
where c.customer_id=sf7.customer_id and gender=$P{gender}
group by state_province

Report 1 Pie Chart Hyperlink properties
Hyperlink target : contentFrame_frame_2
Hyperlink type : ReportExecution

_report "/Sadha/Test/IPC2"
gender $P{gender}
state $F{state_province}
viewAsDashboardFrame "true"

Images for Report-1







Report 2 Query :
SELECT distinct city,sum(total_children) from customer where gender=$P{gender} and state_province=$P{state} group by city


Report 2 Sample Image


Dashboard Final Output:


NOTE:
1) No need of adding any js code as given in the link.
2) Just need to write "Hyperlink target"=contentFrame_frame_2
3) Hide the parameters where ever required. i.e., Un check visible. 



2 comments:

  1. Please provide sample file for reference

    ReplyDelete
  2. We tried the same steps as mentioned above but the second report is not affecting in the same page. Instead the second report is opening in the new tab.

    ReplyDelete