Setting query prioritization

You can set parameters that specify how query prioritization works.

When you run a report with prompt controls defined, all parameter information is retrieved, including parameter information defined in the report, the model, and the data source. This is required for data typing and to align capabilities for prompt controls with those of its associated parameter. This operation can impact performance, especially when there are many or complex queries. From the user perspective, it can take too long to present the first prompt page or report page.

To increase speed, report authors can set a query hint in Report Studio to give a query priority in determining parameter information. Queries are prioritized based on where they are used and whether they contain filters. A priority group is the set of queries sharing similar attributes, such as a filter. Instead of retrieving the parameters for all the queries at the same time, parameters for queries with author-defined priority are retrieved first, regardless of how automated query prioritization is set. For more information about parameters, filters, and prompt controls, see the IBM® Cognos® Report Studio User Guide.

Queries are grouped by priority as shown in the following table. When a query group has sub-groups, the first sub-group has priority over the second.

Query group

Priority

Queries with the Use for Parameter Info property set to Yes in Report Studio

1

Queries with defined filters that are not used to populate prompt controls

  • First reference to such queries
  • Subsequent references to such queries

2

Queries with defined filters that are used to populate prompt controls

  • First reference to such queries
  • Subsequent references to such queries

3

Queries with no defined filters that are not used to populate prompt controls

  • First reference to such queries
  • Subsequent references to such queries

4

Queries with no defined filters that are used to populate prompt controls

  • First reference to such queries
  • Subsequent references to such queries

5

To specify a system-wide configuration that defines how queries and query groups are processed, you can assign either a setting value or name to the report server advanced setting, RSVP.PROMPT.RECONCILIATION. This allows you to specify the degree of reconciliation between prompt control capabilities and data type to that of the associated parameter. The setting you choose determines whether reconciliation accuracy or speed is more important. For example, if the report author ensures that parameters are defined with the same datatype and capabilities (i.e., optionality, cardinality, and discreteness), across all queries, specifying CHUNKED or 3 would likely achieve the best performance in the widest variety of situations.

RSVP.PROMPT.RECONCILIATION.CHUNKSIZE lets you specify chunk size. This setting is applicable when you use CHUNKED GROUPED and CHUNKED. The default chunk size is 5.

The report server advanced properties and Report Studio query hints work cooperatively to provide the best performance.

You can use the settings shown in the following table to configure RSVP.PROMPT.RECONCILIATION.

Setting

Name

Purpose

0

COMPLETE

All queries are sent at once. This is the slowest, most accurate form of reconciliation.

This is the default setting.

1

GROUPED

Queries are sent by priority group. This setting works best for reports that have many unfiltered queries and few filtered queries. It provides medium speed and high reconciliation accuracy.

2

CHUNKED GROUPED

Queries are sent by priority group with a maximum number per request. The queries do not span groups. This setting works best on reports that have many queries with similar filter expressions. It provides maximum speed and low reconciliation accuracy.

3

CHUNKED

Queries are sent by priority group with a maximum number per request. The queries can span groups.

Before you begin

You must have the required permissions to access IBM Cognos Administration Secured Functions and Features.

Procedure

  1. Follow the steps in the section Configuring advanced settings for specific services.
  2. For the Report service, in the Parameter column, type one of the parameter names described in this section.
  3. In the Value column, type a value associated with the setting.
  4. Optional: If required, continue typing other settings and values.
  5. Click OK.
  6. Repeat the same steps for the BatchReportService.