Вы находитесь на странице: 1из 109

1 September 2014

BusinessObjects Universe Designer Training


1 September 2014
What is a Universe
A universe is a semantic layer that maps the data
structure found in databases (tables, columns, etc) in
business terms.
A universe can represent any specific business area,
process, or department. For example, a universe can
relate to a department in a company such as
marketing or accounting.
1 September 2014
Business Objects Designer
1 September 2014
A typical universe layout...
Classes
Objects
Universe Pane Structure Pane
1 September 2014
Class
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 a designer, you are free to define hierarchies of
classes and subclasses into a model that best reflects
the business concepts of your company.
1 September 2014
Objects
An object is the most refined component in a universe. It
maps to data or a derivation of data in the database.
Types of objects -
Dimension Objects -
Focus of analysis in a query.
Maps to one or more columns in a database that are key to a
query.
Measure Objects -
Aggregate functions that map to statistics in a database.
Map to fact attributes of a star schema.
Detail Objects -
Descriptive data about the dimensions.
Always attached to a dimension.
1 September 2014
User Requirements
Detailed analysis of the information needs of the users.
Data Analysis
Detailed data analysis of the database breaking it down
into functional areas that users can relate to.
Design
Information from first 2 phases must be amalgamated to
create the conceptual design of the Universe, its objects
and other components.
Five stages in universe development process
1 September 2014
Development and distribution
Create using the Designer module.
Test using the User module.
Distribute to the users via the repository.

Maintenance
Designer is responsible for updating and maintaining
Universe and keeping it up to date with any changes in
the User Requirements.
Five stages in universe development process
1 September 2014
Define the Parameters
Insert Tables
Make the Joins
Resolve the Loops
Create Classes and Objects
Set up Hierarchies
Creation of the Universe
1 September 2014
Select File, Parameters
To begin creating a new universe:
Select File, New
To access the Universe Parameters dialog box for an
existing universe:
or
Click on
Creating a Universe
1 September 2014
Setting up Parameters : Definition Tab
A universe is identified with a user name and a connection
to the database
A detailed description can also be added
1 September 2014
What Is a Connection?
Definition:

A connection is a link from the universe to the
target database.
The link is achieved using middleware (for example ODBC).
An existing connection may be used or a new connection
created for a universe.
There are three different types of connections.
1 September 2014
Different Types of Connection
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
1 September 2014
Creating a New Connection
3. Identify the driver to be
used to access the target
database
2. Choose the middleware
1. Click on New.
1 September 2014
Setting up Universe Parameters
Definition Tab:name,description
and connection to the database
Summary Tab: author and
statistics about the universe
Strategies Tab: internal or
personal wizards to make
creating a universe easier
Controls Tab: manages access
and control of resources
SQL Tab: queries and SQL
parameters
Links Tab: enables dynamic
links with other universes
1 September 2014
Setting up Parameters : Summary Tab
The Summary tab displays general information about the
universe
1 September 2014
Setting up Parameters : Strategies Tab
Provides automated
strategies for:
Creating objects
Setting joins
The Table browser
listing
1 September 2014

A strategy is a script that reads structural information
from a database or a flat file.

DESIGNER uses strategies as an aid for creating the
components of the universe - objects, tables and
joins.

In DESIGNER, strategies are of 2 types
Built-in Strategies
External Strategies
Universe Strategies
1 September 2014
Built-in Strategies
Built-in strategies are pre-decided strategies that are
available with any installation of Business Objects.

DESIGNER uses the following built-in strategies for
creating the components of universes:

the Objects Creation strategy, which tells DESIGNER how to
define classes and objects automatically from the databases
tables and columns.
the Joins Creation strategy, which tells DESIGNER how to
define joins automatically from the databases tables and
columns.
the Table Browser strategy, which tells DESIGNER how to
read the table and column structures from the databases data
dictionary.
1 September 2014
Built-in Strategies
To enable automatic creation, the following must be checked
1 September 2014
External Strategies
External Strategies enable designers to specify their
own strategy for creating the universe components.

