Monday, May 25, 2009

Universe Related Questions

1) What is a Universe?
Universe is a semantic layer that isolates you from the complexities of the database. A universe maps to data in the database in everyday terms that describe your business situation. Universes are made up of classes and objects. For example, the objects in a human resources universe would be Names, Addresses, Salaries. Classes are logical groupings of objects. Each class has a meaningful name, such as Vacation (for objects pertaining to employee vacations). Each object maps to data in the database and enables you to retrieve data for your reports.

2) How do u export universe to repository?
You make a universe available to Web Intelligence users and other designers by exporting a universe to the repository. When you export a universe the universe is: Moved to the selected universe folder on the repository file system and Created in the Central Management System (CMS). Each time the universe is exported to the repository, the universe version in the CMS is updated. Exporting a universe to the repository involves following steps:
1. Select File > Export. The Export Universe dialog box appears.
2. Select a universe folder from the folder drop down list box. (or) Click the Browse button and select a universe folder in the folder browser.
3. If you want to lock the universe, double-click the universe name.
4. Click a group in the Groups list box. This is the user group that uses the exported universe.
5. Click a universe in the Universes list box. The Universes list box shows the names of the active universes.
6. If you want to export other universes that are not open, click the Add Universe button, and then use the browser to select the other universes.
7. Click

3) What is Strategies?
A strategy is a script that automatically extracts structural information from a database or flat file. Strategies have two principle roles:
• Automatic join and cardinality detection (Join strategies)
• Automatic class, object, and join creation (Objects and Joins strategies)
Strategies can be useful if you want to automate the detection and creation of structures in your universe based on the SQL structures in the database. There exits two types of strategies:
-Built in strategy is the Default strategy shipped with Designer. Built in strategies cannot be customized.
-External strategy: User defined script that contains the same type of information as a Built in strategy, but customized to optimize information retrieval from a database.

4) What is a derived table?
Derived tables are tables that you define in the universe schema. You create objects on them as you do with any other table. A derived table is defined by an SQL query at the universe level that can be used as a logical table in Designer. Derived tables have the following advantages:
• Reduced amount of data returned to the document for analysis.
• Reduced maintenance of database summary tables. Derived tables can, in some cases, replace statistical tables that hold results for complex calculations that are incorporated into the universe using aggregate awareness.
Derived tables are similar to database views, with the advantage that the SQL for a derived table can include prompts.
5) What is Join Path Problems?
A join path is a series of joins that a query can use to access data in the tables linked by the joins. Join path problems can arise from the limited way that lookup and fact tables are related in a relational database. The three major join path problems that you encounter when designing a schema are the following:
• Loops: Returns too few rows. Joins form multiple paths between lookup tables.
• Chasm traps: Returns too many rows. 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.
• Fan traps: Returns too many rows. 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.

6) What is a Lookup Table?
A lookup (or dimension) table contains information associated with a particular entity or subject. For example, a lookup table can hold geographical information on customers such as their names, telephone numbers as well as the cities and countries in which they reside. In Designer, dimension and detail objects are typically derived from lookup tables.

7) What is a Fact Table?
A fact table contains statistical information about transactions. For example, it may contain figures such as Sales Revenue or Profit. In a universe, most but not all, measures are defined from fact tables.


8) What are Contexts?
Contexts are a collection of joins which provide a valid query path for Web Intelligence to generate SQL. Contexts are used in:
• Solving loops:
• Solving chasm traps.
• Assisting in some solutions for fan traps.
• Assisting in detecting incompatibility for objects using aggregate awareness.

9) How can we detect chasm trap?
Detect Contexts examines the many to one joins in the schema. It picks up the table that receives converging many to one joins and proposes contexts to separate the queries run on the table. This is the most effective way to ensure that your schema does not have a chasm trap.

10) How Do You Detect a Fan Trap?
You cannot automatically detect fan traps. You need to visually examine the direction of the cardinalities displayed in the table schema. If you have two tables that are referenced by measure objects and are joined in a series of many to one joins, then you may have a potential fan trap.
11) How does a context resolve a loop?
A context resolves a loop by defining a set of joins that specify one specific path through tables in a loop. It ensures that joins are not included from different paths within the same SQL query.

12) How Do You Resolve a chasm Trap?
To resolve a chasm trap you need to make two separate queries and then combine the results. Depending on the type of objects defined for the fact tables, and the type of end user environment, you can use the following methods to resolve a chasm trap:
• 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.

