Professional Documents
Culture Documents
Business Objects Designer is a SAP software tool that allows developers to create
Universes for Web Intelligence and Desktop Intelligence users. It is a client application,
accessible after the installation.
Start -> Programs -> Business Objects Xi 3.1 -> Business Objects Enterprise ->
Designer
SAP BO Universe is a semantic layer that isolates end users from underlying database
or technical issues of database. A universe maps to data in the database, but uses
every day terms that describe user business environment.
The role of an universe is to provide an easy to use and understand interface for non
technical Web Intelligence users to run queries against a database to create reports and
perform data analysis.
Being the cornerstone of the Business Objects semantic layer, universe design
becomes one of the most important aspects of getting the right data out there in time for
analysis and decision making.
Following are the best practices for to be considered while designing universe,
• Analysis of end user requirements is the most important task in the process.It is
strongly advisable to spend most of the universe development time and put much
effort in Analyzing and Planning phases of business requirements.
• Avoid using automatic universe creation wizard. Universe created using wizard
will be complex and difficult to understand.
• Insert tables into universe one at a time.
• Use short cut joins whenever possible to reduce no. of tables used in a Query.
• Class and Object naming convention should be in business terms, so that it
makes sense to business users.
• All Objects should have help text or usage information.
• Object formatting should preferably done at the Universe level.
• Pre-build condition objects in the universe rather than forcing users to build
conditions for reports.
• Use aggregation in all measure objects - to push aggregation to database where
performance bottleneck is likely to affect BO server and database performance is
optimal.Generally aggregation at database level is much more powerful, and it
reduces the volume of data to be transported over network.
• Use custom LOVs or Cascading prompts to display LOVs where hierarchies and
numerous values are involved.
• Use derived tables to define measure objects dependent on multiple fact tables.
In order to build a universe, developer should create a new universe file. Connection
parameter must be defined while creating universe file, to allow universe to access
database middleware. Connection parameter includes definition of a universe which is
comprised of universe name, description, RDBMS connection.
Schema contains tables and joins. Tables contains columns that you eventually map to
object that business user use to create reports. You design the schema in structure
pane by selecting tables from target database using table browser from Insert menu in
designer.
1. Star Schema
2. Snowflake Schema
Star Schema is used for both simple data marts and very large data warehouses.
Snowflake schema helps in more normalization and eliminates data redundancy. This is
because, a dimension data is grouped in to more tables instead of one large table.
Advantages:
Disadvantages:
• In snowflake model, query process takes longtime as more tables are joined.
• Increases number of tables end users should work with.
Snowflake data model is good when data warehouse is small. for large data warehouse
environments star schema is idea to implement.
1. Adding tables
2. Creating Joins & Cardinalities
3. Creating classes and Objects
4. Defining Conditions.
Before we further proceed lets take a look at the universe designer window, it is split
into two parts:
1. Structure Pane
2. Universe Pane (object explorer )
Structure Pane: Located on the right hand side. This is the place where developers
inserts tables into universe. Right click on the structure pane to open table browser to
insert tables into universe. Select tables from the table browser and click on insert
button to add tables to the structure pane.
Universe Pane: is also called as Object Explorer. The graphical component with in the
main designer window that displays a hierarchical view of classes, objects and
conditions in a universe. Two radio buttons on the lower edge of the universe pane
filters the display of components. One button the Classes / Objects, provides a view of
classes and objects, other button Classes / Conditions provides a view of Classes and
Conditions.
SAP Universe Designer window in a glimpse
To get a better view of tables in structure pane click on Arrange Tables button to
arrange tables horizontally.
Step 2. Creating Joins & Cardinalities: Once more than one table is inserted into
schema, we need to create joins between tables, as they allow data to be retrieved in a
meaningful way.
What is a Join?
A join is a condition that links the data in separate but related tables. The tables usually
have a parent-child relationship. If a query does not contain a join database returns
result set with all possible combinations of rows in a table, such a result set is called
Cartesian Product.
A join between two tables determines how data is returned when both tables are
included in a query.
Creating Joins: There are several approaches to define joins in Universe Designer; they
are as follows
• Manually in the schema
• By selecting Automatically detect joins
• Graphically by using the mouse to drag a line between columns in separate
tables.
Individual joins can be created between tables graphically by using the mouse to trace a
line from a column in one table to a column in another table.
Once join is created between two tables, join properties has to be mentioned manually.
In order to mention join properties, double click on the join; edit join dialog box appears
where we can define join properties.
SAP BO universe allows full outer joins to be declared between two tables. Below is the
procedure to declare full outer joins
What is a Cardinality: Cardinality is a property of join that describes how many rows in
one table match rows in another table. Cardinality is expressed as the minimum and
maximum number of rows in a column at one end of a join, that have matching rows in
the column at the other end of join.
1,n ---> For each customer there can be one or more reservations
1,1 ---> For each reservation will have one and only one customer.
Different types of cardinalities can be set on a join, below listed types of cardinalities
Join cardinality can be set manually or with automatic detection tool. For efficiency and
accuracy it is advised to apply cardinality manually.
Step 3.Creating Classes and Objects:
Classes:
Class is a logical grouping of objects and conditions with in a universe, based on
business criteria. Classes are represented as a folder in universe. Classes are created
in universe pane.Classes can also contain sub class.
From menu bar click on insert class icon or right click on universe pane and select
class, class is created in universe pane.
Edit properties of Class dialog box appears where you can name class.
Objects:
An Object is most refined component in a universe. It maps to data or derivation of data
in the database, for the purpose of multidimensional analysis. An object can be
classified as Dimension, Detail, Measure objects.
Objects are grouped into classes. Using objects, end users can built queries to generate
reports.
From menu bar click on insert object icon or right click on universe pane and select
object, object is created in universe pane under selected class, below is the object
definition
Measure Object: An object that is derived from aggregate function.It conveys numeric
information by which dimension object can be measured.
following are the five basic aggregate functions available in objects
• Sum
• Average
• Minimum
• Maximum
• Count
other than above mentioned functions in object, BO universe supports one more
function which is aggregate_aware.
@Aggregate_Aware(aggregate_table_1......aggregate_table_n)
The
arguments of this function are all the names of alternative aggregate
tables. When you formulate the syntax, you should be aware of the order
of the arguments. The precedence is from left to right; this means that
SAP Business Objects determines the aggregate to use beginning from the
leftmost argument.
As a general rule, you should enter the most aggregate table as the first argument, the next most
aggregate table as the second argument, and so on.You must then use the Aggregate Navigation editor
to set up a list of incompatible objects and/or incompatible conditions for each aggregate table in your
universe. These are the components that cannot be used with an aggregate table.You can either set up
these lists manually, or cause the list of objects to be detected by Designer.
A condition object is a predefined where clause that can be inserted in to the select
statement inferred by objects in query pane.
Condition objects are stored in the Condition view of the universe pane.
Condition objects of Beach universe and where clause condition is shown below
Advantages of using condition objects in BO Universe:
As you design universe, you should test universe integrity periodically. Integrity check
can be performed in two ways.
The Check Integrity function sends a request to the database for a list of tables. It then
compares this list with tables in universe. It carries out same action for columns. In
Structure pane, Check Integrity marks any tables or columns not matching those in the
list as not available. These are tables or columns that may have been deleted or
renamed in the database.
or
upon completing integrity check, if check integrity encounters no errors it displays "OK"
beside each type.
Click on the (+) sign beside the error type, to view the list of components in which the
error occurred.
If integrity check identifies that database of universe connection is changed, you can
use refresh structure in universe to update the contents of structure pane.
Path:
0 comments:
Post a Comment
Followers
Blog Archive
• ▼ 2011 (5)
o ▼ March (4)
SAP Business Objects Architecture Overview
SAP BO Designer
New features in SAP BO 4.0
New Features in SAP BO 3.1
o ► February (1)