Tuesday, July 6, 2010

Bursting Explained - Part II

Link to Part I, Part III.

Scenario 2: A single Burst Group and Burst Recipient Query but multiple report queries.

In this case the report has multiple queries. The burst group and burst recipient information is fed by a single query.

Example: Burst a Sales report that has 2 lists based on Sales Regions and make the report available to users through Cognos Connection Directories.

RecipientQuery (Master Query) - Sales Region, Recipient

ListQuery1 (List Query 1) - Year, Sales Region, Revenue

ListQuery2 (List Query 2) - Year, Sales Region, Sales Target

You would need to create master-detail relationships between the Master Query and the 2 List queries. The Burst Group and Recipient query would be the master query.

In the above example, since the burst group and burst recipient is sourced from a single query, this query is run once before the start of bursting process. Then for each record retrieved by the burst query the detail queries are fired once each.

Say we have 100 sales regions. The master query is fired once and the 100 records are retrieved. Then for each Sales region the 2 detail queries are fired. So you would see a total of 2 * 100 queries fired against the DB in sequence.

It is in the above scenario that you would see the entire burst process taking time to complete. Assume each report output is generated in 1 minute. The entire burst process in the above example is completed in 100 minutes and that is like more than an hour.



Anonymous said...

Just to clarify this post for multi-query bursting;

You need to create a list and make the query assigned to your burst and recip query.

Then nest inside the blank list you actual report query. Create a master detail from the burst and recip query to your report query. Do this for any other queries on your report pages.


mohan.kumaresan@yahoo.com said...

Need to know is there any Portal for cognos thru java sdk.

Zephyr said...

Hi Mohan, I may need to know more about the requirement to answer that.

Anonymous said...

Shouldn't this generate 200 (2*100) queries,instead of 100?
Shouldn't this report will take more than 3 hrs to run?

Zephyr said...

Hello, yes it is a total of 2 * 100 queries as mentioned in the article. But its a total of 100 report outputs. The time component of 1 minute mentioned is for the report output and is not the query time taken. So in totality it takes 100 minutes for the entire burst process.

Let me know if this helps.

Anonymous said...

Actually there are 3 queries in the report