Business Objects Universe file
BusinessObjects Universes are files made up of objects and classes that map source data structure in the database to the business terms used by the non-IT report authors and analysts.
For reporting and analysis, the business users select the universe they want to use and they build queries in Web Intelligence, Web Intelligence Rich Client, Desktop Intelligence and other tools. The query is built by selecting objects defined in the universe, without knowing anything about the underlying data structures in the database.
Technically, the universe file has an .unv extension and contains the following information:
For reporting and analysis, the business users select the universe they want to use and they build queries in Web Intelligence, Web Intelligence Rich Client, Desktop Intelligence and other tools. The query is built by selecting objects defined in the universe, without knowing anything about the underlying data structures in the database.
Technically, the universe file has an .unv extension and contains the following information:
· Connection parameters to a data source - only one source can be defined for a universe. However if necessary, universes can be joined on a report level (in WebIntelligence for instance).
· SQL structures (objects), grouped into classes, that map to actual SQL structures in the database such as schemas, tables, columns, functions and procedures.
· A diagram of the tables and joins used in the database structures that are included in the schema.
Through universes, the business users can access data stored in relational databases, OLAP cubes, metadata sources, JavaBean data sources and personal data files.
Through universes, the business users can access data stored in relational databases, OLAP cubes, metadata sources, JavaBean data sources and personal data files.
Universe modeling process
The design and scope of a universe schema should always derive from the end-user requirements as it provides an interface for them to run queries against a source database, create reports and analyze data.
It is absolutely necessary to understand the underlying data prior to starting the universe development process. Every universe contains the following two structures that represent the source data:
It is absolutely necessary to understand the underlying data prior to starting the universe development process. Every universe contains the following two structures that represent the source data:
· Class - is a logical grouping of objects within a universe which represents a category of objects, indicates the category of the contained objects. Classes can be divided hierarchically into subclasses and represented as folders on a tree hierarchy in the universe pane.
· Object - is a component named with a business naming standard that maps to data in the database or calls a database function or uses other objects from within the same universe. Each objects can be qualified as a Dimension, a Detail or a Measure. Objects represent meaningful entities, facts or calculations used by the business users.
BusinessObjects Universe Designer
Universe Designer is a tool that lets users create, modify, deploy and read definitions of the universes, stored in the BusinessObjects repository. It is a client application, accessible after the installation in Start > Programs > Business Objects XI > BusinessObjects Enterprise> Designer.
A high-level overview of the universe creation process is the following:
- Analysis of the end-user requirements is the most important task in the process. Users must be involved in the universe development process as it should fulfill their needs both with the business language and naming convention and the data that can be accessed.
It strongly advisable to spend most of the universe development time and put much effort in the Preparing, Analyzing and Planning phases. - Log on to the BO Repository and select on of three available options for opening universes: Create a new universe, Import a universe from the repository, Open a universe directly from the file system.
- A universe becomes visible in the SAP BusinessObjects platform and is available for reporitng once it has been exported to the repository. Thus in most cases working with Universe Designer includes three steps: importing a universe, making changes, then deploying the universe to the repository.
- Connect to the source database where data is stored using a connection wizard and save the connection parameters. Universe Designer can store connection definitions to multiple data sources, however only one connection can be defined for each universe.
- The database tables and views are selected and browsed through a graphical interface in the Universe Designer (a schema diagram). The schema diagram interface is used for manipulating tables, creating joins, alias tables, contexts and resolve loops in the schema definition.
- An object explorer view provides a windows-explorer-like tree to represent and arrange objects that map to the columns and SQL structures, represented in the schema view. When building reports and performing analysis, business users select these objects to run queries against a database.
- Building the universe inludes the following sub-tasks performed by a developer: Name the universe, Set up the universe parameters and connect to the data source, Create aliases and contexts, Create joins, Create classes, subclasses and objects, Define dimensions, details and measures, Define hierarchies, Define lists of values and help text, Define filters and implement user security.
- Once the universe has been built, tested and has passed all quality assurance checks it is ready to be deployed to the production environment.
Working with BusinessObjects Universe Designer
The operational commands can be issued in Universe Designer in a few ways:
· Menu options - the menu bar has standard options known from other windows based applications, which are: File, Edit, View, Insert, Tools, Window and Help
· Toolbar buttons - three toolbars are available: Standard toolbar, Editing toolbar, Formula Bar toolbar.
· Right-click menus - display on the screen when the right mouse button is clicked. These menus usually give developers access to options related to the performed task, for instance doing a right-click in the Universe pane shows a drop-down menu for creating classes and objects.
Universe Designer window
The BO Universe Designer window is split into two main areas:
- Structure pane - located on the right-hand side. The place where users insert the database tables and view the universe structure that generates the FROM and SELECT clauses into a SQL statement.
The structure pane is a dynamic graphical view which can be adjusted easily and navigated with such commands as zoom, arrange tables option, drag and drop operations, roll-up/unroll tables (show all columns or table header only). Furthermore, a View table/column values option is available for gaining a partial view of the data content of the given table or column. - Universe pane (object explorer) - located on the left-hand side, in which users create the classes and objects seen later when building queries using the given universe. The objects physically point to the tables from the Structure pane.
Universe designer view with object explorer view (left-hand side) and a schema diagram (in the center)
A Table Browser a component available in the Universe Designer which allows the designer to select tables from the target database (it shows a list) and place them on a structure pane, which shows a visual representation of the physical data structure to which the universe is mapped.
The Table Browser is an independent window that shows a tree view of the tables, views and columns in the database, which can be easily inserted into the designed schema.
The Table Browser can be invoked using one of the following methods:
The Table Browser is an independent window that shows a tree view of the tables, views and columns in the database, which can be easily inserted into the designed schema.
The Table Browser can be invoked using one of the following methods:
· Click the Table Browser button.
· Select Insert Tables from the menu.
· Double-click the background area of the structure pane.
· Right-click the Structure pane and choose Tables from the drop-down menu.
Single tables or multiple tables simultaneously can be inserted into the schema (with drag and drop, an insert button or just double-clicking a table).
The Table Browser can be also used to preview the source data in a table or a column of an underlying database. To do this, expand a table in the Table Browser, right-click a column or the entire table and click View Table Values.
To get a better view of the tables in the structure pane, click the Arrange Tables button to arrange tables horizontally.
Single tables or multiple tables simultaneously can be inserted into the schema (with drag and drop, an insert button or just double-clicking a table).
The Table Browser can be also used to preview the source data in a table or a column of an underlying database. To do this, expand a table in the Table Browser, right-click a column or the entire table and click View Table Values.
To get a better view of the tables in the structure pane, click the Arrange Tables button to arrange tables horizontally.
Schema design: creating joins between the tables
Joins create a relationship between the tables so that the correct data is returned for queries that are run on multiple tables and ensure that the data is combined in a meaningful way. If no joins are specified in a database structure, the resulting query produces a Cartesian product, which outputs a report that joins every column in the first table to every column in the second table.
There are several approaches to defining joins in Universe Designer:
There are several approaches to defining joins in Universe Designer:
· Manually in the schema, graphically by using the mouse to drag a line between columns in separate tables.
· In the Edit Join dialog box - select Insert -> Join from the menu or click the Insert join button.
· Using the Join SQL Editor to explicitly type in the join expression.
· Joins can also be detected and created automatically. Be careful using this method as it might produce errors because of the fact that the algorithm uses column names as the key for creating joins.
Join properties
Each join has the following properties to define:
- Table1 - table at the left of the join.
- Table2 - table at the right of the join.
- Operator - defines how the tables are joined. The available operators are: =, !=, >, >=, <, <=, Between (theta join) or Complex
- Outer Join - determines which table contains unmatched data in an outer join relationship.
- Cardinality - defines the cardinality for the join.
- Shortcut Join
- Expression - an editable WHERE clause used to filter the data that is returned when the two joined tables are included in a query.
Join cardinality
The join cardinality defines how many rows in one table will match those in the other. Universe Designer uses cardinality to detect and resolve loops.
The cardinality can be:
- One-to-one (1-1)
- One-to-many (1-N)
- Many-to-one (N-1)
- Many-to-many (N-N)
Join cardinality can be set manually or with the automatic detection tool. For efficiency (detection tool runs 3 queries on every join, which can take a long time) and accuracy (works ok only with totally normalized data) it is strongly advised to apply cardinality manually.
The cardinality can be:
- One-to-one (1-1)
- One-to-many (1-N)
- Many-to-one (N-1)
- Many-to-many (N-N)
Join cardinality can be set manually or with the automatic detection tool. For efficiency (detection tool runs 3 queries on every join, which can take a long time) and accuracy (works ok only with totally normalized data) it is strongly advised to apply cardinality manually.
Schema design: creating dimensions
Dimension objects and classes form Business Objects universes.
Objects in a universe are grouped into classes and each object must belong to a class. Classes can be defined as folders and can contain subfolders to form a tree hierarchy and break down objects into subsets.
Objects represent meaningful entities, facts or calculations that end users see in the Business Objects end-user querying tools (WebIntelligence for instance). End-users select objects (or drag them from Query Panel Data Tab into the Result Objects pane) to build and run queries and reports.
Objects in a universe are grouped into classes and each object must belong to a class. Classes can be defined as folders and can contain subfolders to form a tree hierarchy and break down objects into subsets.
Objects represent meaningful entities, facts or calculations that end users see in the Business Objects end-user querying tools (WebIntelligence for instance). End-users select objects (or drag them from Query Panel Data Tab into the Result Objects pane) to build and run queries and reports.
Each object in a Business Objects universe can be one of the following types:
- Dimension is a main analysis object in a query. It maps to one or more key columns in a database (key to a query, not necessarily primary key database columns). Dimension objects can be organized hierarchically within a class to make default hierarchies for drill-down operations. For example, time can be a dimension with year-month-day hierarchy.
- Detail - provides descriptive detail data about a dimension (maps to one or more columns or functions). For example, a month name in time dimension can be a detail of month index.
- Measure - provides metrics (aggregated numbers) by which dimensions are compared.
To understand the concept better, in the screenshot below there is an example of a store dimension, where:
- Store is the name of the dimension
- Store and Store Details are classes (Store Details is a subclass of Store)
- State, City, etc... are dimension objects
- Zip code and address are dimension details objects
- Extended sales floor size is a measure object Store dimension example
Creating dimension classes and objects
There are several ways to create dimension classes and objects in the Universe Designer:
- The easiest way to create classes and objects is simply by dragging the entire table from the Structure pane into the Universe pane in Universe Designer. It is necessary to review all objects and set properties like change names, enter descriptions, object classification.
- Click an existing class in the Universe pane and select Insert->Class from the menu or Insert Class from the Editing toolbar or doing a right mouse click.
- To create an object, click an existing class in the universe pane and select Insert->Object from the menu or Insert Object from the Editing toolbar or doing a right mouse click. The Edit properties window will pop up.
Schema design: creating measures
Measure objects provide calculated numeric information (aggregated numbers) by which dimensions are dynamically compared. Measures are flexible as the values they store depend on the dimension objects used with them. Measure object are calculate with one of the aggregate functions.
SAP Business Objects provides the following most commonly used basic types of aggregation:
- Sum
- Count
- Average
- Maximum
- Minimum
The full set of aggregate functions is listed in the Number Functions selection list of the Edit Select Statement window.
Sample measures folder
From the technical point of view and speaking the SQL language, whenever a query contains measures with dimensions, a SELECT with GROUP BY statement is created. Whenever the SELECT statement contains an aggregate, every dimension column of that aggregate must appear in the GROUP BY clause and measures must include an aggregate functions (sum, avg, etc.).
There are two levels of aggregation in the SAP BusinessObjects query process: at SELECT level and at projection level.
Aggregation at SELECT level starts when a query is created by an user, a reporting tool creates the SQL and sends a SELECT statement to the database. Then the data is returned to a microcube where the first level of aggregation occurs, the microcube projects the aggregated data onto a report, the SQL is run and the microcube gets the results.
Aggregation at projection level means that when a query is run and the resultset is loaded into the microcube, all from that microcube is projected into a table or chart in the report (a block). Therefore, no projection aggregation takes place.
Very well documented. thanks the info was very useful. SAP BO Online Training
ReplyDelete