Thursday, April 29, 2010

DevExpress ASPxPivotGrid

Lately I've been developing a reporting module for a web application used by our customers. This reporting module is still in very early stages, but it has the basic elements you would expect in a reporting tool: parameterized standard reports, ad-hoc reports, dashboards and charting. Of course, because it is part of our application and not an external service like SSRS, integration with other modules is very tight. For example, reporting can read other modules' settings and customizations and behave accordingly. This helps a lot in creating customer-specific reports without duplicating report code.

In this project I've been using technologies I've written about before: FusionCharts Free, jQuery, Telerik RadControls and Telerik Reporting. These technologies work fine in their respective domains. FusionCharts is great for dashboard visualizations, it has cool animated charts and drill-down support. jQuery is used everywhere in the UI, but not that much on the reporting itself. Telerik RadControls suite is used mostly in the navigation and report filtering controls. And there are a handful of Telerik Reporting reports used by some of our customers.

But the most interesting thing here is the ad-hoc reporting component: DevExpress ASPxPivotGrid.



ASPxPivotGrid is an ASP.NET component for creating crosstabs dynamically from relational or OLAP datasources. It is essentially what is known as a cube browser in the industry. But undoubtedly, a lot more people would call it a "pivot table" just because Excel has a similar functionality. Pretty soon, analysts will be introduced to the new PowerPivot tool. This means that the word "pivot" is destined to become, if not a household name, then at least a corporate buzzword. In my opinion, pivoting live data definitely has spreadsheet-level implications if done right. "Right" means multiple things here: data quality, general availability, high usabilitity, performance, developer support and enterprise-level security, to name a few.

DevExpress has done a lot of things right with PivotGrid. Web platform is even more generally available than Excel. Usability seems good enough, since our users pick up the necessary skills during demo meetings. Charting and drill-down are relatively easy to integrate. Performance is decent for a web control, but sure you can kill your server and browser with data. There is no built-in security, which is understandable for an ASP.NET control. This means that visibility of data is managed by the developer. Localization and theming are harder than they should, though. I'm used to the simplicity found in localizing and theming Telerik controls, even if they do not follow Microsoft's recommendations strictly.

But the most important thing is something I should stress more. After talks with our customers, it became clear that most business value was created by pivoting and integrated charting. No doubt, we showed them everything, but OLAP-style pivoting and instant integrated charts made a lasting impression.


From the developer's perspective, pivot tables are also the easiest tools in the long run, since you get customizations out of the box, which would require a lot of work in static reports.

There is lot more to say about web-based pivoting. In the next week or so, I'll talk more about the key issue of web-based ad hoc reporting: performance.

-mika-

0 comments: