Professional Documents
Culture Documents
A universe is a file that contains the following: Connection parameters for one or more database middleware. SQL structures called objects that map to actual SQL structures in the database such as columns, tables, and database functions. Objects are grouped into classes. Objects and classes are both visible to Web Intelligence users. A schema of the tables and joins used in the database. Objects are built from the database structures that you include in your schema. The schema is only available to Designer users. It is not visible to Web Intelligence and Desktop Intelligence users. Web Intelligence users connect to a universe, and run queries against a database. They can do data analysis and create reports using the objects in a universe, without seeing, or having to know anything about, the underlying data structures in the database
Classes
A class is a logical grouping of objects within a universe. It represents a category of objects. The name of a class should indicate the category of the objects that it contains. A class can be divided hierarchically into subclasses.
Objects
An object is a named component that maps to data or a derivation of data in the database. The name of an object should be drawn from the business vocabulary of the targeted user group. For example, objects used in a universe used by a product manager could be Product, Life Cycle, or Release Date. A universe used by a financial analyst could contain objects such as Profit Margin, and Return on Investment.
Types of objects
In Designer, objects are qualified as one of three types: dimension, detail, or measure. Object type Description Dimension - Parameters for analysis. Dimensions typically relate to a hierarchy such as geography, product, or time. For example Last Name and City_Id Detail - Provide a description of a dimension, but are not the focus for analysis. For example Phone Number Measure - Convey numeric information which is used to quantify a dimension object. For example Sales Revenue
Equi-Joins - (includes complex equijoins) Link tables based on the equality between the values in the column of one table and the values in the column of another. Because the same column is present in both tables, the join synchronizes the two tables. You can also create complex equi-joins, where one join links multiple columns between two tables. Theta Joins - (conditional joins) Link tables based on a relationship other than equality between two columns. Outer Joins - Link two tables, one of which has rows that do not match those in the common column of the other table. Shortcut Joins - Join providing an alternative path between two tables,bypassing intermediate tables, leading to the same result,regardless of direction. Optimizes query time by cutting long join paths as short as possible.
Self restricting joins - Single table join used to set a restriction on the table.
Returns
Too few rows Too many rows
Description
Joins form multiple paths between lookup tables. Many to one joins from two fact tables converge on a single lookup table. This type of join convergence can lead to a join path problem called a chasm trap.
A one to many join links a table which is in turn linked by a one to many join. This type of fanning out of one to many joins can lead to a join path problem called a fan trap.
Defining aliases
Aliases are references to existing tables in a schema. An Alias is a table that is an exact duplicate of the original table (base table), with a different name. The data in the table is exactly the same as the original table, but the different name "tricks" the SQL of a query to accept that you are using two different tables.
Defining contexts
Contexts are a collection of joins which provide a valid query path for Web Intelligence to generate SQL.
What is a Loop?
A loop is a set of joins that defines a closed path through a set of tables in a schema. Loops occur when joins form multiple paths between lookup tables. An example of a loop is shown below.
Create a context for each fact table. This solution works in all cases. Modify the SQL parameters for the universe so you can generate
separate SQL queries for each measure. This solution only works for measure objects. It does not generate separate queries for dimension or detail objects. Each of these methods is described in the following sections.
Create an alias for the table containing the initial aggregation, then use
Detect Contexts (Tools > Detect Contexts) to detect and propose a context for the alias table and a context for the original table. This is the most effective way to solve the fan trap problem.
Altering the SQL parameters for the universe. This only works for
measure objects.