Birt Cross Tab Tutorial Advanced
Birt Cross Tab Tutorial Advanced
Introduction
A cross tab displays the relation between two or more variables in a matrix format. A cross tab report item is based on a multi dimensional data cube, which is a collection of dimensions (groups) and measures. A BIRT data cube is based on one or more BIRT datasets The goal of this document is to walk you through several scenarios and describe the high level steps required to create the sample report designs. Following features are covered Cross tab with time series Cross tab with image indicator for measures Cross tab with static rows/columns Filters in cross tab Sorting in cross tab Grand totals and sub totals for rows/columns in a cross tab Cubes based on multiple datasets Sharing cubes using library
Business Scenario
For a fictitious company called Classic Models Inc you are asked to create the following reports Scenario A Cross tab with time dimension Report that displays sales of all products in different years categorized by year, quarter and month of sale In the row area, sort by year field in descending order. In the column area, sort product Line by column grand total in descending order Show only the product Line for which the sales > 10,000 in Jan 2005 Below is the desired report output (productSalesByYear.rptdesign)
Create a shared Data Cube in report design library Create a data cube with the following structure Dimension ( Group Group Level Hierarchy ) customerRegion Country-> State -> City>CustomerNum orderDate Year -> Quarter -> Month product ProductLine -> ProductName Description Order Total Quantity ordered
Description Geographical hierarchy Time period when the orders were made Product hierarchy
Create a new library design file Create a new data source based on classic Model Sample Database Create the following data sets dsProducts, dsOrders and dsCustomers Create a new data cube using the cube builder; define dsOrders as the primary dataset and following cube structure. Use the Link Groups section to define the join relationships between the datasets
5) Publish the library to the resource folder, by clicking on Select File -> Place Library in Resource folder Define the Cross tab Item 1) Create a new report design file productSalesByYear.rptdesign 2) Select the Library Explorer view, and drag and drop the cube Customer Cube from the Library Explorer view to the report design outline view 3) Create a cross tab report item by dragging and dropping the cross tab item to the layout editor 4) Expand the Customer add product group hierarchy to the cross tab column area, orderDate group hierarchy to the row area and OrderTotal to the detail area. Use the Show/Hide Group levels dialog to show all the required levels.
5) Define the sort criteria to show group level Year in descending order. The sort criteria can be defined using the cross tab property editor. 6) Define the sort criteria on product line level, to sort grand total in descending order 7) Define the filter criteria to show only those product line which have order total > 100,000 in year =2005. The filter condition can be defined using the filter tab in the cross tab property editor.
Steps The data cube Customer Cube defined in Scenario A is used here too. 1) Drag and drop the cross tab report item from palette to the layout editor 2) Expand the Customer Cube data cube and drag and drop the following OrderDate group hierarchy to the row area, Product group hierarchy to the column area OrderTotal measure to the Summary fields area Also use the Show/Hide levels dialog to show the required group levels 3) Drag and drop an image item from palette to the summary area in layout view Select the URI option Specify the following expression
if ( data["ORDERTOTAL"] "move_up.gif" else "move_down.gif" > 100000 )
4) Use the Total dialog to show row and column grand total
Steps 1) Create a new BIRT report design 2) Create a new dataset dsCustomers 3) Define a new data cube with dsCustomers as the primary dataset and following dimensions a. cusomterRegion = Country ->State->City b. customerCreditRanking= creditLimt, i. The creditLimit is defined as static level with following four fixed categories A( No risk), B( Average) C( High Risk), N ( New) 4) Create a cross tab report item by dragging and dropping the cross tab item to the layout editor 5) Add customerRegion group hiearchy to the row area, customerCreditRanking hierarchy to the column area and CustomerNumber measure to the detail area 6) Preview the report design