Tuesday, September 4, 2012

How to burst complicated reports with multiple parameters without using SDK

Context
A complicated report is built with multiple pages, and each page with different parameters. It is requested to generate different report files (most of times PDF) for different parameters. Usually, these parameters combination are given from business, which can be more than 10 columns with dynamic data such as date. One way to generate such report is to use SDK to dynamically generate one job for each combination of all parameters, and run the generated job and then delivery all report PDFs.  This document is to document a method using burst.

For the sake of explanation, three parameters and three combinations below are used to demonstrate this idea.

Region
Product Line
Order Method Type
File Name
AmericasCamping EquipmentFaxAmericas-Camping Equipment-Fax
AmericasCamping EquipmentAmericas-Camping Equipment
AmericasAmericas


Please download report specification for review in detail.


Implementation detail


Step 1 Create Burst query




Region
ProductLine
OrderMethodType
FileName
AmericasCamping EquipmentFaxAmericas-Camping Equipment-Fax
AmericasCamping EquipmentnoneAmericas-Camping Equipment
AmericasnonenoneAmericas


The parameters table can be directly retrieved from database, or generated based on some logic. The bottom line is to get all these parameter combinations into a query.

From this parameters query, you can get a real burst query




Use running count as burst key
Burst query result

Step 2 Assign this query to both burst option and page level query

Step 3 Assign master – detail relationship between page level and data container

For data container, such as list, parameters are needed to be defined as optional, and can handle situation when parameters are not given


Step 4 result
Burst reports


Burst file

1 comment:

  1. Hi Charles,
    can you post some idea to burst a crosstab report,many thanks in advance.

    ReplyDelete