13) How Do You Resolve a Fan Trap?
There are two ways to solve a fan trap problem.
• 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.

14) What is a microcube?
When you create a measure you must specify the way the aggregate function will be projected onto a report. Returned values for a measure object are aggregated at two levels of the query process:
• Query level. Data is aggregated using the inferred Select statement.
•Microcube Level: A microcube is a conceptual way to present the data returned by a query before it is projected onto a report. It represents the returned values held in memory by a Business Objects reporting product. The block level is the 2 dimensional report that a user creates with the returned data. A user can choose to use all, or only some of the data held in the microcube to create a report. A user can also do aggregate functions on the returned values in the microcube (local aggregation) to create new values on a report.

15) What are @Functions?
@Functions are special functions that provide more flexible methods for specifying the SQL for an object. @Functions are available in the Functions pane of the Edit Select box for an object. @Functions are very flexible. Depending on what you want to achieve, you can use any @function in either a Select statement, or a Where clause.

@Aggregate_Aware: The @Aggregate_Aware function allows an object to take advantage of tables containing summary data in the database. If your database contains summary tables and you are running queries that return aggregate data, it is quicker to run a Select statement on the columns that contain summary data rather than on the columns that contain fact or event data.

@Aggregate_Aware(sum(agg_table_1), ... sum(agg_table_n))


@Prompt: You can use the @Prompt function to create an interactive object. You use a @Prompt function in the Where clause for an object. It forces a user to enter a value for a restriction when that object is used in a query. When the user runs the query, a prompt box appears asking for a value to be entered. @Prompts are useful when you want to force a restriction in the inferred SQL but do not want to preset the value of the condition.

@Prompt(‘message’,‘type’,[lov],[MONOMULTI],[FREECONSTRAINED])

@Select: You can use the @Select function to re-use the Select statement of another object. When the @Select function is used in the Select statement of an object, it specifies the path of another object in the universe as a parameter of the @Select function, in the form Class_Name\Object_Name. This then acts as a pointer to the Select statement of the referenced object.

@Select(Classname\Objectname)

Note:
When you use @Select and @Where functions, one object now depends on another in the universe. You have created a new object dependency. When one object is deleted, the other object using the @Select or @Where function needs to be manually updated.

@Where: You can use the @Where function to re-use the Where clause of another object. When the @Where function is used in the Where clause of an object, it specifies the path of another object in the universe as a parameter of the @Where function, in the form Class_Name\Object_Name. This then acts as a pointer to the Where clause of the referenced object. Using the Where clause creates a dynamic link between two objects. When the Where clause of the original object is modified, the Where clause of the referencing object is automatically updated.

16) What is multidimensional analysis?
Multidimensional analysis is the analysis of dimension objects organized in meaningful hierarchies. Multidimensional analysis allows users to observe data from various viewpoints. This enables them to spot trends or exceptions in the data. A hierarchy is an ordered series of related dimensions. An example of a hierarchy is Geography, which may group dimensions such as Country, Region, and City.
In Web Intelligence you can use drill up or down to perform multi dimensional analysis.

17) What are external strategies?
An external strategy is an SQL script stored externally to the .UNV file, and structured so that it can be used by Designer to automate object or join creation, and table detection tasks in a universe. External strategies are stored in an external strategy file with the extension STG. External strategy files are in XML format. There is one for each supported RDBMS.

18) What is Aggregate Awareness?
Aggregate awareness is a term that describes the ability of a universe to make use of aggregate tables in a database. These are tables that contain pre-calculated data. You can use a function called @Aggregate_Aware in the Select statement for an object that directs a query to be run against aggregate tables rather than a table containing non aggregated data. Using aggregate tables speeds up the execution of queries, improving the performance of SQL transactions.

The reliability and usefulness of aggregate awareness in a universe depends on the accuracy of the aggregate tables. They must be refreshed at the same time as all fact tables. A universe that has one or more objects with alternative definitions based on aggregate tables is said to be “aggregate aware”. These definitions correspond to levels of aggregation. For example, an object called Profit can be aggregated by month, by quarter, or by year. These objects are called aggregate objects. Queries built from a universe using aggregate objects return information aggregated to the appropriate level at optimal speed.

@Aggregate_Aware(sum(agg_table_1), ... sum(agg_table_n))

