IBM Support

BiLog: Identifying Active and Inactive Reports thru Report Usage

Technical Blog Post


BiLog: Identifying Active and Inactive Reports thru Report Usage


During the last week of July, over 800 individuals gathered for IBM Tivoli’s Pulse Conference in Melbourne, Australia.  At the second largest Tivoli Pulse Conference, attendees networked and interacted to learn from IBMers and Business partners on the latest functionality and products and from other attendees on implementation best practices. This blog post has more details: Australian Pulse Conference.

I had the amazing opportunity to present on Maximo Reporting at this conference, and a key topic that came up with a number of clients was on Report Usage.  A number of clients were planning for future Maximo Upgrades, and had goals to reduce the number of custom reports they brought forward to reduce upgrade time frames and costs.   But how can you identify which reports are being actively used by your users, versus which reports are not?

In the 7.x releases, report usage information is available.  This functionality enables you to answer critical questions including:

  • ‘Which reports take the longest to execute?’
  • ‘Who uses this report?  If no one is using it, can it be archived?’
  • ‘Are users taking advantage of the scheduling functionality?  Or are they causing performance constraints by always running reports immediately?’

Monitoring report usage is enabled through the REPORTUSAGELOG database table.  Each time a user executes a report, an entry is made in this table. This data includes when the report request was submitted or scheduled, when it actually executed, how long it took to execute, and what server it was executed on.  This information is vital to answering the questions on report execution and performance above.

The data in the REPORTUSAGLOG Table can be evaluated via a delivered report, called Report Usage (reportusage.rptdesign).  Available from the Report Administration application, it contains report execution details on immediate and scheduled reports, as well as reports accessed via hyperlinks or ad hoc reports.

*NOTE:  The REPORTUSAGECLEANUP cron task determines how long values are kept in the REPORTUSAGELOG table.  By default this value is 30 days, but you can configure to whatever value best meets your individual business needs.

Additionally, you can identify inactive reports by the LASTRUNDATE in the report table.   Using this single, powerful database field, you can quickly form a query in the Report Administration application which can identify for example any reports which have not been executed this year.  For example, the query could be something like…

Where lastrundate is null or lastrundate < '01-01-2011'

 Once you have this query, you have multiple applications in how to analyze the returned results.  These options include: 

  • Viewing the results on the List tab of the Report Administration application
  • Exporting the results to Microsoft Excel through the download button
  • Creating an Ad Hoc, QBR Report using this application query
  • Forming a Result Set from the query, and have key fields display on a portlet within the Start Center. Here's an example:

You could also take the base query and create a variety of KPIs for either Inactive or Active Reports. There are a number of variations that could be created. For example, a YTD Inactive Reports using a query like this:

select count(reportname) from report  where lastrundate is null or lastrundate < '01-01-2011' and userid is null 

which produces a KPI like this: 


The powerful report usage information enables you to focus on the key reports you users use consistently. 

If you would like to see any other report usage information, please post a comment. Thanks!

[{"Business Unit":{"code":"BU055","label":"Cognitive Applications"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB02","label":"AI Applications"}}]