You are on page 1of 63

Business Objects Designer

Training

By

BO Competency

BO
BOTechnical
TechnicalTraining
Training 1
DESIGNER MODULE

BO Technical Training
Agenda

•Creation of Universe

•Connecting to Databases

•Selecting Tables and columns

•Creation of classes

•Creation of objects

•Joins

•Data Restriction

BO Technical Training
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.

BO Technical Training
Business Objects Designer

BO Technical Training
A typical universe layout...

Objects

Classes

Universe Pane Structure Pane

BO Technical Training
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.

BO Technical Training
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.

BO Technical Training
Five stages in universe development process

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

BO Technical Training
• 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.

BO Technical Training
Creation of the Universe

Define the Parameters


Resolve the Loops

Insert Tables

Create Classes and Objects

Make the Joins

Set up Hierarchies

BO Technical Training
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

BO Technical Training
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

BO Technical Training
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.

BO Technical Training
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

BO Technical Training
Creating a New Connection

1. Click on New.

2. Choose the middleware

3. Identify the driver to be


used to access the target
database

BO Technical Training
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

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

BO Technical Training
Setting up Parameters : Strategies Tab

Provides automated
strategies for:
• Creating objects
• Setting joins
• The Table browser listing

BO Technical Training
Universe Strategies

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

BO Technical Training
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 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

BO Technical Training
Built-in Strategies

To enable automatic creation, the following must be


checked….

BO Technical Training
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”

BO Technical Training
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

BO Technical Training
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

BO Technical Training
Setting up Parameters : Links Tab

• Enables dynamic
links with other
universes

BO Technical Training
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:\Program Files\Business Objects\BusinessObjects 5.0\universe

BO Technical Training
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

BO Technical Training 28
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

BO Technical Training
Creating classes

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

OR

– Use to create a class

BO Technical Training
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.

BO Technical Training
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.

BO Technical Training
Object Properties
Three property pages

 Definition
- Name
- Data type
- Description
- SELECT statement
- WHERE clause

BO Technical Training
• Properties

 Qualification
 Associated List
of Values

BO Technical Training
Aggregate projection
 Applicable only to
measures.
 Defines how the
measure will be
aggregated when
projected from a
micro-cube.

BO Technical Training
• Advanced
 Security
 User rights on
Objects
 Date Formats

BO Technical Training
Joins

BO Technical Training
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.

BO Technical Training
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.

BO Technical Training
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

BO Technical Training 40
HANDS ON WORKSHOP

BO Technical Training
Exercise 1

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

BO Technical Training
Identify the windows in the interface...

• Class and the Object or


Universe Window
• Structure Window
• Table Window

BO Technical Training
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.

BO Technical Training
Observe the Properties for an Object

For the object Customer Name -


• Definition Tab

• Properties Tab

• Advanced Tab

BO Technical Training
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.

BO Technical Training
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

BO Technical Training
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

BO Technical Training
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

BO Technical Training
Restricting Data

BO Technical Training
Types of Restrictions

• Hard Coded / Direct Restrictions

• Indirect Restrictions

• Flexible Conditioning of the Data

• Multiple Prompt

BO Technical Training
Hard-coded Restriction

• Adding a WHERE condition to an object allows you to give a more


precise definition:

BO Technical Training
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’

BO Technical Training
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.

BO Technical Training
Condition Objects

• Select Condition Object View

• Insert a Condition Object

• Condition object name

• Description

• Where clause

BO Technical Training
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.

BO Technical Training
@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

BO Technical Training
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.

BO Technical Training
HANDS ON WORKSHOP

BO Technical Training
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.

BO Technical Training
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.

BO Technical Training
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

BO Technical Training
BO Technical Training

You might also like