External strategy files are declared in the STG section
of .PRM files and are specific to RDBMSes.

Use of external strategies
To insert Objects - Insert --> Candidate Objects
To insert Joins - Tools --> Detect Joins
To insert Tables - Insert --> Tables

1 September 2014
Setting up Parameters : Controls Tab
These allow you to limit the
size of results and restrict the
time allowed for executing
queries
The Supervisor can
change these
parameters for
specific groups or
users
1 September 2014
Setting up Parameters : SQL Tab
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.
1 September 2014
Setting up Parameters : Links Tab
Enables dynamic
links with other
universes
Configures certain
SQL parameters
common to most
RDBMS to optimize
the SQL generated.
Setting up Parameters : Links Tab
1 September 2014
Choose File, Save or click
Saving a Universe
Save the universe using a maximum of eight characters
with up to three characters as an extension

This makes it possible to distribute the universe across
different kinds of computers
By default the universe is saved in the folder:
C:\Documents and Settings\<profile name>\Application
Data\Business Objects\Business Objects 11.5\universes
1 September 2014
Adding Tables
Use the Table browser:
Double-click on the background of the
Structure
27
Click on
Choose Insert, Tables from the menu

The Table browser displays all the tables
and views of the database

You can select multiple tables using the
Shift key or Ctrl key
1 September 2014
Customizing Table Insertion
Select Tools, Options then click on the Database tab
From here you can select
and deselect options
related to table insertion
You can set internal
strategies
to:
automatically extract joins
detect cardinalities
create objects when
inserting tables
1 September 2014
Creating classes
Manual Creation
Use Insert > class from the menu. An Edit Properties
box appears. Enter class description.

OR

Use to create a class
1 September 2014
Automatic creation
Select a table in the structure pane.
Drag it to the universe pane.
A class is created in the universe pane with the same name as the
table name.
Objects are also created automatically in the class corresponding
to the fields in the table.
Creating classes
1 September 2014
Aliases
In SQL an alias is an
alternative name for a table.
The purpose of aliases is to
resolve structural issues in a
database arising from SQL
limitations. In DESIGNER,
an alias is just a pointer to
another table
Aliases
1 September 2014
Creating objects
Manual Creation
Select the class where object is to be created.
Use Insert--> Object from the menu. An Edit Properties
box appears. Enter object details.

Automatic creation
Select a column from a table in the structure pane.
Drag it to the universe pane.
An object is created under the nearest class to the point
where you drop the column.
Default object name is column name with underscores
replaced with spaces.
1 September 2014
Object Properties
Three property pages
Definition
Name
Datatype
Description
SELECT
statement
WHERE clause

Object Properties
1 September 2014

Properties
Qualification
Associated List of
Values

Object Properties
1 September 2014

Aggregate
projection
Applicable only
to measures.
Defines how the
measure will be
aggregated
when projected
from a micro-
cube.
Object Properties
1 September 2014

Advanced
Security
User rights on
Objects
Date Formats

Object Properties
1 September 2014
Joins
1 September 2014
Joins
WHAT THEY ARE
Relationship between 2 or more tables that help
restrict the result set of a query run against those
tables.

WHY USE
They limit the occurrence of a Cartesian product, a
situation in which all possible combinations
between each row of each table are retrieved.
1 September 2014
Types of Joins
Equi-Join
Table 1.Column A = Table 2.Column B
Resulting data set limited to values common in Column A &
B.
Outer-Join
Table 1 OUTER JOIN Table 2 on Column A = Column B
Resulting data set limited to ALL the values in Table 1 and
ONLY matching values in Table 2 based on Column A and
Column B.
Theta-Join
Table 1.Column A BETWEEN .. AND
Links tables based on a relationship other than equality
between 2 columns.
1 September 2014
Creating and Deleting Joins
A join can be entered manually using two methods:
40
With the menu option
Insert, Joins and the
Edit Join box
Graphically
To delete a join, click on the join line and press Delete
1 September 2014
Integrity Check
Integrity check allows
the checking of Universe
structure, Loops ,
Contexts , Cardinality
and Parsing Check on
Joins , Conditions and
Objects .
Create a universe called VACATION
Create a new connection
Use ODBC Driver.
Connection Name Vacation-Connection
Use CLUB datasource
Connection type should be Personal
Remove the limits of 5000 rows and 10 minutes for
query time execution.

