sqlbirtbusiness-intelligenceknowledge-management

Implementing variable sub-headers in BIRT list


How would I create variable sub-headers in a BIRT list..

The original BIRT list is as follows:

Sys_ID | Sys_Name  |  App_ID |  App_Name   
----------------------------------------
S1     | ABR       |  A1     |  ABR: Bim
S1     | ABR       |  A2     |  ABR: Dip
S1     | ABR       |  A3     |  ABR: Saw
S2     | TIP       |  B1     |  TIP: Yop
S2     | TIP       |  B2     |  TIP: gum
S3     | GOO       |  C1     |  GOO: res

I want to implement BIRT to show the following:

Sys_ID | Sys_Name  |  App_ID |  App_Name   
----------------------------------------
S1     | ABR       |         |
S1     | ABR       |  A1     |  ABR: Bim
S1     | ABR       |  A2     |  ABR: Dip
S1     | ABR       |  A3     |  ABR: Saw
S2     | TIP       |
S2     | TIP       |  B1     |  TIP: Yop
S2     | TIP       |  B2     |  TIP: gum
S3     | GOO       |         |
S3     | GOO       |  C1     |  GOO: res

The Sys and App data are all implemented in one BIRT data set.

Can anyone please help?


Solution

  • That is easy and one of the strengths of BIRT. When you place a table on the report (or just drag-and-drop the whole dataset) you see the result as in your original list.

    If you want the table to be grouped by Sys_name, you can do so. Select the table, open the properties Editor and open the Groups tab. Click add. Select the Sys_name attribute as the Group-on parameter. (take a look at the other options, they speak for themselves) Now click OK. In the table you will see that two rows are added. A group header and a group footer. The group header will also include the selected group by attribute in the first column. You can change this to be any attribute that is the same for the group or something that is an aggregation of the group (like the number of elements in it).