COGNOiSe.com - The IBM Cognos Community

IBM Cognos 10 Platform => Cognos 10 BI => Report Studio => Topic started by: tequila on 12 Feb 2015 12:09:54 PM

Title: reduce sql queries for optimal report runtime
Post by: tequila on 12 Feb 2015 12:09:54 PM
hello,

i have report with two different crosstab. The crosstab (A and B) have the same data elements (a,b,c,d,e,f...n).
The only difference is one crosstab (A) has month filter (query 1, january) and the other crosstab (B) have cumulated year filter (query 2, january, feb,....).

How can i create report with only one data pool (e.g. query 3 or something) with datalements (a,b,c,d,e,f...) for two query 1,2 crosstab A,B to reduce the query to the Database?.

At Moment i think crosstab A send one times to Database and B one times. But when I only have one Datapool for query 1 and 2 I can reduce 50% runtime?

thank for help


Title: Re: reduce sql queries for optimal report runtime
Post by: MFGF on 13 Feb 2015 04:58:47 AM
Quote from: tequila on 12 Feb 2015 12:09:54 PM
hello,

i have report with two different crosstab. The crosstab (A and B) have the same data elements (a,b,c,d,e,f...n).
The only difference is one crosstab (A) has month filter (query 1, january) and the other crosstab (B) have cumulated year filter (query 2, january, feb,....).

How can i create report with only one data pool (e.g. query 3 or something) with datalements (a,b,c,d,e,f...) for two query 1,2 crosstab A,B to reduce the query to the Database?.

At Moment i think crosstab A send one times to Database and B one times. But when I only have one Datapool for query 1 and 2 I can reduce 50% runtime?

thank for help

Every separate reporting object (list, chart, crosstab etc) within a report will result in an individual query being sent to the database. This happens even if they share the same report query (on the Queries tab in Report Studio).

Cheers!

MF.
Title: Re: reduce sql queries for optimal report runtime
Post by: Robl on 16 Feb 2015 05:36:10 AM
You could do something in one query.
You'd set the query to bring back all months.

Then add a measure called JAN like this;
if month = jan then value else 0

Then just use that measure in the January crosstab rather than the normal value.
The summarising should take care of the rest.