Building A Complex Birt Report
description
Transcript of Building A Complex Birt Report
®
IBM Software Group
© 2008 IBM Corporation
Building a Complex UML BIRT Report
Steven Hovater Oct 3, 2008
IBM Software Group | Rational software
2
®
Starting Point Given this exemplar:
IBM Software Group | Rational software
3
®
Destination
We want to produce:
IBM Software Group | Rational software
4
®
Establish mapping Some mappings are
obvious
Some are not
IBM Software Group | Rational software
5
®
How the pieces fit together:
Capability relates to Operational Capability Realization Capability Operational Capability (Association)
Operational Capability Realization relates to Operational Capability Realized Operational Capability (Realization)
Operational Activities relate to Operational Capability containment
System relates to System Operational Capability Capability Operational Capability (Association)
System Operational Capability relates to System Capability Realized Operational Capability (Realization)
Operational Activities relate to System Capabilities Activity Realization (Association)
System Functions relate to System Capability Containment
IBM Software Group | Rational software
6
®
Problem statement
Find the capabilities that relate to systems by determining which operational capabilities map to system operational capabilities via the operational activities that are realized by the system functions.
In the DoDAF domain, it’s the mapping of the operational to the system views.
IBM Software Group | Rational software
7
®
First Query
Create table that relates Capabilities (that are Operational Nodes) to Operational Capabilities
IBM Software Group | Rational software
8
®
BIRT – first query details
Establish the data source Include the model (s)
Include the necessary profile(s) (in this example, UPIA)
Create a data set Row
Extract all the Capability Operational Capability associations that relate Capabilities (that are Operational Nodes) to Operational Capabilities
Columns:
Name of the Capability/OpNode
URI of the Capability/OpNode
Name of the Operational Capability
URI of the Operational Capability
IBM Software Group | Rational software
9
®
Establish the Data Source
IBM Software Group | Rational software
10
®
Create the first data set row mapping
IBM Software Group | Rational software
11
®
Specify the columns
Discussion point: The sample model uses the Capability stereotype for both Operational Nodes and Systems. In this query, we only want the Capabilities that are Operational Nodes.
We know that one end of the relationship is a Capability and the other is an Operational Capability just from the semantics of the CapabilityOperationalCapability definition.
IBM Software Group | Rational software
12
®
Filter out the Capabilities that aren’t Operational Nodes
IBM Software Group | Rational software
13
®
Validate the query
IBM Software Group | Rational software
14
®
Second Query Create table that relates Operational Capabilities to Operational Capability
Realizations
IBM Software Group | Rational software
15
®
BIRT – second query details
Row Extract all the Realized Operational Capability relationships
Column Name of the Operational Capability
URI of the Operational Capability
Name of the Operational Capability Realization
URI of the Operational Capability Realization
IBM Software Group | Rational software
16
®
Establish the second query row mapping
IBM Software Group | Rational software
17
®
Specify the columns
IBM Software Group | Rational software
18
®
Validate the query
IBM Software Group | Rational software
19
®
Third Query Create table that relates Systems to Operational Capabilities via Capability
Operational Capability associations
IBM Software Group | Rational software
20
®
BIRT – details
Create a data set Row
Extract all the Capability Operational Capability associations that relate Systems to Operational Capabilities
Columns:
Name of the System
URI of the System
Name of the Operational Capability
URI of the Operational Capability
IBM Software Group | Rational software
21
®
Create the row mapping
IBM Software Group | Rational software
22
®
Create the column mapping
IBM Software Group | Rational software
23
®
Filter out non-Systems
IBM Software Group | Rational software
24
®
Validate query
IBM Software Group | Rational software
25
®
BIRT – create the fourth query
Row Extract all the system functions
Columns Name of the system function
URI of the system function
Name of the system function owner
URI of the system function owner
IBM Software Group | Rational software
26
®
Create the row mapping
IBM Software Group | Rational software
27
®
Create the column mapping
IBM Software Group | Rational software
28
®
Validate the query
IBM Software Group | Rational software
29
®
BIRT – create the fifth query
Row Extract all operational activities
Column Name of the operational activity
URI of the operational activity
Name of the operational activity owner
URI of the operational activity owner
IBM Software Group | Rational software
30
®
Establish the row mapping
IBM Software Group | Rational software
31
®
Create the column mapping
IBM Software Group | Rational software
32
®
Validate Query
IBM Software Group | Rational software
33
®
BIRT – create the sixth query
Row Extract all activity realizations
Column Name of the operational activity
URI of the operational activity
Name of the system operational activity realization
URI of the system operational activity realization
IBM Software Group | Rational software
34
®
Establish the row mapping
IBM Software Group | Rational software
35
®
Create the column mapping
IBM Software Group | Rational software
36
®
Validate Query
IBM Software Group | Rational software
37
®
First joint data set Create table that relates Operational Nodes that are Capabilities to the
Operational Capability Realizations
IBM Software Group | Rational software
38
®
Join based on OperationalCapabilityURI
IBM Software Group | Rational software
39
®
Validate the query
IBM Software Group | Rational software
40
®
Create second joint data set
Create a table that joins the OperationalActivities to the first joint data set
We want those OperationalActivities whose parent is an OperationalCapabilityRealization related to a Capability that’s an Operational Node.
IBM Software Group | Rational software
41
®
Validate results
IBM Software Group | Rational software
42
®
Third joint data set Create a table that links the Systems to the System
OperationalCapabilityRealizations (which are OperationalActivityRealizations)
IBM Software Group | Rational software
43
®
Create the joint data set
IBM Software Group | Rational software
44
®
Validate results
IBM Software Group | Rational software
45
®
Create fourth joint data set Create a table that relates the System Functions to the
OperationalActivityRealizations that are linked to the System OperationalCapabilityRealizations
IBM Software Group | Rational software
46
®
Create the joint data set
IBM Software Group | Rational software
47
®
Validate Results
IBM Software Group | Rational software
48
®
Create Fifth Joint Data Set Join the Operational Activity (Query6) with the table that links the Capability to
the Operational Activity (J2)
IBM Software Group | Rational software
49
®
Validate the Query
IBM Software Group | Rational software
50
®
Create final joint data set Now, join the operational to the system (join S2 and O1)
IBM Software Group | Rational software
51
®
Validate the results There are many columns in the resulting data set – as a results, we’ve broken the image into two chunks.
IBM Software Group | Rational software
52
®
Presentation
Now that we have the data that we need, we’ll need to present it appropriately
We’re going to need to create a data cube, and a crosstab
IBM Software Group | Rational software
53
®
Create the Data Cube Associate the SV5 data set with this cube
IBM Software Group | Rational software
54
®
Create the groups and summary field in the data cube
IBM Software Group | Rational software
55
®
Create the crosstab
IBM Software Group | Rational software
56
®
Drag/drop rows/columns and summary fields Drag/drop System
IBM Software Group | Rational software
57
®
Expose group levels for System Next, expose the group levels
IBM Software Group | Rational software
58
®
Drop Capability Into Column
IBM Software Group | Rational software
59
®
Expose groups
And, as with the Systems, expose the groups
IBM Software Group | Rational software
60
®
Now, add the measurement field
IBM Software Group | Rational software
61
®
Cleaning up…
Set vertical presentation, and hide measure header
IBM Software Group | Rational software
62
®
Preview Results
Voila! We have an SV5 per the problem definition!
IBM Software Group | Rational software
63
®
Complete the report Edit the data cube summary field
IBM Software Group | Rational software
64
®
Edit the expression Add JavaScript code that produces an “X” if the field is not blank
IBM Software Group | Rational software
65
®
Add a label to the crosstab
IBM Software Group | Rational software
66
®
The Completed SV5
IBM Software Group | Rational software
67
®
Appendix Including parents and grandparents
IBM Software Group | Rational software
68
®
Appendix
IBM Software Group | Rational software
69
®
Appendix