Monday, January 29, 2007


Hi and welcome to my weblog about my experience with Cognos Business Intelligence!

I am a Netherlands-based consultant (ranging from development to project management) using Cognos Business Intelligence technology. My goal is to satisfy customers and users in their business intelligence needs by providing them with powerful, easy-to-use custom-built applications. Cognos provides flexible and powerful tools that enable me and my colleagues to develop the applications needed by managers and analysts in companies anywhere in the Netherlands.

Cognos plays an important role in my professional career. Though not having been employed by the Cognos company itself but through the Cognos Partnership from Inter Access, I have been involved in using Cognos products from 1989 onwards - first 4GL PowerHouse, from 1996 BI-tools like PowerPlay and Impromptu, a bit of Planning, and since 2003, SOA-based business intelligence platforms like ReportNet and Cognos 8 Business Intelligence.

The goal of this weblog is to share my long time experience with you. I hope it will be useful to you and look forward to your comments!

Disclaimer - All the information in this blog is my personal view, and not necessarily the view of neither Inter Access BV nor Cognos Inc. All products mentioned are trademark Cognos Inc. unless mentioned otherwise.


Anonymous said...

Marc, Do you know how to set the selected value of a list prompt using the in-coming, passed parameter value?

Marc van Waardenburg said...

To set the selected value of a list prompt using the incoming, passed parameter value you could do this:

1) create a filter in the prompt query using the parameter passed on by the calling report (this would reduce the selected prompt values to the parameter passed)
2) modify the JavaScript so that only this value is selected (i.e. the second list item):

< script type="text/javascript">
function init()
(document.formWarpRequest._oLstChoicesPeriode.options[2].selected == false)
document.formWarpRequest._oLstChoicesPeriode.options[2].selected = true;
< body onLoad=init()>

Anonymous said...

Hi Marc, do you know of any limitations of using stored procedure query subject? I am concerned about the performance when multiple users will access that query subject for their reporting. Any help is greatly appreciated! Thanks.

Marc van Waardenburg said...


I don't expect any other limitations than usual. You should compare this usage of Cognos BI with stored procedures just like any other (web) application using stored procedures, which I think is quite good practice in that area.

Maybe you should consider any security risks though, as Cognos now needs to use a database user that must have extended rights to execute stored procedures, in addition to selecting data from tables.

Anonymous said...

Hi Marc,

Would you happen to know if there's a way to set crosstab members based on parameters for dimensional data? For example, we have a Sales query subject with Region and Branch data items. We are able to determine the report user's level (Region Manager or Branch Manager) based on their UserName. If the user is a Region Manager, the crosstab member should be the set of branches for that region. If the user is a Branch Manager, the crosstab member should be the set of employess for that branch.

Can this be done? Thanks!

Marc said...
This comment has been removed by the author.
Marc said...

I would try to use an if..then..else construction in the Data Item expression, however this may or may not work....

Anyone else having a better suggestion?

Anonymous said...

I need to create conditional palette for stacked bar chart. The conditional palette should affect only one series. I defined conditional string variable: If ([Query3].[CH]>0 ) then ('Red') else ('Green'). Next I defined Conditional Palette to set palette colors to Red and Green. The issue I have is following: the color is applied to the entire bar. I need to get result where only [CH] part of bar will be Green or Red depended on condition and other series should be unchanged. It looks like that this operation can be done only on a single set of series. It ignores multiple series. Please let me know if you have solution for my issue. Thanks.