Pentaho Google Maps Dashboard Technical Overview

The Pentaho team is excited to update you on Google Maps integration with Pentaho Dashboards. Google Maps provides added value to our members of the Pentaho community wishing to solve problems that have a geographic component to them.

For example, in the following scenario, a sales manager is able to see all customers clustered in the western region with total sales dollars within the thresholds she specified. She can also drill into the sales details for each customer on the map.

Implementing the Pentaho Google Maps Dashboard Integration

The dashboard depicted above is the product of a mash up between Google Maps and Pentaho's business intelligence capabilities. We use a series of Pentaho action sequences, which are instructions to Pentaho's solution engine, to retrieve the western region customer and customer address information. We then use Google's GClientGeocoder class to change our address information into latitude and longitude coordinates. These coordinates are passed to the Google Maps API when the browser's onload() event is fired, and the coordinates are plotted as points on the map.

You'll notice that the points on the map are color coded to represent where the total sales for each customer falls within the user-specified range. This is often referred to as "traffic lighting" your data, and we accomplish this feature using Google Maps API and some simple JavaScript. When the user changes either the upper or lower threshold, the update() script is executed to update the points on the map.

Arguably the most powerful feature is the dashboard's ability to display detailed sales data, in both report and chart form, for each customer point plotted on the map. This is accomplished once again using Pentaho's action sequences, a bit of AJAX and the Google Maps API. When a point on the map is clicked by the user, a chain of events is launched that tells the Pentaho solution engine to retrieve the data for the chosen customer, build a chart to represent the data, build a report to represent the data, and send it all back to the browser to fit in the dashboard layout form. Using AJAX to perform these events makes the dashboard transition seamlessly from one customer to the next, and very speedy since the map is not reloaded with every click on a customer point!

While this description is a simplified explanation of how we built the Pentaho Google Maps Dashboard, it should give you a starting point for exploring the solution and the code yourself. You can download the solution in our open source Pre-configured Installation at

You can also view a recorded demonstration of the sample Pentaho Google Maps Dashboard at

We would love your feedback or to hear other ways you've taken advantage of Pentaho's business intelligence capabilities. Send your comments or questions about this solution to