Exercise 1
1 September 2014
Identify the windows in the interface...
Class and the Object or
Universe Window
Structure Window
Table Window
1 September 2014
Exercise 2
The universe Vacation should have two Classes Customer
& Sales Details.
Customer must have 2 objects Customer-Id & Customer-
Name (Full Name)
Sales Details must have two objects Invoice Date &
Invoice-Id.
Customer (class) must have 2 detailed objects namely
Phone number & Address giving additional info. about
Customer Name.
Create an appropriate join between Customer and Sales
tables.
Save your work in the default location.
1 September 2014
Observe the Properties for an Object
Definition Tab

Properties Tab

Advanced Tab
For the object Customer Name -
1 September 2014
Exercise 2A
Query 1 -
Create a query which gives details about Customer Names
and their Invoice ID
Run the query

Query 2
Find Out the number of customers for which the invoices
have not been created from Vacation Universe.

1 September 2014
Exercise 2B
Customer class has 2 detail objects namely Phone
number & Address giving additional info. about
Customer Name.
Add another detail object called Age Range which
specifies age range for the customer.

Hint :- Use Age Range table ;Use Theta join between
age ; max ; min

1 September 2014
Exercise 2C
In the Vacation Universe create third class called
Sales Measures.
In this class create a measure object called revenue.
Save the universe and test in user module.
Notice the variation in Group By clause.

Hint :- Revenue = (days) x (nb of guest) x (price)
Use Service & Invoice line table
1 September 2014
Exercise 2D
Create dimension objects City , Region & Country in Class
Customer
In the user module create a data provider using Customer
Name, Country & Sales Revenue.
Using Slice and Dice Panel remove Customer name from
the query.
See the changes in Sales Revenue.
In Designer Module set Function = None
Repeat all the above steps
1 September 2014
Restricting Data
1 September 2014
Types of Restrictions
Hard Coded / Direct Restrictions

Indirect Restrictions

Flexible Conditioning of the Data

Multiple Prompt
1 September 2014
Hard-coded Restriction
Adding a WHERE condition to an object allows you to give
a more precise definition:
1 September 2014
How Data is Restricted
The Where clause in an SQL statement restricts the
number of rows returned in the result set:
WHERE
... join definitions ...
WHERE
... join definitions ...
AND Country=United Kingdom
1 September 2014
Indirect Restriction
Achieved using conditional objects
In the User Module , user has the option to apply the
restriction.
Obviously , more flexible than previous type of
restriction.
Once a conditional objects are included, restriction
becomes hard-coded for the query.
1 September 2014
Condition Objects
Select Condition Object View
Insert a Condition Object
Condition object name
Description
Where clause
1 September 2014
Flexible / @Prompt type Restriction
Offers maximum flexibility

Limitation of Indirect type of restriction is overcome by
having flexibility in selecting the where clause.

Achieved using @Prompt Command.
1 September 2014
@Prompt Command Syntax
Message in the Prompt Any Message

Data Type A or N or D

List Of Values
Hard Coded List of Values {Japan, USA,France}
Values of existing Objects

Number of Choices Mono ; Multi

Type of Choice Free ; Constrained

1 September 2014
Multiple Prompt Conditioning
Extension of @Prompt Conditioning
More than one where clause can be prompted.
If the same Message text is used in the next prompt,
the user is prompted only once and the same value is
substituted for the next prompt too.
For instance, consider the following where clause -
WHERE column A = @prompt(Enter
value,...)
AND column B = @prompt(Enter value,..)
This will result in the user being prompted only once
and the same value will be substituted for column B as well.
1 September 2014
Exercise 3
Add a dimension object called Customer
Name(French) to class Customer. The new object
should show only French Customers.

Save the Universe.

