Vous êtes sur la page 1sur 63
Business Objects Designer Training By BO Competency

Business Objects Designer Training

By

BO Competency

DESIGNER MODULE

DESIGNER MODULE

Agenda

•Creation of Universe •Connecting to Databases •Selecting Tables and columns •Creation of classes •Creation of objects •Joins •Data Restriction

Agenda •Creation of Universe •Connecting to Databases •Selecting Tables and columns •Creation of classes •Creation of

What is a Universe

What is a Universe ❒ A universe is a semantic layer that maps the data structure

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

Business Objects Designer
Business Objects Designer

A typical universe layout ...

A typical universe layout ... Objects Classes Universe Pane Structure Pane
Objects Classes
Objects
Classes

Universe Pane

Structure Pane

Class

Class • A class is a logical grouping of objects within a universe. In general, the

• 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

Objects ❒ An object is the most refined component in a universe. It maps to data

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.

Five stages in universe development process

• User Requirements

Five stages in universe development process • User Requirements – Detailed analysis of the information needs

– 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.

• Development and distribution

• Development and distribution – Create using the Designer module. – Test using the User module.

– 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.

Creation of the Universe

Creation of the Universe Define the Parameters Resolve the Loops Insert Tables Create Classes and Objects
Creation of the Universe Define the Parameters Resolve the Loops Insert Tables Create Classes and Objects

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

Creating a Universe • To begin creating a new universe: Select File, New • To access

• To access the Universe Parameters dialog box for an existing universe:

Select File, Parameters or Click on

Creating a Universe • To begin creating a new universe: Select File, New • To access

Setting up Parameters :

Definition Tab

Setting up Parameters : Definition Tab • A universe is identified with a user name and

A universe is identified with a user name and a connection to the database

A detailed description can also be added

Setting up Parameters : Definition Tab • A universe is identified with a user name and

What Is a Connection?

What Is a Connection? • Definition:  A connection is a link from the universe to

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.

What Is a Connection? • Definition:  A connection is a link from the universe to

There are three different types of connections.

Different Types of Connection

  • Personal

Can only be used on the client

Different Types of Connection Personal Can only be used on the client Shared Can be used

Shared

Different Types of Connection Personal Can only be used on the client Shared Can be used

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

Creating a New Connection 1. Click on New. 2. Choose the middleware 3. Identify the driver
  • 1. Click on New.

Creating a New Connection 1. Click on New. 2. Choose the middleware 3. Identify the driver
  • 2. Choose the middleware

Creating a New Connection 1. Click on New. 2. Choose the middleware 3. Identify the driver
Creating a New Connection 1. Click on New. 2. Choose the middleware 3. Identify the driver
Creating a New Connection 1. Click on New. 2. Choose the middleware 3. Identify the driver
  • 3. Identify the driver to be used to access the target database

Setting up Universe Parameters

Setting up Universe Parameters • Definition Tab: name, description and connection to the database • Summary

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 Universe Parameters • Definition Tab: name, description and connection to the database • Summary

Setting up Parameters : Summary Tab

The Summary tab displays general information about the universe

Setting up Parameters : Summary Tab • The Summary tab displays general information about the universe
Setting up Parameters : Summary Tab • The Summary tab displays general information about the universe

Setting up Parameters : Strategies Tab

Setting up Parameters : Strategies Tab Provides automated strategies for: • Creating objects • Setting joins

Provides automated strategies for:

Creating objects

Setting joins

The Table browser listing

Setting up Parameters : Strategies Tab Provides automated strategies for: • Creating objects • Setting joins

Universe Strategies

Universe Strategies A strategy is a script that reads structural information from a database or a

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

Built-in Strategies

Built-in Strategies Built-in strategies are pre-decided strategies that are available with any installation of Business Objects.

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 database’s tables and columns

the Joins Creation strategy, which tells DESIGNER how to define joins automatically from the database’s tables and columns

the Table Browser strategy, which tells DESIGNER how to read the table and column structures from the database’s data dictionary

Built-in Strategies

Built-in Strategies To enable automatic creation, the following must be checked….

To enable automatic creation, the following must be checked….

Built-in Strategies To enable automatic creation, the following must be checked….

External Strategies

External Strategies External Strategies enable designers to specify their own strategy for creating the universe components.

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”

Setting up Parameters : Controls Tab

Setting up Parameters : Controls Tab • These allow you to limit the size of results

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 : Controls Tab • These allow you to limit the size of results

Setting up Parameters : SQL Tab

Setting up Parameters : SQL Tab • SQL parameters are used to define the limits of

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

Setting up Parameters : SQL Tab • SQL parameters are used to define the limits of

Setting up Parameters : Links Tab

Setting up Parameters : Links Tab • Enables dynamic links with other universes

Enables dynamic links with other universes

Setting up Parameters : Links Tab • Enables dynamic links with other universes

Saving a Universe

Saving a Universe • Save the universe using a maximum of eight characters with up to

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

• Choose File, Save or click

By default the universe is saved in the folder:

c:\Program Files\Business Objects\BusinessObjects 5.0\universe

Adding Tables

Adding Tables • Use the Table browser:  Double-click on the background of the Structure 

Use the Table browser:

Double-click on the background of the Structure

Click on

Adding Tables • Use the Table browser:  Double-click on the background of the Structure 

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

Adding Tables • Use the Table browser:  Double-click on the background of the Structure 

Customizing Table Insertion

Customizing Table Insertion • Select Tools, Options then click on the Database tab • From here

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

Customizing Table Insertion • Select Tools, Options then click on the Database tab • From here

Creating classes

Manual Creation

