Saturday, February 14, 2015
Toggle between two Divs for Pentaho CDE Charts
This post will cover the toggling among the charts.
i.e., Share one place holder for multiple charts by providing a link or a button.
Example developed on :
C-Tools of 14.07.29, foodmart of postgresql, pentaho 5.0.1 CE stable.
Step 1 : Layout section.
1) Save the dashboard in bootstrap mode.
2) Row ->Column->Html
In Html write below code :
<p><a href="#" id="link">Show B</a></p>
<div id="a"></div>
<div id="b"></div>
<script type="text/javascript">
var $divA = $(#a),
$divB = $(#b),
$link = $(#link);
// Initialize everything
$link.text( Pie );
$divA.hide();
$link.click(function(){
// If A is visible when the link is clicked
// you need to hide A and show B
if( $divA.is( :visible ) ){
$link.text( Pie );
$divA.hide();
$divB.show();
} else {
$link.text( Bar );
$divA.show();
$divB.hide();
}
return false;
});
</script>
Step 2: Data Sources section
1) Give all the connection details.
Name : query1
URL : jdbc:postgresql://localhost:5432/foodmart
Driver : org.postgresql.Driver
Username/Password : postgres/postgres
Query :
SELECT * FROM
(
SELECT
DISTINCT brand_name AS "Brand Name",
SUM(unit_sales) AS "Sales"
FROM product p
INNER JOIN sales_fact_1997 sf7
ON p.product_id=sf7.product_id
INNER JOIN time_by_day t
ON sf7.time_id=t.time_id
WHERE
(
to_char(t.the_date,YYYY-MM-DD)>=2012-01-01
AND
to_char(t.the_date,YYYY-MM-DD)<=2012-01-07
)
GROUP BY "Brand Name"
ORDER BY SUM(unit_sales) DESC
limit 5
)table1
Step 3 : Components section
1) Take pie chart & bar chart.
2) Set all the properties like name, htmlObject (for pie take "a" as htmlObject and for bar chart "b" as htmlObject).
3) Save your dashboard and see the preview.
Sample output:
Image 1 : Pie Chart.
Image 2 : Perform click action on Pie you will get bar chart in place of pie chart that means you are toggling b/w two chart (i.e., Single place holder is sharing by two charts and the logic of two divs applied for CDE charts).
Download example here : Click Me
References :
1) http://jsfiddle.net/QAxgD/
2) http://stackoverflow.com/questions/18110320/toggle-between-two-divs
3) http://forums.pentaho.com/showthread.php?170449-How-To-Toaggle-Between-Chart-amp-Grid
i.e., Share one place holder for multiple charts by providing a link or a button.
Example developed on :
C-Tools of 14.07.29, foodmart of postgresql, pentaho 5.0.1 CE stable.
Step 1 : Layout section.
1) Save the dashboard in bootstrap mode.
2) Row ->Column->Html
In Html write below code :
<p><a href="#" id="link">Show B</a></p>
<div id="a"></div>
<div id="b"></div>
<script type="text/javascript">
var $divA = $(#a),
$divB = $(#b),
$link = $(#link);
// Initialize everything
$link.text( Pie );
$divA.hide();
$link.click(function(){
// If A is visible when the link is clicked
// you need to hide A and show B
if( $divA.is( :visible ) ){
$link.text( Pie );
$divA.hide();
$divB.show();
} else {
$link.text( Bar );
$divA.show();
$divB.hide();
}
return false;
});
</script>
Step 2: Data Sources section
1) Give all the connection details.
Name : query1
URL : jdbc:postgresql://localhost:5432/foodmart
Driver : org.postgresql.Driver
Username/Password : postgres/postgres
Query :
SELECT * FROM
(
SELECT
DISTINCT brand_name AS "Brand Name",
SUM(unit_sales) AS "Sales"
FROM product p
INNER JOIN sales_fact_1997 sf7
ON p.product_id=sf7.product_id
INNER JOIN time_by_day t
ON sf7.time_id=t.time_id
WHERE
(
to_char(t.the_date,YYYY-MM-DD)>=2012-01-01
AND
to_char(t.the_date,YYYY-MM-DD)<=2012-01-07
)
GROUP BY "Brand Name"
ORDER BY SUM(unit_sales) DESC
limit 5
)table1
Step 3 : Components section
1) Take pie chart & bar chart.
2) Set all the properties like name, htmlObject (for pie take "a" as htmlObject and for bar chart "b" as htmlObject).
3) Save your dashboard and see the preview.
Sample output:
Image 1 : Pie Chart.
Image 2 : Perform click action on Pie you will get bar chart in place of pie chart that means you are toggling b/w two chart (i.e., Single place holder is sharing by two charts and the logic of two divs applied for CDE charts).
Download example here : Click Me
References :
1) http://jsfiddle.net/QAxgD/
2) http://stackoverflow.com/questions/18110320/toggle-between-two-divs
3) http://forums.pentaho.com/showthread.php?170449-How-To-Toaggle-Between-Chart-amp-Grid
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.