Popular Post


Saturday, September 17, 2011

BIRT based Control Chart

Recently implementing some solution using IBM TCR I have noticed that one of the default reports in TCR/BIRT is a Control Chart in the classical (SPC) version. Looks like that was one of the requirements for ability to build a consistent reports using TCR/BIRT as it's written here: Tivoli Common Reporting Enablement Guide

So I have built a few TCR reports with control chart against Tivoli performance data and that was somewhat useful.

I believe the IT-Control Chart (see my post about that type of control chart here) would give much more value for analyzing time stamped historical data. Is that possible to build using BIRT?

The BIRT is open source free BI tool (can be downloaded from here). I have downloaded and installed that on my laptop and have built a few reports for one of my customers. One of them was to filter out the exceptionally "bad" objects (servers) using EV criteria (see the linked post here).

Then I have built the IT-Control chart using BIRT. Below is the result: 

Yes, it is possible with some limitation I have noticed in the current version of BIRT report designer. You could see it if you compare that with oher IT-Control Charts I have build using R (See example here), SAS (Example here) or EXCEL (here).

Anyway, could you see how that chart reports pro-actively on an issue?

So it is another way (not to program like in R or SAS and not to make manually like in EXCEL) to build IT-Control charts. After it is built that could be submitted to TCR (or other reporting portals) to be seen/run on a web.


  1. Hi Igor,

    Interesting results. Does BIRT allow you to use multiple time classifiers (e.g. time of day, day of week, time of month) to compute mean, UCL, LCL? Can you compute a reference set?
    I have used reference sets as a stationary short term forecast. If I am looking at the past 4 hours, the present, and the forecast next 4 hours, I can compare the current event - if it shows novelty - to the max/min of the previous hours and forecast hours, to determine if the current novelty event is 'advisory' (for example, it is statistically unusual but lower than the recent maximum or forecast maximum (UCL)) or a 'threat' (higher than nearby LCL/UCLs. This works well for monitoring applications where you want to do some threat assessment of novelty events. I have found that sometimes workloads are shifted in time due to scheduling changes, and thus create novelty that are 'advisory' events rather than 'threats'.

    ~ Tim Browning

  2. Some Tim's questions in the 1st comment are answered in my next post in this blog - http://itrubin.blogspot.com/2011/09/one-example-of-birt-data-cubes-usage.html

    But I like idea to separate 'advisory' events and 'threats'... and will be keeping that in mind. I used to use a non-statistical empirical rules to filter out possible false positives, but that could be also used for having several exception categories to recognize. Thanks Tim!