19) What are incompatible objects?
You must now specify the incompatible objects for each aggregate table in the universe. The set of incompatible objects you specify determines which aggregate tables are disregarded during the generation of SQL. With respect to an aggregate table, an object is either compatible or incompatible. The rules for compatibility are as follows:
• When an object is at the same or higher level of aggregation as the table, it is compatible with the table.
• When an object is at a lower level of aggregation than the table (or if it is not at all related to the table), it is incompatible with the table.

20) What is a restriction set?
A restriction set is a named group of restrictions that apply to a universe. You can apply a restriction set to a selected group or user account for a universe. When users connect to a universe, the objects, rows, query types, and connection that they use in the universe are determined by their applied restriction set. You can create, edit, and delete a restriction set at any time once the universe has been exported to the CMS. You can create multiple restriction sets depending on the query needs of a target user group.

21) What are linked universes?
Linked universes are universes that share common components such as parameters, classes, objects, or joins. When you link two universes, one universe has the role of a core universe, the other a derived universe. When changes are made in the core universe, they are automatically propagated to the derived universes.

22) What is a core universe?
The core universe is a universe to which other universes are linked. It contains components that are common to the other universes linking to it. These universes are called derived universes. The core universe represents a re-usable library of components. A core universe can be a kernel or master universe depending on the way the core universe components are used in the derived universes.

23) What are derived universes?
A derived universe is a universe that contains a link to a core universe. The link allows the derived universe to share common components of the core universe:
• If the linked core universe is a kernel universe, then components can be added to the derived universe.
• If the linked core universe is a master universe, then the derived universe contains all the core universe components. Classes and objects are not added to the derived universe. They can be hidden in the derived universe depending on the user needs of the target audience.

24) How are universes optimized?
Query time can often be shortened by optimizing a universe. There are several ways you can optimize a universe:
• Optimizing the Array Fetch parameter in the Universe Parameters.
• Allocating a weight to each table.
• Using shortcut joins.
• Creating and using aggregate tables in your database.

Table weight is a measure of how many rows there are in a table. Lighter tables have less rows than heavier tables. By default BusinessObjects sorts the tables from the lighter to the heavier tables. The order in which tables are sorted at the database level depends on your database. For example, Sybase uses the same order as BusinessObjects, but Oracle uses the opposite order. The SQL will be optimized for most databases, but not for Oracle where the smallest table is put first in the sort order. So, if you are using an Oracle database, you can optimize the SQL by reversing the order that BusinessObjects sorts the tables. To do this you must change a parameter in the relevant PRM file of the database.

25) Different ways to link universes?
The following approaches when linking universes:
• Kernel approach
• Master approach
• Component approach

Kernel approach: With the kernel approach, one universe contains the core components. These are the components common in all universes. The derived universes that you create from this kernel universe contain these core components as well as their own specific components.

Master approach: The master approach is another way of organizing the common components of linked universes. The master universe holds all possible components. In the universes derived from the master, certain components are hidden depending on their relevance to the target users of the derived universe. The components visible in the derived universes are always a subset of the master universe. There are no new components added specific to the derived universe.

Component approach: The component approach involves merging two or more universes into one universe. The Sales universe below was created by merging two universes: Part 1 and Part

26) Explain about detail objects?
Dimensions are focus of analysis in a query. A dimension maps to one or more columns, functions in the database that are key to a query. Detail Objects provides descriptive data about a dimension. A detail is always attached to a dimension. It maps to one or more columns or functions in the database that provide detailed information related to a dimension. One cannot drill on details nor link on details when linking multiple data providers. While Customer ID would be a dimension, customer name, address, phone and soon should be details.

27) What is business objects repository?
Business Objects Repository:
Ø It is a semantic layer which stores the BO Users and their privileges.
Ø Repository means set of database tables, Business object store security information e.g user, group, access permission, user type etc. , universe information e.g. objects, classes, table name, column name, relationship etc and document information.
Ø Repository contains data accounts with three domains in each one type. You can create the repository anywhere. The security domain has the user security info and other domains address.


28) What are domains?
Domain is nothing but logical grouping of system tables. There are three domains usually in a basic setup they are Secure, Universe, Document. In 6.5 Universe are situated in one domain, Reports in one domain and Supervisor.


29) When is the Repository created?
In 5i/6i versions repository is created after installing the software, whereas in XI version a repository is created at the time of installation.

1 comment: