Beruflich Dokumente
Kultur Dokumente
Developers
SQL
End Users
3 Business Object XI R3 Designer
Developers
SQL
End Users
Information accessed
via a semantic layer
Sales
Universe Design
Designer
Stock
Finance
End Users
IS Needs
End-User Needs
Security and control
Ease of use
Maintainability
Reliability
Cost-effective set-up
Integrated reporting and
Enterprise-wide
analysis tools
interoperability
4 Business Object XI R3 Designer
Business
Knowledge
Specific
OLTP
OLAP
Servers
Data Mart/
Warehouse
Personal
Sales/Marketing
Human
Resources
Employee
Salary
Benefits...
Sales Revenue
Sales Executive
Customer
Product
Price
Order Date ...
Normalized
Aggregate
Tables
Production
Schema
Star
Schema
Snowflake
Data
Warehouses
Multiple
Stars
Meta Data
Analyze
Identify the needs
of the end user
population
Plan
Design the
universe(s)
15 Business Object XI R3 Designer
HR on
Sybase
Financials
on Oracle
Test
Using a test team (including
end users)
Deploy
Distribute the universe to
end users
Evolve
Adapt and extend
universe over time
16 Business Object XI R3 Designer
80
20
17 Business Object XI R3 Designer
Test
Universe Design XI
Module 2: The Designer Module
Opens DESIGNER
with the specific
access rights of the
user.
23
Designer Module
Standard Toolbar
Formu
la Bar
Editing
Toolba
r
Objects
and
Classes
Structure
24
Universe Design XI
Module 3: Setting Parameters
Name a universe
Set up a connection
Creating a Universe
Define the Parameters
Resolve the Loops
Insert Tables
Create Classes and Objects
Make the Joins
Set up Hierarchies
Creating a Universe
To begin creating a new universe:
Select File, New
or
Click on
What Is a Connection?
Definition:
Personal
Can only be used on the client
Shared
Can be used by more than one user to send queries to the
target database from a shared server
Secured
This connection is used when you wish to distribute the
completed universe to the user population via the repository
Saving a Universe
Creating objects
Setting joins
The Table browser
listing
The Supervisor
can change these
parameters for
specific groups or
users
SQL parameters
are used to define
the limits of the
SQL that may be
generated by the
universe
The Supervisor
can change these
parameters for
specific groups
and users
Enables
dynamic links
with other
universes
A user name
A connection to the database
Universe Design XI
Module 4: Populating the Structure with Tables
Move tables
Adding Tables
Use drag and drop to move the tables around the Structure
Click on
Click on
and
Universe Design XI
Module 5: Joins
Set cardinalities
Joins
A join is a condition that restricts the result set of a
multi-relational query
Outer join
Theta join
Equi-Joins
Graphically
Outer Joins
Theta Join
Theta Join
Theta Join Result Set:
Join Cardinalities
Cardinality:
Adding Cardinalities
Automatically using
Checking Integrity
Beware!
Testing
Universe Design XI
Module 6: Creating and Testing Classes and Objects
Test objects
Objects
An object is the most refined component in a
universe. It maps to data or a derivation of data in the
database.
Dimensions
Projects columns from the database which
are key
to a query
Details
Projects columns from the database that
provide detailed information related to a
dimension
Measures
Classes
A class is a logical grouping of
objects within a universe. In
general, the name of a class
reflects a business concept that
conveys the category or type of
objects.
A class can be further divided into
subclasses.
As designer, you are free to define
hierarchies of classes and
subclasses into a model that best
reflects the business concepts of
your company.
73 Business Object XI R3 Designer
Order of dimensions
in a class
hierarchically
Use
to
create a class
Use the
Description field
to provide
information for
users
Creating a Sub-Class
Creating an Object
Different Ways:
Manually with
By default the
type is the same
type as used by
the database
Add a description
to the object
Inferred SQL
Pick Lists
Associate a List of
Values for end users
conditions if
appropriate
copy objects
from one
universe to
another
function to locate
character strings in
objects and there
definitions
Find function in
conjunction with the
Replace function to
edit strings
Checking Integrity
Testing Objects
Test Universe
Save Universe
Universe Design XI
Module 7: Creating and Testing Measure Objects
Sum
Count
Average
Maximum
Minimum
A Measure is Dynamic
Aggregation
Query Results
database
Aggregation Project
Select Aggregate
Project
Recommended
Aggregate
Sum
Sum
Count
Sum
Average
recommended)
Maximum
Maximum
Minimum
Minimum
Select must be an
aggregate
Aggregate Function
must be
appropriate for the
Select aggregate
Measures should
not have an
Associated List of
Values
You can view the parent tables of an object by rightclicking on an object and selecting the View Associated
Table option
GROUP BY
Country.country
GROUP BY
Country.country,
Region.Region_Name
103 Business Object XI R3 Designer
An Aggregation Problem
The Group By clause groups each distinct dimension attribute and
produces a single measure value for that group. If you are not careful
when creating a query with dimensions and measures, this can result
in misleading information.
Universe Design XI
Module 8: Resolving Loops in a Universe
What is a loop?
A loop exists when the joins between tables form a continuous path
109 Business Object XI R3 Designer
Alias Detection
Routine
...and...
Context
Detection
Routine
Cardinality Detection
Cardinality
Set
Cardinalities:
not set:
Do this manually:
What is an Alias ?
Easy to define
Easy to maintain
Easy to use
When to Alias
1
N
N
1
How to Alias
Designer routines
detect loops and
candidates for
aliases
Advantages
Disadvantages
Detect Loops
Detect Aliases
Insert Alias
Only when this is done for each object relating to a multilookup table will they return the correct results if used in a
single object query
122 Business Object XI R3 Designer
Sales
Universe
Rentals
Universe
Country
Sal
Lines
Customers
Sale_Model context
A context is
detected for each
route on which there
is a table with just
many
cardinality.
Each context
represents what may
be inferred in a
single SELECT
statement.
Any query which
infers some SQL
code exclusive to
one context and
some exclusive to
the other will infer
two separate
SELECT statements
Editing Contexts
The description
appears in the User
module Help panel
Loop 1 of 10
Shortcut Joins
If a query includes
Client and Country but
NOT Region, the
Region joins are still
needed in the SQL.
Ineffecient!
What a Loop is
Universe Design XI
Module 9: Contexts, Chasm & Fan Traps
Alternative Routes
Loop
2 Routes = 2 Contexts
Context 2
Context 1
Fork
2 Routes = 2 Contexts
Context 2
You can arrange your universe structure so that all joins are flowing
from the many ends at the left to the one ends at the right.
Number of
contexts
required = 2
145 Business Object XI R3 Designer
No joins flowing
The forward flowing joins form the Sale
context
back from one to
many are included
The chasm trap is resolved by executing a separate SELECT statement for object Y and
object Z.
148 Business Object XI R3 Designer
Step 1
many
to one
to
many
Step 3
Deny Multiple SQL Statements for each measure
Test 2
Test 3
Test 3
Test 3
Where you have a many-one-many relationship for tables in the FROM clause
the resulting logical table produces something akin to a Cartesian Product.
Only then is aggregation applied. This is the reason for the chasm effect.
152 Business Object XI R3 Designer
Click
Click
Check
The Chasm Trap query will now make one query for
each measure and combine the results - correctly.
2) IN-EFFICIENT
The parameter will
force a SELECT
statement for each
measure, even when
it is NOT necessary
to do so!
156 Business Object XI R3 Designer
Dimensions
Conclusion:
Always use contexts to resolve Chasm Traps
Like the chasm trap, the fan trap can be resolved by executing a separate SELECT
statement for object Y and object Z. The alternative solution is to avoid it in the first place!
159 Business Object XI R3 Designer
Step 1
one to
many to
many
Test 2
Test 2
The problem on test 2 arises because the
processing of a single SELECT statement
produces a single virtual logical table to
apply aggregation.
162 Business Object XI R3 Designer
Test 2
Where you have a one-many-many relationship for tables in the FROM clause
the resulting logical table produces something akin to a Cartesian Product.
Only then is aggregation applied. This is the reason for the fan effect.
163 Business Object XI R3 Designer
Click
Click
Check
The Fan Trap query will now make one query for each
measure and combine the results - correctly.
Ba
Universe Design XI
Module 10: Restrictions
Universe Design XI
Module 11: Using @ Functions
The @ Functions
@Prompt
When a query is run that includes the object, the @prompt of the object
forces a prompt box to appear
@Prompt Syntax
SHOWROOM.SHOWROOM_NAME = @PROMPT
Operator dependent on operand
(
The prompt. Enter Showroom Name,
Data Type (A, N or D)... A,
LoV Pointer.... Showroom\Showroom,
Or hardcoded list : {A,B,C}
Mono or multi (LoV selection).. Mono,
Free or constrained (to value in LoV).. Constrained
)
181 Business Object XI R3 Designer
@Select
@Where
The @Where function acts as a pointer to the Where box of another object
You can create a Class containing only Where clause objects, and hide
the Class from end Users - other objects use the Where clauses, but the
Users dont see the base objects.
COUNTRY = JAPAN
BOPASS
Where clause:
Employees.Employee_Name = @Variable(BOUSER)
Restricts data returned to that relating to the Users login name
187 Business Object XI R3 Designer
@Script
WHERE
... join definitions ...
WHERE
... join definitions ...
AND Country=United Kingdom
Designers:
Where clause in objects:
Users:
Creating a
condition object:
Additional Join
Information:
Self-Restricting Joins:
Using a condition
object:
Filtering a report:
Defining a condition:
Restricting Objects
Condition Objects
No multiple objects
Condition Objects
Description
Where clause
Additional Joins
Universe Design XI
Module 12: List of Values
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
Country:
Town:
Showroom:
Specify the file that contains the values for the list
and click OK
Universe Design XI
Module 13: Hierarchies
What Is a Hierarchy?
Level in Hierarchy
Data Returned
U.K.
North
South
Top Level
Level 1
Level 2
Level 3
Default Hierarchies
(or Tools,
Hierarchies)
Sale Date
25/11/07
Day
Month
Quarter
Year
Universe Design XI
Module 14: Aggregate Awareness
Summary Tables
233 rows
33 rows
The
Annual_Figures
Set the
contexts
context
@AggregateAware Syntax:
@AggregateAware(Definition1,Definition2,,DefinitionN)
Recommended Solution
1) Create an Alias of Table A.
B
An
X
Y
An
Summary Tables containing aggregate values will denormalize the structure, but will speed up queries.
Universe Design XI
Module 15: Documenting, Distributing &
Maintaining a Universe
Documenting a Universe
Phase 1-2
Phase 4
Phase 5
Phase 7
Phase 6
Insecure
Secure
Unsecured Distribution
Work Group Mode
Via E-Mail
1) Load .unv
S:\Test
S:\Designer
File server
Access controlled
By network security
Business Objects
Universe
(Shared Connection)
2) Create
Middleware
Driver
Create
Middlewar
e
Driver
Motors2k.unv
Business Objects
Universe
(Personal
Connection)
Issue 23, August 2007
Motors2k.unv
Webi server
Business Objects
Universe
Universe Domain Name
Motors2k.unv
.unv flags
checked
when used
BusinessObjects
repository
Export
Flags created /
incremented
Business Objects
Universe
(Secured Connection)
Supervisor in control
User based security
allocated to user groups
Universe
Motors2k.unv
Domain Name
Motors2k.unv
Exporting a Universe
Repository
Universe Domain
Document Domain
Security Domain
Designer
The flags attached to the universe are incremental. This guarantees the user
will use the most recent version of the universe
Repository
.unv
.unv
BOMain.key
.unv
SQL
Database
.rep
Repository
.unv
.unv
WebI Server
HTTP
Bomain.key
.unv
<Profile>.lsi
Program Files\Business
Objects\BussinessObjects
5.0\Universe\<Universe Domain Name>
\Program Files\BusinessObjects\Business
Objects
5.0\Locdata
SQL
\Program Files\BusinessObjects\Business
Objects 5.0\Temp\sessions\EN.
.html
Database
.html
258 Copyright 2007 Business Objects SA - All Rights Reserved
Minimal Impact:
Adding new columns
Adding new tables
Greater Impact:
Renaming/moving database
Changing existing column
and table names
Deleting tables and columns
in the Structure
A message on the screen
indicates that tables have been
deleted
Minimal Impact:
Redefining Object SQL
Renaming an Object
Copying to different Class
Moving in same Class or to
a different Class
Adding new Objects
Greater Impact:
Deleting an existing
Object
Deleting and then
recreating an object with
exactly the same
definition
Universe Design XI
Module 16: Linking Universes
Linking Universes
Within a universe (B) it is possible to dynamically link to another
universe (A).
Universe
A
Universe A
Universe B
Holds core
objects
Kernel A
Universe
A
Derived B
Universe
A
Derived C
Making a Link
Click
Choose universe to
link and click Open
Universe
A
Include
LINK
Universe A
Universe B
Included Universes
Questions ?