Test in User Module.
1 September 2014
Exercise 4
Add a condition object called French Only to class
Customer.

Set the conditions for the new object.

Save the Universe.

Check things in User Module.
1 September 2014
Exercise 5
Add another condition Object City-user-prompt to
class Customer.

Set the conditions for the new object using @Prompt
Command

Save the Universe

Check things in User Module

1 September 2014
List of Values
1 September 2014
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
1 September 2014
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
1 September 2014
Controlling How Lists are Refreshed
Normally, the first time a LoV is used in a User login
session, the system fires a query at the target database.
The results of this query are used to populate the list, and
are stored in the .lov file.
Thereafter, the .lov file from this query is used each time
the List is required.
1 September 2014
Controlling How Lists are Refreshed
Not normally used -
uncheck this box
Check this box for
frequently changing lists
Check this box for lists that
never change
1 September 2014
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
1 September 2014
Applying a Condition to a List of Values
Click Edit in the Properties box:
Apply the condition in the Query
Panel:
1 September 2014
Creating a Hierarchy for a List of Values
Click Edit in the Properties box:
Place the hierarchy objects (which
must be sorted) to the right of the
LoV object in the Query Panel:
1 September 2014
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:
1 September 2014
Basing a LoV on a Personal File
Select Tools, Lists of Values from the Menu bar:
Select the object:
Select Personal Data:
1 September 2014
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
1 September 2014
Exercise 6
Edit the LOV for object City. The list should display
only cities for the US as the country of origin.

Edit the LOV for object City and create a hierarchical
LOV consisting of Country, Region and City.

Edit the LOV for City and base it upon a personal file
\Universe\City_LOV.txt
1 September 2014
Hierarchies
1 September 2014
Hierarchies
An ordered set of related dimensions.
For example, A hierarchy called Geography may consist
of Country, Region and City.
Necessary to drill up / down to see less or more
details.
Designer uses the class structure as the default
hierarchy.
Custom Hierarchies can be built using Tools >
Hierarchies. A Hierarchy editor pops up. Use this to
create new hierarchies.
Some classic examples for hierarchies -
Products - Category > Brand > Product
Time - Year > Quarter > Month > Week > Day
1 September 2014
U.K.
North South
Liverpool Manchester Newcastle London Southampton Bristol
Level in Hierarchy
Data Returned
What is a Hierarchy?
An ordered set of related dimensions.
For example, A hierarchy called Geography may consist of
Country, Region and City.
1 September 2014
What is a Default Hierarchy?
A Default Hierarchy is the hierarchy based on the order of
the Objects within the Class
Default Hierarchies are
represented in the User
module by the order in which
Dimension Objects are
organized in the Classes and
Objects box of the Query
Panel
1 September 2014
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
1 September 2014
What is a Custom Hierarchy?
A Custom Hierarchy combines Objects from Default
Hierarchies to build a Custom Analysis Path
Default Hierarchies
Custom Hierarchy
1 September 2014
Creating Custom Hierarchies
Add Objects from Default Hierarchies to build a new
Custom Hierarchy
(or Tools,
Hierarchies)
1 September 2014
Automatic Time Hierarchy
A time hierarchy
can be built
automatically for date
objects.
1 September 2014
Exercise 7
Make a copy of the Island resorts marketing universe
(Beach.unv) called TEST.unv
Create a custom hierarchy in this universe that
consists of Customer, Service Line, Service.
Test this out in the User Module.
For the VACATION universe, create a Automatic Time
Hierarchy on the object called Invoice Date in the
class Sales Details.
Save the Universe and test this out in the User
Module.
1 September 2014
Loops
1 September 2014
What is a loop?
Multiple paths between the tables selected in queries.
1 September 2014
Loops can be resolved by..
ALIASES
Alias - Same as the namesake in SQL.
Exact duplicate of the original table.
A different name tricks the SQL query to accept that you
are using 2 different tables.

CONTEXTS
Rule which helps BO decide which of the 2 paths to choose
in a loop.
BO prompts the user to indicate the correct perspective
(relevant path) for the query.
1 September 2014
When to Alias
A loop with a single
lookup table should be
resolved by an alias
A lookup table can be
identified by its
cardinality
N N
N
N
N
1 1
1
1
1
A lookup table only has
the one end of joins
attached to it
Alias needed here
1 September 2014
How to Alias
Designer routines
detect loops and
candidates for aliases
Break the loop by
creating an alias of the
lookup table for each
side of the loop
Do not remove the
original table
1 September 2014
Resolving Loops using Contexts
Customers
Sales
Sal
Lines
Loans
Loans
Lines
Country
There are two possible routes to
link Clients with Models:
Working with sales
Working with rentals
1 September 2014
Detecting and Creating Contexts
Detect Contexts detects and proposes
a list of contexts to create
Loop Detection routine: suggests candidates
for both aliases and contexts
Insert Contexts inserts a context
manually
1 September 2014
Add following table to the Vacation Universe
Service_line
Resort

Use Alias to Solve the loop

Complete the universe Designing

Save the universe as Vct-Als

Test the new universe in the User Module
Exercise 8
1 September 2014
Add following table to the Vacation Universe
Service_line
Reservation
Reservation_Lines
Resort

Solve the loop

Complete the universe Designing

Save the universe as Vct-Con

Test the new universe in the User Module
Exercise 9
OLAP Universes
1 September 2014
OLAP Universes
OLAP universes are generated from OLAP cube or
Query.
OLAP data sources supported are:
BW SAP
Microsoft Analysis Services
Essbase
OLAP universes are created by selecting an OLAP
connection to a QueryCube or InfoCube. The universe
creation process is automatic once the connection is
selected.
1 September 2014
OLAP Universes
Creating a OLAP connection.
Select Tools > Connections.
Select Add.
Expand the node for your target OLAP datasource.
Expand the middleware node.
Select the data access driver.
Select logon options and click Next.
Expand cube nodes to display the cubes and query cubes
available.
Select Advanced options and click Next.
Click Next.
Click Finish to complete the connection creation.
1 September 2014
OLAP Universes
Generating a OLAP universe
Click the New Universe icon.
Select a connection from the Connections drop down list
box.(It should be an OLAP connection.
Click OK.
Note: Since it is a OLAP connection, the
universe is automatically generated.
1 September 2014
Universe Maintenance
1 September 2014
Reasons for Universe Maintenance
New tables added to database
Tables deleted, changed or renamed in database
Users request new classes or objects
Note:Your primary concern when you introduce a new
version of a universe should be what effect it will
have on existing end user reports
1 September 2014
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:
1 September 2014
Detecting Changes to the Universe
Choose View, Refresh Structure
Changed tables are highlighted in
the Structure
A message on the screen
indicates that tables have been
deleted
1 September 2014
No Impact

Redefining Object SQL
Renaming an Object
Copying to different Class
Moving in same Class or to
a different Class
Adding new Objects
Impact

Deleting an existing
Object
Deleting and then
recreating an object with
exactly the same
definition
The Effect of Changing Objects
Changes to existing Objects in a Universe can have an
impact on existing Documents created from the Universe:
1 September 2014
Linking Universes
Linking can mean reduced maintenance.
Universe A
Universe A
Universe B
1 September 2014
Two Approaches to Linking
Kernel approach

Master approach
1 September 2014
Kernel Approach
Human Resources
+
Motors2000
+
Kernel
Kernel
Kernel
Staff
1 September 2014
Master Approach
Master
Human Resources
Motors2000
HR
and
Motors2000
-
-
Master
Master
1 September 2014
Making a Link
Click and click on the Links tab
Click Add Link...
Choose universe to
link and click Open
1 September 2014
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 in the derived universe. The
same procedure should be applied
1 September 2014
Including Universes
Including a Universe COPIES structure and objects to the
derived universe:
Universe A
Universe B
Everything
from
Universe A
Universe B
Universe A
1 September 2014
Included Universes
Included universes become part of the new universe
1 September 2014
Thank You

Вам также может понравиться