8/7/2019 Designer+1b
1/122
1
Module 8
Resolving Loops in a Universe
8/7/2019 Designer+1b
2/122
2
What You Will Be Able To Do
Define what a Loop is
Be able to resolve recursive table structure loops
Be able to use Shortcut joins and know when to use them as an alternative for resolving
loops
Identify when in the design process you resolve loops
Use Designer tools to resolve loops using Aliases and Contexts
Detect and recognize loops in a universe
8/7/2019 Designer+1b
3/122
8/7/2019 Designer+1b
4/122
4
What is a loop?
A loop exists when the joins between tables form a continuous path
8/7/2019 Designer+1b
5/122
5
How to deal with loops
Three automated routines can be used to resolve most
loop situations in the universe structure window.
The following order must be observed:
MUST BE FIRST!
Cardinality DetectionRoutine:
Alias DetectionRoutine
Context DetectionRoutine
...and...
8/7/2019 Designer+1b
6/122
6
Cardinality Detection
Cardinality not set:
Click Detect Cardinalities:
Cardinality can also be set
manually:
8/7/2019 Designer+1b
7/122
8/7/2019 Designer+1b
8/122
8
When to Alias
A loop with a single lookup tableshould be resolved by an alias
A lookup table can be identified byits cardinality
N N
N
N
N
1 1
1
1
1
A lookup table onlyhas the oneend of joins attached to it
Alias needed here
8/7/2019 Designer+1b
9/122
9
How to Alias
Designer routines detect loopsand candidates for aliases
Break the loop by creating analias of the lookup table for each
side of the loop
Some DBs require a separatealias for both sides of the loop
Do not remove the
original table
8/7/2019 Designer+1b
10/122
10
Detecting and Creating Aliases
Use the Alias Detection routine
Manually insert an alias
Use the Loop Detection routine
To create an alias table to break a loop, you can:
8/7/2019 Designer+1b
11/122
11
Using automatic loop detection
Click the Detect Loops button The routine checks the structure for loops
The Loop Detection window identifies each loop
The window suggests candidate contexts or aliases
8/7/2019 Designer+1b
12/122
8/7/2019 Designer+1b
13/122
13
Inserting an Alias Manually
Select the table and click the Insert Alias button
Name the Alias table and click OK
Then reset the joins manually
8/7/2019 Designer+1b
14/122
8/7/2019 Designer+1b
15/122
8/7/2019 Designer+1b
16/122
16
Resolving Loops using Contexts
Rental context
Sale context
8/7/2019 Designer+1b
17/122
8/7/2019 Designer+1b
18/122
18
Display the contexts : View List Mode
8/7/2019 Designer+1b
19/122
8/7/2019 Designer+1b
20/122
20
Sequence for resolving loops
1. Detect and set cardinality on all joins
2. Use Detect Aliases to detect candidates for aliases
3. Insert all required alias tables and joins
4. Use DetectC
ontexts to detect candidates for contexts5. Create the required contexts
6. Test in the User module
8/7/2019 Designer+1b
21/122
8/7/2019 Designer+1b
22/122
22
Shortcut Joins - the solution
Edit the join to create a Shortcut join:
This is not a Loop!
8/7/2019 Designer+1b
23/122
23
Test the structure of a universe
Check the syntax
Test in the User Module
8/7/2019 Designer+1b
24/122
24
What You Have Learned
What a Loop is
How and when to resolve a loop using aliases and contexts
The sequence for resolving loops
How to apply shortcut joins
8/7/2019 Designer+1b
25/122
25
Module 9
Lists of Values
8/7/2019 Designer+1b
26/122
26
How The Course is Organized: Day 2
8. Resolving Loops in a Universe
9. Lists of Values
10. Hierarchies
8/7/2019 Designer+1b
27/122
27
What You Will Be Able To Do
Base a LoV on a personal file
Associate or remove a List of Values (LoV) for an object
Control how LoVs are refreshed
Modify a LoV using a condition
Modify a LoV by creating a hierarchy
8/7/2019 Designer+1b
28/122
28
What is a List of Values?
A LoV is used on the operand side of a condition in the query panel of the User
module
This is only available if set by the designer
A list of the distinct values from the column or columns to which the object refers
8/7/2019 Designer+1b
29/122
29
How do Lists of Values work?
A designer can create a LoV which is based on:
A query of the target database
A constant set of values held in a file
In both cases, the result is stored locally in a file on the User s PC.
8/7/2019 Designer+1b
30/122
30
Creating a List of Values
A LoV is created within the Properties tab of an object
By default, Associate a List
and Allow Users to edit are
checked:
It is important to uncheck this
box for objects that dont
need a List
8/7/2019 Designer+1b
31/122
8/7/2019 Designer+1b
32/122
8/7/2019 Designer+1b
33/122
33
Modifying the Content of a List of Values
You can limit the values returned by applying a condition to the LoV
You can simplify the process of choosing a value for Users by creating a hierarchy
for the LoV
You can supply a personal data file containing the values for the list, instead of
using the results of the query
8/7/2019 Designer+1b
34/122
34
Applying a Condition to a List of Values
Click Edit in the Properties box:
Apply the condition in the Query Panel:
8/7/2019 Designer+1b
35/122
8/7/2019 Designer+1b
36/122
36
Creating a Hierarchy for a List of Values
The resulting Hierarchical View of the LoV makes it easier to select the required
value:
Country:
Town:
Showroom:
8/7/2019 Designer+1b
37/122
8/7/2019 Designer+1b
38/122
38
Basing a LoV on a Personal File
Click OK to acknowledge the message:
Specify the file that contains the values for the list and click OK
8/7/2019 Designer+1b
39/122
39
What You Have Learned
How to associate or remove a LoV for an object
Controlling how LoVs are refreshed
How to modify a LoV using a condition
How to modify a LoV by creating a hierarchy
How to base a LoV on a personal file
8/7/2019 Designer+1b
40/122
40
Module 10
Hierarchies
8/7/2019 Designer+1b
41/122
41
What You Will Be Able To Do
Test hierarchies in the User module
Organize Default Hierarchies for optimum usability
Create Custom Hierarchies
8/7/2019 Designer+1b
42/122
8/7/2019 Designer+1b
43/122
43
A Default Hierarchy is the hierarchy based on the order of the Objects within theClass
Default Hierarchies are
represented in the Usermodule by the order in whichDimension Objects areorganized in the Classes andObjects box of the Query
Panel
What Is a Default Hierarchy?
8/7/2019 Designer+1b
44/122
44
The Key to Creating Default Hierarchies
The designer must ensure, wherever possible, that Dimension Objects are
organized from the most general to the most specific within the Class
8/7/2019 Designer+1b
45/122
45
Dimension Objects represent the levels in a hierarchy:
Top Level
Level 1
Level 2
Level 3
How are Hierarchies used in Analysis?
A Measure can be analysed at each level
8/7/2019 Designer+1b
46/122
46
A Custom Hierarchy combines Objects from Default Hierarchies to build a
Custom Analysis Path
What Is A Custom Hierarchy?
Default Hierarchies
Custom Hierarchy
8/7/2019 Designer+1b
47/122
8/7/2019 Designer+1b
48/122
48
The Effect ofCustom on Default Hierarchies
User module Scope of Analysis after a Custom Hierarchyhas been created:
No Default Hierarchies are shown
8/7/2019 Designer+1b
49/122
49
The Effect ofCustom on Default Hierarchies
Selected Default Hierarchies can be added to the Custom Hierarchies in Designer
module
8/7/2019 Designer+1b
50/122
8/7/2019 Designer+1b
51/122
51
Module 11
Documenting and Distributing a Universe
8/7/2019 Designer+1b
52/122
8/7/2019 Designer+1b
53/122
53
Select the Tools, Options menu then click on the Print tab to select what to print
Select the File, Print menu to print
Documenting a Universe
8/7/2019 Designer+1b
54/122
8/7/2019 Designer+1b
55/122
55
There are two methods distributing universes
BusinessObjectsRepository
File System
Distributing Universes
8/7/2019 Designer+1b
56/122
8/7/2019 Designer+1b
57/122
57
Enterprise Mode
BusinessObjectsrepository
Export
Supervisor in control
User based securityallocated to user groups
Revision number checked when used
(Secured Connection)
Business ObjectsUniverse
Motors2k.unv
Motors.unv
Universe Domain Name
Business Objects
Universe
Revision number incremented
Motors.unv
Universe Domain Name
8/7/2019 Designer+1b
58/122
8/7/2019 Designer+1b
59/122
8/7/2019 Designer+1b
60/122
60
What You Will Be Able To Do
Know when a new version of a universe may be required
Be able to identify changes to the target database of a universe
Know how version changes will affect existing end user reports
Be able to copy and past objects between universes
Be able to link universes and appreciate the different strategies required
Be able to include universes
8/7/2019 Designer+1b
61/122
61
Reasons for Universe Maintenance
New tables added to database
Tables deleted, changed or renamed in database
Users request new classes or objects
Tip: Do not distribute new versionsofuniversestoofrequently!
Note: Your primary concern when you introduce a newversion of a universeshould bewhateffect itwillhaveon existingend userreports
8/7/2019 Designer+1b
62/122
62
No Impact:
Adding new columns Adding new tables
Severe Impact:
Renaming/moving database Changing existing column
and table names Deleting tables and columns
Changes to the Target Database
The implications of modifying the underlying database for BusinessObjects
universes varies in severity:
8/7/2019 Designer+1b
63/122
63
Detecting Changes to the Universe
Choose View, Refresh Structure
Changed tables are highlighted in the Structure
A message on the screen indicates that tableshave been deleted
8/7/2019 Designer+1b
64/122
64
No Impact:
Redefining Object SQL Copying to different Class Moving in same Class or to
a different Class Adding new Objects
Impact:
Deleting an existingObject
Deleting and thenrecreating an object withexactly the samedefinition
Renaming an Object
The Effect ofChanging Objects
Changes to existing Objects in a Universe can have an impact on existingDocuments created from the Universe:
8/7/2019 Designer+1b
65/122
8/7/2019 Designer+1b
66/122
66
Linking Universes
Linking can mean reduced maintenance but there are limitations
Universe A
Universe A
Universe B
8/7/2019 Designer+1b
67/122
67
Click and click on the Links tab
Making a Link
Click Add Link...
Choose universe tolink and click Open
8/7/2019 Designer+1b
68/122
68
The Derived Universe
The linked universe structure and objects cannot be edited in the derived universe
The linked universe should be treated as though they were new tables inserted inthe derived universe. The same procedure should be applied
8/7/2019 Designer+1b
69/122
8/7/2019 Designer+1b
70/122
70
Included Universes
Included universes become part of the new universe
8/7/2019 Designer+1b
71/122
71
What You Have Learned
Designers must be aware of changes to the underlying databases and the
implications these have for their universes
Linking universes can make maintenance easier
There are several different approaches to linking universes
You can also include universes
8/7/2019 Designer+1b
72/122
72
Module 13
Aggregate Awareness
8/7/2019 Designer+1b
73/122
73
What You Will Be Able To Do
Understand the reasons for using Aggregate Awareness
Know when to apply Aggregate Awareness
Be able to apply Aggregate Awareness
8/7/2019 Designer+1b
74/122
8/7/2019 Designer+1b
75/122
8/7/2019 Designer+1b
76/122
76
How Summary Tables are used in SQL
Aggregates of a normalized database are based on event / fact level data.
Sale
226 rows
Sale_Model
233 rows
Model
33 rows
Sales Revenue = sum(SALE_MODEL.SALE_QTY * MODEL.MODEL_PRICE *
((100 - SALE.SALE_SALE_DISCOUNT) / 100))
Summary tables may be added to a database whichhold data at a higher level of aggregate.
Annual_Figures
26 rows
Sales Revenue = sum(ANNUAL_FIGURES.ANNUAL_SALE_VALUE)
Making use of summary table data speeds up response times.
8/7/2019 Designer+1b
77/122
8/7/2019 Designer+1b
78/122
78
Step 1: Inserting a Summary Table & Setting Joins
Add the Summary Table to the structure
Set the joins and the cardinality
8/7/2019 Designer+1b
79/122
8/7/2019 Designer+1b
80/122
8/7/2019 Designer+1b
81/122
81
Step 4: Incompatible Objects
Aggregate aware objects can only be compatible with objects derived from tables
in the same context as the summary table
Incompatible objects are specified using Aggregate Navigation
8/7/2019 Designer+1b
82/122
82
Step 4: Aggregate Navigation
The AggregateN
avigation box is opened from the Tools menu
Click Detect Incompatibility:
Select the Summary Table:
Incompatible objects are checked:
You must check carefully - not all
incompatible objects may be detected
automatically.
Individual objects are checked to define
them as incompatible:
8/7/2019 Designer+1b
83/122
83
Testing Aggregate Awareness
As with any universe element, you must always test the results in the Usermodule.
Run queries using the aggregated measures from the Summary Table.
Use both compatible objects and incompatible objects in different queries to
make sure all levels of Aggregate Awareness are operating correctly.
8/7/2019 Designer+1b
84/122
8/7/2019 Designer+1b
85/122
85
Overview Of OLAP Universes
A OLAP universe is a Business Objects universe that has been generated from a
OLAP cube or query.
The universe is created automatically from a selected connection to a OLAP data
source using an OLAP query flattening driver that is installed as an add in to
Designer XI.
8/7/2019 Designer+1b
86/122
8/7/2019 Designer+1b
87/122
8/7/2019 Designer+1b
88/122
T t OLAP ti
8/7/2019 Designer+1b
89/122
89
To create a OLAP connection
1. Start Designer.If the Quick DesignerWizard appears, click Cancel.
2. Select Tools > Connections.
The Connections list appears. All the connections available to the current
Designer session are listed here.
3. Click Add.
The New Connection wizard appears. The wizard guides you through theconnection creation process.
Click Next.
The Database Middleware page appears. It lists the database and
middleware that correspond to your Data Access driver key.
4. Expand the node foryour target OLAP data source.
This is the target database for the connection. The node expands to thesupported middleware.
5. Expand the middleware node.
The OLAP data access driver appears. This is Business Objects data
access driver for the OLAP middleware.
6. Click the data access driver.
Click Next.
The Login Parameters page appears For SAP BW you
8/7/2019 Designer+1b
90/122
90
Logon options1)Type
Description1)Security level for connection.
You must use a secured
connection to export the universe
to the CMS.
The Login Parameters page appears. For SAP BW, you
have the following logon options:
2)Name 2)Connection name. This is
the name that appears on
the list of connection
available to the universe.
3)User name 3) Your database username
8/7/2019 Designer+1b
91/122
91
The Login Parameters
Logon options Description
Use Single Sign-on when
viewing reportsThe user name and password used to
access the CMS are automatically used as
database login parameters.
Password
Your database Password
Server Name orIP address of the BW server that
contains the target cubes.
System Required SAP login information.
Client Required SAP client number.
Language Connection language. For example EN
forEnglish.
8/7/2019 Designer+1b
92/122
8/7/2019 Designer+1b
93/122
93
Then Expand cube nodes to display the cubes and query cubes
available.
Select the target cube.
This is the cube that you want to use to create a universe.
Click Next.
The Advanced page appears. This lists connection parameters thatyou can set to manage the connection.
You can accept the default settings when you create the
connection and modify them at any time
later.
Type or select Advanced options and click Next.
The Custom page appears.
There are no parameters listed on this page for OLAP connections.
8/7/2019 Designer+1b
94/122
8/7/2019 Designer+1b
95/122
Creating a OLAP universe by selecting a connection :
8/7/2019 Designer+1b
96/122
96
Creating a OLAP universe by selecting a connection :
8/7/2019 Designer+1b
97/122
97
Type a name and description for the universe.Select a connection from the Connections drop down
list box.
This connection must be a connection to a OLAP data source. If
you do not have a connection, you can create a connection by
clicking the New button.
Click Test to validate the connection.
8/7/2019 Designer+1b
98/122
98
The generated universe appears in the Universe pane.
The universe generation can take
while to complete depending on the
size of the target cube.
C ti OLAP i i th Q i k D i Wi d
8/7/2019 Designer+1b
99/122
99
Creating a OLAP universe using the Quick Design Wizard
From the Universe Parameters page, do the following:
Type a universe name. Select the OLAP cube connection from the database connection
drop down list box.
Ifyou want to define a new connection to a OLAP cube, click New.
The New Connection wizard starts.
completed define universe parameters page is shown below.
8/7/2019 Designer+1b
100/122
100
The final page of the wizard appears. It lists the number of class
and objects that the universe contains.
The generated universe appears in the Universe pane.
Saving and exporting a OLAP universe
Once you have generated the OLAP universe, you export the universe to the
Central Management System (
CMS) to make the universe available to otherdesigners orWeb Intelligence users.
To save and export a OLAP universe
1. Select File > Export.
The Export universe box appears.
2. Select the repository folder from the Folder drop down list.
The universe is exported to the CMS. When you want to update the
universe, you import the universe, modify it, then export the updated
version.
8/7/2019 Designer+1b
101/122
8/7/2019 Designer+1b
102/122
8/7/2019 Designer+1b
103/122
103
Selecting a Metadata Source
You can select a metadata source to create, or update a universe from theMetadata Exchange panel (File > Metadata Exchange).
You have the following options available from the Metadata Exchange panel:
1)Create a universe from : You select a metadata source format from
the drop down list. This is the source XMLfile or database view that you use to build
a universe. A universe creation wizard
takes you through steps to select a
connection for the metadata source,
selecting the metadata components that
you want to be mapped to the universe,and finally the generation of the universe.
8/7/2019 Designer+1b
104/122
104
2)Update a universe from : You select a metadata source that hasbeen updated. This is the metadata source
That has been used to create a universe.
The source has been updated, and now
you want to update the universe with the
same modification. A universe update
wizard takes you through the steps neededto update the universe.
3)Export a universe to : You select a metadata format to whichyou
can export a universe. For example, youcan select the DB2CV XML standard, then
save a universe in that format.
8/7/2019 Designer+1b
105/122
105
To select a metadata source option
1. Select File > Metadata Exchange.
The Metadata Exchange panel appears.
8/7/2019 Designer+1b
106/122
8/7/2019 Designer+1b
107/122
107
Creating a universe from a XML metadata sourceTo generate a universe from a XML metadata source
1. Select File > Metadata Exchange.
The Metadata Exchange panel appears.
2. Select a metadata format from the Create a universe from drop down
list box.Click OK.
The Universe Builder wizard starts.
Click Next.
The XML file source page appears.
3. Click the Browse button and select a XML source file. This is the file that
you want to use to generate the universe.
Click Next.
The Select database page appears.
4. Click the source database.
Click Next.
The universe elements page appears. The available database tables and
columns are listed in the left pane.
8/7/2019 Designer+1b
108/122
108
5. Select one or more tables and columns and click the right arrow to
populate the right pane. The tables and columns in the right pane are
those that appear in the generated universe. You can use the arrow
buttons to add and remove tables from the universe pane as necessary.
Click Next.
A connection and universe properties page appears. It lists the
connections available to Designer.
6.Click a connection in the connections list. This is the connection to the
data source that the universe uses to retrieve data.
Type a universe name.
Select or clear options check boxes. Click the Advanced button to set
trace log file and XML source file options.
Click Next.The universe generation summary page appears. It lists a summary of
the options that you have selected during the wizard.
Click Finish.
The generated universe appears in the universe and structure panes of Designer.
8/7/2019 Designer+1b
109/122
8/7/2019 Designer+1b
110/122
110
Choosing connection and universe options
8/7/2019 Designer+1b
111/122
Exporting a universe to DB2CV
8/7/2019 Designer+1b
112/122
112
Exporting a universe to DB2CV
You can export a universe to IBM DB2 cube View XML format file.
The universe definition is exported to a XML file that complies with IBM DB2
Cube Views XML format.
Exporting the Universe can be done through the
Metadata Exchange panel
Universe pre-requisites for export
Universe level restrictions
Each universe is exported to a Cube Model.
A universe must match a single snowflake schema with a single fact
table.
The universe must contain at least one measure
Links between universes are not supported.Contexts are not taken into account, and not exported.
Custom hierarchies: the levels of a custom hierarchy must be grouped in
the same class.
Universe pre requisites for export
8/7/2019 Designer+1b
113/122
113
Universe pre-requisites for export
Classes and objects
@Select function is the only supported @function. All other @functions
are not mapped in the export.
Conditions in the Where field of an object definition are not exported.
Note: Conditions are not supported in DB2 Cube Views objects, as they
are not used for optimization. Multi-parameter aggregation functions are not exported.
Each class must contain objects that are built on the same dimension
tables.
If the left or right column of a join does not match an object in the universe,
then an attribute for this column is automatically created and added to the
dimension (or fact) that contains the column table.
Joins
8/7/2019 Designer+1b
114/122
Class to dimension
The following table describes the mapping for a class to a dimension:
8/7/2019 Designer+1b
115/122
115
g pp g
Dimension and detail object to attribute
Fact table to Fact
8/7/2019 Designer+1b
116/122
116
Default hierarchy to hierarchy
Custom hierarchy to hierarchy
Join to join
8/7/2019 Designer+1b
117/122
117
Join to join
8/7/2019 Designer+1b
118/122
118
Creating Universe From Oracle Analytic Workspaces (Oracle OLAP)
You use the Oracle OLAP Universe Builder wizard to guide you through the
steps of universe creation. You connect to the Oracle OLAP Universe Builder
wizard from the Metadata Exchange panel (File > Metadata Exchange).
Start Metadata Exchange and select Oracle OLAP from the Create
a universe from drop down list.
Oracle OLAP Universe Builder wizard starts.
8/7/2019 Designer+1b
119/122
119
Oracle OLAP Universe Builder wizard:
8/7/2019 Designer+1b
120/122
120
Universe and view creation optionsYou can create universes and views as follows:
Oracle OLAP Universe Builder wizardGuides you to Create
the required.
8/7/2019 Designer+1b
121/122
121
How is a universe generated from an OLAP cube?
When you create a universe with the Oracle OLAP Universe Builder, it isautomatically set up for SQL access to Oracle Analytic Workspaces.
BusinessObjects Oracle OLAP Universe Builder performs the following main
tasks:
Inserts the relational fact view in the universe as a real view or as Derived
Table.
Add aliases to represent the dimension levels and hierarchies
Joins the relational view to the dimension tables with regular joins andshortcut joins. The expressions of the joins are specific to this solution.
Creates a class of objects for each Cube dimension and an object for
each level of the dimension.
Creates a subclass for each hierarchy if a dimension has more than one
hierarchy. Multi-hierarchy dimensions are supported in the view definition
and in the universe.
Define aggregate navigation to resolve object incompatibility that resultsfrom the multi-hierarchy dimensions.
Defines object expressions using the AggregateAware function to handle
the Aggregation Navigation
Transforms objects that map real dimension members (Identifiers) to
Details of objects that represent the member descriptions.
Creates measure objects
8/7/2019 Designer+1b
122/122
Questions ?