Before you start
About this tutorial
IBM Industry Models are comprehensive business frameworks of data, process, and service models that have been created for various industries. They accelerate the development of industry solutions by combining expertise and industry best practices to create blueprints for development based on experience.
This tutorial deals specifically with scoping an industry model. Scoping is the process of selecting business objects out of a conceptual model, an analytical requirements model (called a requirements model), or a data model from an industry model, such as the Banking Data Warehouse (BDW) Model. In data warehouse projects that use IBM Industry Models, it is critically important to correctly scope the model in order to build a meaningful logical data model. For example, you want to scope appropriately so that you can get the measures you need in your fact entities, or so that you get meaningful attributes in the dimension entities. To determine this, you need a basic understanding of the dependencies among all the objects in the industry model and how they are presented in InfoSphere Data Architect. In this tutorial, you will select the business objects from the conceptual and requirements models.
The goal of the tutorial is to help you understand the scoping process using IBM Enterprise Model Extender (EME) with IBM InfoSphere Data Architect (IDA). EME is a set of plug-in extensions to IDA. EME and IDA provide a single environment for the manipulation and mapping of all of IBM data models. EME also provides the additional functionality needed to manage the full set of IBM Industry Data Models. That includes:
- Scoping: Creating a coherent and consistent "subset" child model
- Harvesting: Propagating customizations from a child model to its parent
- Validation: Verifying model consistency and correctness
- Impact analysis: Understanding how a change to one model can impact other related models
You will use this functionality of EME with IDA (together referred to as EME/IDA) to reach the goal of the tutorial. A great deal of education material is already available for general modeling with EME/IDA (see the Resources section of this tutorial).
This tutorial also provides many hints about modeling and points out pitfalls to avoid. This tutorial concentrates on the scoping of the IBM Industry Model BDW 8.2. By following the steps provided, you can recreate the same logical data model as in this tutorial.
Here are the four steps you will follow to scope the Banking Data Warehouse (BDW) model using EME/IDA:
- Define a special scope with EME/IDA for the BDW model
- Scope a data model with a conceptual model and analytical requirements model in IDA
- Define and export the scoped model to a new industry model development project (a "child" project)
- Further logical modeling in the new industry model development project
To follow along with this tutorial, install the following:
- InfoSphere Data Architect 7.5.2 (see Resources for a link to a trial download)
- IBM Enterprise Model Extender (EME) 8.1.1
- IBM Banking Data Warehouse Industry Model
The Information Center for InfoSphere Data Architect includes instructions that cover the installation of IBM Industry Models, EME, and InfoSphere Data Architect (see Resources).
Define a scope
This step assumes you have the prerequisite software installed. In this section, create a development project where you will do your work and define a new scope under which you select all the business objects that you need for the initial data model.
Set up the project
- Start InfoSphere Data Architect.
- Select File > Import.
- In the import wizard, expand Industry Models.
- Select Packaged Content, then click on
Next, as shown in Figure 1:
Figure 1. Importing packaged content in IDA
- Enter a name for the project (for example,
MyDevProj-BDW V8.2), then click on Next.
- Select the packaged content to import (in this case, BDW
V8.2), and then select Finish, as
shown in Figure 2:
Figure 2. Importing the industry model in IDA
Define the new scope
Now you can define a new scope in the development project you just created.
- In the project explorer, navigate to your project, MyDevproj-BDW V8.2.
- Go to Scope, then right-click and select New, which brings up a window that displays all scopes that are defined under BDW V8.2.
- Click on the Add button, which automatically
creates a new scope with name "NewScope." Give a better name to
this new scope (for example,
- Create a short description for this scope by entering your
comments under Properties/Documentation, as shown
in Figure 3:
Figure 3. Define a and document new scope in IDA
Now you are ready to move on to the next step.
Scope the model with conceptual model and analytical requirements model in EME/IDA
In this section, select the objects you need for your campaign analysis data mart model. The objects you'll be using are under Conceptual Model and Analytical Requirements Model. To get some further ideas and hints about campaign analysis, you can check the predefined scopes under the generic model MyDevProj-BDW V8.2. For example, look at the predefined scope "Campaign Analysis." Also, read the material and comments under Properties/Documentation.
Figure 4. Predefined scope "Campaign Analysis"
Additionally, you can look at the generic logical data models under the generic model MyDevProj-BDW V8.1. To do so, follow these steps:
- Go to Data Models, under the Data Project Explorer view.
- Go to Banking Data Warehouse Model.
- Now expand IFW Summary and Analysis and go to Analysis.
- Here you will find the Campaign Analysis Business Solution
Template (BST) in the explorer view, as shown in Figure 5:
Figure 5. Find pre-defined BSTs in BDW model
- Select the Campaign Analysis entity to see a list
When you select an attribute (for example, Advertising Spend), you will see the description of the attribute in the Properties view, under Documentation. You also get a diagram of this BST.
- Right-click on Diagrams.
- Select New Blank Diagram. This opens an empty diagram canvas for you.
- Use copy and paste to select BSTs from the Data Project View, and
move them to the Diagrams view. When you do this with the Campaign
Analysis BST, you get the following result, shown in Figure 6:
Figure 6. Predefined logical model for Campaign Analysis
After you check the various attributes and understand their business meaning, you can better understand what you can do with this generic BST. You will need this information later to build a meaningful logical data model for your future data mart "Campaign Analysis."
The next thing you need to do is select the Business Solution Template (BST) and the measures you want to see in your data mart model.
- Navigate to Analytical Requirements Model.
- Under Focus Area > Relationship
Management, select the BST Campaign
Analysis, and move it to the empty window under
When you select the BST, you also select all measures and dimensions defined for this BST. You should now see that the BST is selected in your scope, as illustrated in Figure 7:
Figure 7. BST Campaign Analysis selected in scope
- Check the measures and dimensions, which are defined under the
Campaign Analysis BST. You should find the following lists for
measures and dimensions:
- Campaign Analysis Measures:
- Campaign deliverable amount
- Advertising spend
- Campaign cost
- Number of customers in target population
- Number of customers contacted
- Number of customers responding
- Number of new arrangements from campaigns
- Number of new customers
- Total cost of outward customer communications
- Profit generated by new customers
- Response percentage
- Total campaign promotion communications
- Total employee compensation for campaign
- Total income on new AR resulting from campaign
- Total new funds from campaign
- Total number of return responses
- Total number of targeted persons
- Campaign Analysis Dimensions:
- Campaign activity segment
- Campaign type
- Time period
- Customer market segment
- Organization unit geography
- Household annual income segment
- Advertising medium
- Campaign trigger type
- Communication response type
- Competitive win status
- Product type
- Communication form
- Campaign Analysis Measures:
- Since you know that not all measures are mapped to attributes in
the logical model, you need to search for measures that are
supported. To do so, select a measure, and then click on the
Depended on by property. For example, when
you select Number Of New Arrangements From
Campaigns, you see that this measure is mapped to an
attribute in the entity "Campaign Analysis," as illustrated in
Figure 8. Dependency between requirement and logical model for one measure
You can repeat this process for all the measures listed above. A better way is to select the whole BST Campaign Analysis, and then click on the Depended on by property. This shows you the existing mappings between requirement and logical model. The plus sign (+) indicates a mapping where further expansion is possible. See the previously checked measure "Number Of New Arrangements From Campaigns."
Figure 9 shows all dependencies between requirement and logical model for measures and dimensions of the BST Campaign Analysis:
Figure 9. Dependencies between requirement and logical model for whole BST
As a result, you see the measures and dimensions that are supported. For dimensions, you see that there exists no dependency. For measures, you get the following list. Those that are marked with an asterisk (*) are supported.
- Campaign Analysis Measures:
- Campaign Deliverable Amount
- Advertising Spend*
- Campaign Cost*
- Number of Customers in Target Population
- Number of Customers Contacted
- Number of Customers Responding
- Number of New Arrangements From Campaigns*
- Number of New Customers
- Total Cost of Outward Customer Communications
- Profit Generated by New Customers
- Response Percentage
- Total Campaign Promotion Communications*
- Total Employee Compensations for Campaign
- Total Income on New AR Resulting From Campaign
- Total New Funds From Campaign
- Total Number of Return Responses*
- Total Number of Targeted Persons
- Campaign Analysis Measures:
- Select three of these measures for your scope (see the items
marked with an asterisk in the list below). Notice that these
measures are also selected by choosing the whole BST. But for
better documentation of the scope, you will nevertheless select
them. Now you want to also find some additional measures, which
are used as attributes in the summary entity Campaign Summary. For
these, go to Conceptual Model >
Aggregate Descriptors, and add the following
descriptors to the scope:
- Advertising Spend*
- Campaign Costs*
- Number of Channels Used
- Number of New Arrangements From Campaign*
- Opening Campaign Market Research Costs
- Total Opening Campaign Cost
Figure 10. Define measures in the new scope
Note: The descriptors without an asterisk in the above list will be mapped to attributes in the Campaign Summary entity in the logical model.
- Now you need to include existing attributes into the scope for the
different dimension entities. You need to do this since there are
no direct mappings between dimensions and the logical model, but a
dimension is mapped to a classifier, which in turn is mapped to a
classification entity in the logical data model.
The time dimension is represented by the entity Measurement Period. To select attributes in this dimension, go to Concepts > Classification > Classification Descriptor > Classification Descriptor Type, and select the following attributes in your scope:
- Calendar month
- Calendar quarter
- Calendar year
- Day of calendar month
- Day of calendar quarter
- Day of calendar year
- Day of fiscal month
- Day of fiscal quarter
- Day of fiscal year
- Day of week
- Fiscal month
- Fiscal quarter
- Fiscal year
Figure 11. Select attributes for Measurement Period
- For the Campaign dimension, you need some supporting attributes.
For this, navigate to Concepts >
Event > Event Descriptor
> Event descriptor type, and select the
- Campaign activity description
- Campaign code
- Campaign description
- Campaign segment activity name
Figure 12. Supporting attributes in dimension Campaign
With this, you have completed the selection of objects in the conceptual model and analytical requirements model. You can go on selecting further attributes for other dimensional entities. But for a demonstration of the principal usage of scoping, this should be enough for the moment.
Export the scoped model to a new development project
In this section, define a new data model development project (a "child" project) that will be later used for further logical modeling, then export your scoped model to that project.
- Navigate to Scopes, right-click and select New, and then select Project.
- In the next wizard for new project, select Industry Model
Development Project, as shown in Figure 13:
Figure 13. Supporting attributes in dimension Campaign
- Click on Next.
- After selecting your previously defined scope, you can define a
name for the new project (for example,
- Click on the Submit button, and a new child
project is created.
During the creation process, all dependencies of the selected objects (objects in a data mart model) to objects in a core DWH model are resolved. A screen is displayed, showing only the selected objects and the dependent objects in the new child project, as shown in Figure 14:
Figure 14. The new industry model development project
Logical modeling in the new development project
- Open the new industry model development project. Look under
Banking Data Warehouse model.ldm * >
09.Analysis Area. You should see only the
objects you selected in the "Scope the
model with conceptual model and analytical requirements model
in EME/IDA" section.
Figure 15. Scoped analysis area under new Industry Model Development project
- To see a complete data mart model, navigate to Banking
Data Warehouse Model.idm * >
Analysis > Diagrams, then
right-click and select New Blank Diagram.
Figure 16. New blank logical model diagram
- Now you can select all the entities you need for a complete data mart model and move it to the blank diagram. Start with the Campaign Analysis entity that lies under Banking Data Warehouse Model > IFW Summary and Analysis > Analysis.
- Next, select the dimension entities. For example, you can select
the dimensional entity Organization Unit
Geography, located under Banking Data
Warehouse Model > IFW System of
Record > Classification, as shown
in Figure 17:
Figure 17. Creation of Campaign Analysis data mart diagram
You can do this for all dimensional entities by checking the foreign keys in the fact entity and looking for all the corresponding entities.
- After this, look at the Generalization and Classification
entities. For example, you see that the entity Measurement Period
Type classifies Measurement Period. The Measurement Period entity
holds attributes like dates and timestamps. These attributes are
used to build up the history for the attributes in the fact table
Campaign Analysis. The Measurement Period is modeled in BDW as a
special concept (in other words, an entity) of a more generic
concept. Therefore, you see that Time Period Type ("supertype") is
a generalization of Measurement Period Type ("subtype"). Also,
Event is a supertype for the subtypes Campaign and Communication.
These concepts are illustrated in the data model shown in Figure 18. This is a good starting point for
further modeling of the logical data model.
Figure 18. Logical data mart model for Campaign Analysis
- Next, you include the summary entity Campaign Summary to your data
mart model. This summary entity holds attributes, which can hold
aggregations and totals of measures from the fact entity Campaign
Analysis. So Campaign Summary holds a number of very important
measures that have business value for the campaign analysis task.
You can see all these entities in the diagram shown in Figure 19:
Figure 19. Logical data mart model for Campaign Analysis, including Campaign Summary
Besides Campaign Summary, there are two other summary entities that are created under this scope:
- Arrangement Activity Summary
- Employee Summary
When you have integrated these summary entities in the logical model diagram, you will get a logical data mart model with three summary entities. You will also get a connection entity called Summary Characteristic. This entity shows the relationships between the summary entities. The entity holds the common foreign keys from all three summary entities (Measurement Period Id and Scenario Id). So Summary Characteristic plays the role of an anchor entity. In addition, you can integrate technical information entities (which are provided by BDW), such as Population Event With Unique Id Characteristic. This entity now holds several attributes with technical information, like the time of the population process or the identifier of the source system. This population information is linked with the generic entities Involved Party and Arrangement. By doing all these steps, you finally get the diagram shown in Figure 20:
Figure 20. Summary area for Campaign Analysis, including Campaign Summary
For each entity and for each attribute in the logical model diagram, you can see the original documentation of the IBM Industry Model BDW 8.2. In Figure 21, for example, you see the definition of the entity Measurement Period:
Figure 21. Documentation of the entity Measurement Period
Figure 22 shows the definition (under Properties > Documentation) of the attribute Total New Funds From Campaign in the entity Campaign Summary:
Figure 22. Documentation of an attribute in Campaign Summary
By following the steps outlined in this tutorial, you have learned how to get an initial meaningful logical data model for campaign analysis business requirements using InfoSphere Data Architect. You have also learned how you can reuse the dependencies and relationships that are predefined for you in the Banking Data Warehouse industry model. Now that you have created a meaningful logical data model, you can use InfoSphere Data Architect to easily create a physical model from the logical data model for your target database platform. From this physical model in InfoSphere Data Architect, you can run the DDL to deploy the model into your target system. This gives you a good starting point for your overall DWH architecture. Also, the known dependencies and relationships between Core Warehouse and Data Mart models can be used in a next step for the definition of transformation rules for the data population process (ETL). When you use the InfoSphere Integration Server for ETL, this process can be automated.
- Dr. Gregor Meyer, Senior IT Architect from Böblingen Lab (Germany)
- Neil Ryan, IT Architect and Developer from Industry Models and Assets Lab in Dublin (Ireland)
- Paul Kilroy, IT Architect from Industry Models and Assets Lab in Dublin (Ireland)
- InfoSphere Data Architect Information Center: Get more information about InfoSphere Data Architect.
- developerWorks content related to InfoSphere Data Architect: Find more resources related to InfoSphere Data Architect.
- InfoSphere Data Architect area on developerWorks: Get the resources you need to advance your IDA skills.
- The Data Model Resource Book (John Wiley & Sons, Inc., 2001): Learn about standard data modeling methodologies.
- "Best Practices: Information Modeling with Rational Data Architect Version 7" (developerWorks, 2008): Learn the best practices for information modeling based on the experiences of a team of data modelers.
- "Migrating from CA ERwin to InfoSphere Data Architect" (developerWorks, April 2009): If you've had experience with CA ERwin Data Modeler and now are starting to learn InfoSphere Data Architect, this article will speed up your model migration process and ease your learning process of the new environment.
- IBM Industry Models: Learn more about IBM Industry Models experiences of a team of data modelers.
- developerWorks Information Management zone: Learn more about Information Management. Find technical documentation, how-to articles, education, downloads, product information, and more.
- Stay current with developerWorks technical events and webcasts.
Get products and technologies
- InfoSphere Data Architect: Get a trial copy of InfoSphere Data Architect to get acquainted with its capabilities.
- Build your next development project with IBM trial software, available for download directly from developerWorks.
- InfoSphere Data Architect discussion forum on developerWorks: Exchange ideas and share solutions with your peers who are using InfoSphere Data Architect to create logical and physical data models, discover the structure of data sources, discover relationships among disparate data sources or to analyze and enforce compliance to enterprise standards.
- Participate in developerWorks blogs and get involved in the My developerWorks community; with your personal profile and custom home page, you can tailor developerWorks to your interests and interact with other developerWorks users.