Creating classes Manual Creation  Use “Insert > class” from the menu. An ‘Edit Properties’ box

Use “Insert > class” from the menu. An ‘Edit Properties’ box appears. Enter class description.

OR

Use to create a class

Creating classes Manual Creation  Use “Insert > class” from the menu. An ‘Edit Properties’ box
Creating classes Manual Creation  Use “Insert > class” from the menu. An ‘Edit Properties’ box

Automatic creation

Automatic creation – Select a table in the structure pane. – Drag it to the universe

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.

Automatic creation – Select a table in the structure pane. – Drag it to the universe

Creating objects

Manual Creation

Creating objects Manual Creation  Select the class where object is to be created.  Use

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 - Data type - Description - SELECT

Three property pages

Definition

  • - Name

  • - Data type

  • - Description

  • - SELECT statement

  • - WHERE clause

Object Properties Three property pages  Definition - Name - Data type - Description - SELECT

• Properties  Qualification  Associated List of Values

Properties

Qualification

Associated List of Values

Aggregate projection  Applicable only to measures.  Defines how the measure will be aggregated when

Aggregate projection

Applicable only to measures.

Defines how the measure will be aggregated when projected from a micro-cube.

Aggregate projection  Applicable only to measures.  Defines how the measure will be aggregated when

• Advanced  Security  User rights on Objects  Date Formats

Advanced

Security User rights on Objects Date Formats

Joins

Joins

Joins

Joins WHAT THEY ARE - Relationship between 2 or more tables that help restrict the result

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

Types of Joins • Equi-Join  Table 1.Column A = Table 2.Column B  Resulting data

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

Creating and Deleting Joins • A join can be entered manually using two methods:  Graphically

A join can be entered manually using two methods:

Graphically

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

Creating and Deleting Joins • A join can be entered manually using two methods:  Graphically
Creating and Deleting Joins • A join can be entered manually using two methods:  Graphically

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

HANDS ON WORKSHOP

HANDS ON WORKSHOP

Exercise 1

Exercise 1 •Create a universe called “ VACATION ” •Create a new connection •Use ODBC Driver.

•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.

Identify the windows in the interface...

Identify the windows in the interface... • Class and the Object or Universe Window • Structure

Class and the Object or

Universe Window

Structure Window

Table Window

Identify the windows in the interface... • Class and the Object or Universe Window • Structure
Exercise 2 • The universe Vacation should have two Classes Customer & Sales Details. • Customer

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.

Observe the Properties for an Object

Observe the Properties for an Object For the object Customer Name - • Definition Tab •
Observe the Properties for an Object For the object Customer Name - • Definition Tab •

For the object Customer Name -

Definition Tab

Properties Tab

Advanced Tab

Exercise 2A

Exercise 2A • Query 1 -  Create a query which gives details about Customer Names

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.

Exercise 2B

Exercise 2B • Customer class has 2 detail objects namely Phone number & Address giving additional

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

Exercise 2C

Exercise 2C • In the Vacation Universe create third class called “Sales Measures”. • In this

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

Exercise 2D

Exercise 2D • Create dimension objects City , Region & Country in Class Customer • In

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

Restricting Data

Restricting Data

Types of Restrictions

Types of Restrictions • Hard Coded / Direct Restrictions • Indirect Restrictions • Flexible Conditioning of

Hard Coded / Direct Restrictions

Indirect Restrictions

Flexible Conditioning of the Data

Multiple Prompt

Hard-coded Restriction

Hard-coded Restriction • Adding a WHERE condition to an object allows you to give a more

Adding a WHERE condition to an object allows you to give a more precise definition:

Hard-coded Restriction • Adding a WHERE condition to an object allows you to give a more
Hard-coded Restriction • Adding a WHERE condition to an object allows you to give a more

How Data is Restricted

How Data is Restricted • The Where clause in an SQL statement restricts the number of

The Where clause in an SQL statement restricts the number of rows returned in the result set:

WHERE join definitions ...

...

How Data is Restricted • The Where clause in an SQL statement restricts the number of

WHERE join definitions ...

...

AND Country=‘United Kingdom’

How Data is Restricted • The Where clause in an SQL statement restricts the number of

Indirect Restriction

Indirect Restriction • Achieved using conditional objects • In the User Module , user has the

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

Condition Objects • Select Condition Object View • Insert a Condition Object • Condition object name

Select Condition Object View

Insert a Condition Object

Condition object name

Description

Where clause

Condition Objects • Select Condition Object View • Insert a Condition Object • Condition object name
Condition Objects • Select Condition Object View • Insert a Condition Object • Condition object name

Flexible / @Prompt type Restriction

Offers maximum flexibility

Flexible / @Prompt type Restriction • Offers maximum flexibility • Limitation of Indirect type of restriction

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 Data Type List Of Values

Hard Coded List of Values Values of existing Objects

Number of Choices Type of Choice

‘Any Message’ A’ or ‘N’ or ‘D’

{‘Japan’, ‘USA’,’France’}

Mono ;

Multi Free ; Constrained

@Prompt Command Syntax • Message in the Prompt • Data Type • List Of Values 

Multiple Prompt Conditioning

Multiple Prompt Conditioning • Extension of @Prompt Conditioning • More than one where clause can be

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.

HANDS ON WORKSHOP

HANDS ON WORKSHOP

Exercise 3

Exercise 3 • Add a dimension object called “ Customer Name(French)” to class Customer. The new

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.

Exercise 4

Exercise 4 • Add a condition object called “ French Only” to class Customer. • Set

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.

Exercise 5

Exercise 5 • Add another condition Object “City-user-prompt” to class Customer. • Set the conditions for

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