jueves, 14 de febrero de 2008

Mondrian at last

Finally I did something in production using Mondrian. For those who don't know what it is, Mondrian is an open source rolap server written in Java. What is the purpose of OLAP? analyze information or measures across different dimensions. So, if you want to use Mondrian, you should follow the dimensional modeling principles in your db design and then build a XML document that maps dimensions and fact tables into the relational entity model. Here you can see some screenshots of Jpivot+Mondrian (Jpivot is a web UI for mondrian)

I did a couple of cubes in order to calculate the Payback of the BTS (base stations) of the mobile network. The payback is the capex of the bts divided by the cash flow that the station generates. I have two cubes one for traffic and revenue and one for the capex costs, also I have three dimensions: geographic, date and type of coverage. With those two cubes I made a virtual cube for the payback calculated measure.

On the top of the cubes you write the MDX (kinda SQL for Multidimensional analysis) for each report. MDX imho is an awesome expression language that lets you write many differents analysis,

The user's response to this app was great althought Jpivot is a little bit oldie...Anyway if you plan to build a data warehouse using open source software and you'd like to have this nice feature read more deeply about Mondrian.

2 comentarios:

Patrick dijo...

Hello Andres,

Nice job in terms of schema design, but JPivot is really a too-old too-poor interface, even if it is powerfull (technical product are always powerfull)

What about trying FreeAnalysis ? We have a Web2.0 interface, and we are abble to use Mondrian as a Rolap Engine.

Regards,
Patrick

Andrés dijo...

Patrick,

Indeed JPivot is an old poor interface...and is complex for the end user...I downloaded a little couple of months ago FreeAnalysis and played with it...is a good web2.0 interface but I thing there are still much further work.

Have you checked Halogen?