Monday, August 31, 2009

Extend your charts with Google Visualization Charts

As already a lot of you know, I'm a heavy supporter of the Anychart charting engine, but there are other nice charting solutions as well...

A few weeks ago a customer of us requested a chart which you can replay. My first thought was "hmm that can be tricky", because I didn't know a standard feature of Anychart to do that. I could think about an AJAX solution where we refresh the chart so you could have kind of replay in time of your chart. When we asked the customer the exact requirements he pointed us to Google Visualization and the Motion Charts as what he wanted. When I first saw that I was impressed.


If you speak about timing... Roel blogged a few days ago with his showcase application of Google Visualizations. He made a nice application which shows a lot of the possibilities the Google Visualizations has. Louis-Guillaume also blogged about his implementation of the Google Visualization Organizational tree and Maps some time ago.

For me personally I'll still use Anychart for the normal kind of Charts, Dashboards and Gantt charts, but I would use Google's for Motion and the Organizational charts.


If you look at how Google Visualizations works; it needs some code to tell it what it needs to render and it needs data in a specific format (e.g. JSON). When I talked to Roel about it he said he made a PL/SQL package that creates the JSON string (in Google format) by passing in a select statement. We wondered if his package could be called by anyone on apex.oracle.com, so we did a quick test where my APEX app calls Roel's PL/SQL package and it worked out nicely.
We had to make some small changes because if you want to call packages from other schemas you want it to run with the data in your schema and not necessarily from where the package is compiled into. You can read more about the Definer and Invokers rights model here, but basically you need to use the AUTHID CURRENT_USER to let it work e.g.

CREATE OR REPLACE PROCEDURE runddl (ddl_in in VARCHAR2)
AUTHID CURRENT_USER
I think the visualization industry is very interesting and it seems more and more people are using graphical representations of their data...

1 comment:

Unknown said...

Hi!

I'm using an organizational chart in ApEx and wondering if I could download the library to use my application offline. Do you have any clue?

Emilie