Vous êtes sur la page 1sur 56

Designer

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.
Business Objects Designer
A typical universe layout...

Objects

Classes

Universe Pane Structure Pane


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.
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.
Creating a Universe
 To begin creating a new universe:
Select File, New

 To access the Universe Parameters dialog box for an


existing universe:
Select File, Parameters

or
Click on
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
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.
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
Creating a New Connection
1. Click on New.
2. Choose the middleware

3. Identify the driver to


be used to access
the target database
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
Setting up Parameters : Summary
Tab
 The Summary tab displays general information about the
universe
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
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.
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

 Choose File, Save or click

 By default the universe is saved in the folder:


C:\Documents and Settings\<profile name>\Application
Data\Business Objects\Business Objects 11.5\universes
Adding Tables
 Use the Table browser:
 Double-click on the background of the
Structure
 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

17
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
Creating classes
Manual Creation
 Use “Insert > class” from the menu. An ‘Edit Properties’
box appears. Enter class description.

OR

 Use to create a class


Creating classes
 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.
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
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.
Object Properties
Object Properties
Three property pages
 Definition
 Name
 Datatype
 Description
 SELECT
statement
 WHERE clause
Object Properties

 Properties
• Qualification
• Associated List of
Values
Object Properties

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

 Advanced
• Security
• User rights on
Objects
• Date Formats
Joins
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.
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.
Creating and Deleting Joins
 A join can be entered manually using two methods:

 Graphically

 With the menu option


Insert, Joins and the
Edit Join box

 To delete a join, click on the join line and press Delete

30
Integrity Check
 Integrity check allows
the checking of
Universe structure,
Loops , Contexts ,
Cardinality and
Parsing Check on
Joins , Conditions and
Objects .
Restricting Data
Types of Restrictions
 Hard Coded / Direct Restrictions

 Indirect Restrictions

 Flexible Conditioning of the Data

 Multiple Prompt
Hard-coded Restriction
 Adding a WHERE condition to an object allows you to give
a more precise definition:
How Data is Restricted
 The Where clause in an SQL statement restricts the
number of rows returned in the result set:

WHERE WHERE
... join definitions ... ... join definitions ...
AND Country=‘United Kingdom’
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.
Condition Objects
 Select Condition Object View

 Insert a Condition Object

 Condition object name

 Description

 Where clause
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.


@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
List of Values
What is a List of Values?
 A list of the distinct values from the column or columns to
which the object refers

 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


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 don’t
need a List
Applying a Condition to a List of
Values
 Click Edit in the Properties box:

 Apply the condition in the Query


Panel:
Loops
What is a loop?
Multiple paths between the tables selected in
queries.
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.
When to Alias
 A loop with a single N N
lookup table should be
resolved by an alias
1

N 1
 A lookup table can be
1
identified by its N

cardinality N
1 1

 A lookup table only has


the ‘one’ end of joins Alias needed here
attached to it
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
Resolving Loops using Contexts

Sales Sal
Lines

Country Customers

There are two Loans Loans


possible routes to
Lines
link Clients with Models:
• Working with rentals
• Working with sales
Detecting and Creating Contexts

 Loop Detection routine: suggests candidates


for both aliases and contexts

 “Detect Contexts”
detects and proposes a
list of contexts to create

 “Insert Contexts” inserts a context


manually
Universe Maintenance
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
Changes to the Target Database

 The implications of modifying the underlying database for


BusinessObjects universes varies in severity:

 No Impact:  Severe Impact:

 Adding new columns  Renaming/moving database


 Adding new tables  Changing existing column
and table names
 Deleting tables and columns
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
The Effect of Changing Objects
 Changes to existing Objects in a Universe can have an
impact on existing Documents created from the Universe:

 No Impact  Impact

• Redefining Object SQL • Deleting an existing


• Renaming an Object Object
• Copying to different Class • Deleting and then
• Moving in same Class or to recreating an object with
a different Class exactly the same
• Adding new Objects definition
Thank You

Vous aimerez peut-être aussi