sub-title

Also check Orama's Quora and Orama's GitHub
I shall not claim to know so much, but only that I learn new things everyday

Wednesday, 30 December 2020

In comes Jasper Reports for Business Intelligence

In addition to SSRS and BIRT, I have used Jasper Reports for quite a while now, but I have never had a chance to write anything about it. The one constant and good news is that my customers are happy with the implementations.

The most unique thing about my reports is that I have zeroed down to having only three main reports (instead of the traditional long list of reports). I have a list, matrix and charts - yes, these are the only core reports I have. With these three reports, and a highly parameterized implementation, no user requirement is left unanswered. It only takes the user to be adaptive and know how to select the parameters for filtering and grouping. 

I even parameterized the report SQL group by! The Group By clauses in my SQL queries have:

... group by $P{ParamenetName}

rather than:

... group by FieldName

I find the above approach very elegant and versatile, but of course it also introduces some level of complexity in implementation. For instance, it is challenging (but not impossible) to drill down on charts that have been grouped using parameters. Such drill down is obvious when grouping is done in the conventional way.

Some key advantages of my approach are:

1. Having only three reports instead of tens of reports. I recall back in the day I found a reporting system that had hundreds of reports listed. You would see reports such as: list of customers during the month of May 2015, monthly list of customers, quarterly list of customers, annual list of customers, etc, etc. All these and many more can be implemented as just one report.

2. Maintenance is easy by virtue of having very few reports.

3. It is more exciting and professionally rewarding.

Some disadvantages are:

1. It requires users who are able to appreciate parameterization. In my experience, some users take long to appreciate and believe that they can use only three reports.

2. The programming can get complex, but the tradeoff is that you would be dealing with only a few reports.

3. If you are developing for for money based on hours or work done, a customer may start questioning that you have made only three reports instead of tens or hundreds of similar reports.

For budgetary reasons, I have all along used the Community version of the Jasper Reports. It is a setback to know that you are unable to do several cool features using the Community version. A case in point is the implementation of dashboards. Having said that, my customers are very much satisfied with the reports that they can generate.

So I have set out to try to mimic a dashboard using the Community version of Jasper Reports. Not an easy success story to tell by any means. I am nowhere near where I want the dashboard to go, but given my determination to get these things to work in spite of constraints, I am still on course.

Watch this space to see updates in due course.