You are on page 1of 22

Overview of Chasm and Fan traps (Business Objects Universe)

Relational databases can return incorrect results due to limitations in the way that joins are performed in relational databases. Unlike loops, which return fewer rows, the Chasm and the Fan traps are two common circumstances which return too many rows. You can use Designer to resolve both types of problems in your universe schema. Chasm trap The Chasm trap occurs when two many to one joins converge on a single table. For example a customer can place many orders/and or place many loans. Fan trap The Fan trap occurs when a one to many join links a table which is in turn linked by another one to many join. For example when you run a query that asks for the total orders by each order line, for a particular customer, an incorrect result is returned as you are performing an aggregate function on the table at the one end of the join, while still joining to the many end. Below is the Brief overview: Chasm Trap: A chasm occurs when a series of joins crosses a many >- one -< many relationship. For example: A >- B -< C ( Employees >-- Showroom --< Salary) - Each showroom has many employees - Each showroom has many annual salary figures The number of employee records should not impact the total salary on the report. If a query is written that spanned all three of those tables the data from table A and C, there would be duplicated and the measure values would be exaggerated. For example, - X rows on the left - Y rows on the right - X * Y rows in the combined set Solution 1: Define a context for each table at the many end of the joins.
1

Context = Meaning - A context is a sub-set of joins in a universe - That sub-set of joins has a particular meaning In our example you could define a context from A to B and from A to C. A context contains each join in the path. This creates two SQL statements and two separate tables in Business Objects, avoiding the creation of a Cartesian product. Using contexts is the most effective way to solve Chasm traps. Solution 2: Select the option Multiple SQL Statements for Each Measure from the Universe Parameters dialog box in the tool. Only applies to measures. You force the SQL generation engine in Reporter to generate SQL queries for each measure that appears in the Query panel. Fan Trap: A fan trap occurs when joins fan out over multiple one -< many relationships in a row. For example: A -< B -< C (Ex: Customer --< Orders --< Order_Lines) A fan trap is not quite as severe as a chasm trap. In fact there are many fan traps that can occur in a universe design that can be ignored as long as you control which types of objects you use. There are two ways to solve a Fan trap problem. Using an alias and the aggregate awareness function. 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. Both of these methods are described below. Solution 1: Aliases can resolve chasm traps - Known as table aliases when writing SQL statements - Used by BusinessObjects to logically separate the trap into pieces. You create an alias table and use the aggregate awareness function. You cannot use this
2

option if you have incompatible objects. You can do this as follows: 1. Create an alias for the table that is producing the multiplied aggregation. 2. Create a one to one join between the original table and the alias table. 3. Modify the select statement for the columns that are summed so that the columns in the alias table are summed and not the original table. 4. Apply the @AggregateAware function to the select statement. for example: @AggregateAware(SUM(ORDERS.TOTAL_VALUE) , SUM(ORDERS_2.TOTAL_VALUE)) Solution 2: - Create a separate SQL statement per aggregation. - Aggregations on the same table require only 1 SQL statement. You select the option Multiple SQL Statements for Each Measure. You force the SQL generation engine in Reporter to generate separate SQL queries for each measure that appears in the Query panel. You find this option on the SQL page of the Universe Parameters dialog box in the tool.

10.6 What are one-to-many joins, one-to-one joins, and many-to-many joins?
One-to-many joins are the most common type of join. With a one-to-many join, one row in the master folder is joined to multiple rows in the detail folder. One-to-one joins are joins between two folders where both items used in the join are primary keys. Therefore only one row in one folder will join to only one (or no) rows in the other folder. There is no real master and detail in this case, because each row in the master table can correspond to no more than one row in the detail table. Occasionally, one-to-one joins are a valid construct. It is possible to query a master folder with multiple detail folders (if all but one of the detail folders are joined with one-to-one joins). If more than two detail folders are joined to the master folder using one-to-many joins (also known as a fan trap schema), a row in the master folder might join to many rows in the detail tables, resulting in a Cartesian product.. Many-to-many joins are not supported directly in Discoverer (or in any relational system). However, many-to-many joins can always be reworked and transformed into multiple one-tomany joins. Very occasionally, a many-to-many join is a valid construct.

What is Designer? The Universe designer uses DESIGNER to design, create and maintain universes for a particular
3

group of users. A universe designer can distribute a universe as a file through the file system, or by exporting it to a repository. DESIGNER is a Business Objects product intended specifically for you the Universe designer. It is important to analyze the type of information that the end users at your site will require so that you can develop universes that meet the needs of the user community. This includes the actual reports, information, or results likely to be required by the end users. What is Universe? A universe is a mapping of the data structure found in databases: tables, columns, joins. A universe is made up of classes, objects and conditions. A universe is the semantic layer that isolates the end user from the technical issues of the database structure. How do you start creating the universe? Universe can be created by taking into consideration the type of data and the logical structure of your companys databases. Creating of the universe starts with gathering of user requirements, identifying the database tables where the data resides, inserting the db structure to the universe, creating classes and objects from the db tables, and creating measures. Creating the joins between the tables, resolving loops either by creating aliases or contexts. Finally testing & deploying. List some functions to create objects in the universe? @Aggregate_Aware, @Prompt, @Select, @Variable, Running Sum, Running Count, User Response, String functions, Date functions. How a Universe is identified? A universe is identified by: a file name which consists of up to 8 characters and a .unv extension. a long name which consists of up to 35 characters. a unique system identifier. This is the identifier assigned by the repository when you export the universe. This identifier is null if you have never exported the universe. How do you distribute a universe? There are two ways to distribute a universe to end users or another designer: 1) Exporting to Repository (2) Through File system Moving it as a file through the file Server.

What is a Class? A class is a logical grouping of objects and conditions within a universe. What is an Object? An object maps to data or a derivation of data in the database. How can we qualify an object? An object can be qualified as a dimension, a detail, or a measure. Dimension objects retrieve character-type data that will provide the basis for analysis in a report. A detail object is always associated to one dimension object, on which it provides additional information. Measure objects retrieve numeric data that is the result of calculations on data in the database. A measure object is derived from an aggregate function: Count, Sum, Minimum, or Maximum. What is the difference between conditional objects and other objects? Conditional objects have a where clause, where normal objects do not have a where clause What type of connections Designer provides? DESIGNER provides three types of connections: (Tools Secured connection (Default): Stores the connection in the security domain of the BO repository to centralize and control access to sensitive or critical data. Designers and supervisors have the right to create this type of connection. Shared connection: Specifies that multiple users share the connection. All users who have access to this connection can use it and edit it. If you installed BO in Stand-Alone mode, the connection by default is stored in the sdac.lsi file (LocData subfolder). If you installed BO in Shared mode, the connection by default is stored in the sdac.ssi file (ShData subfolder). Designers and users have the right to create this type of connection. Personal connection: Specifies that the connection belong to the user who defined it. Other users cannot use or modify the connection. If you installed BO in Stand-Alone mode, the connection by default is stored in the pdac.lsi file (LocData subfolder). If you installed BusinessObjects in Shared mode, the connection by default is stored in the pdac.ssi file (ShData subfolder). Designers and users have the right to create this type of connection. What are Universe parameters? These parameters define the universe. They are Definition, Summary, Strategies, Controls, SQL and Links.
5

Summary Statistics of objects, joins, conditions, classes, contexts, hierarchies and alias in a universe. We get it from the Summary tab of the Parameters.Universe parameters or File Controls The Control settings allow to limit the size of the result set and the execution time of queries. SQL These parameter controls the query (allows use of sub queries, allows use of union, intersect and minus operators) and SQL generation options for the universe. Links This links tab is used with dynamically linked universes.

What are Strategies? A strategy is a script that automatically extracts structural information from a database or flat file. There are two types of strategies: 1. Built-in strategies 2. External strategies. What is Build -in Strategy? 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 databases tables and columns. The Joins Creation strategy, which tells DESIGNER how to define joins automatically from the databases tables and columns. The Table Browser strategy, which tells DESIGNER how to read the table and column structures from the databases data dictionary. What is External strategy? In the external strategy file you can customize an existing strategy or create your own. External strategy files are named according to the following convention: StxxxxEN.txt where St means strategy, xxxx is an abbreviation for the RDBMS, and EN is the language in which Business Objects products are installed (EN =English) For Oracle: Stora7en.txt in the Oracle folder What is the list mode? List Mode) provides list of all the tables, joins, and contexts.List mode command (View

What is a join? A join is a relational operation that causes two or more tables with a common domain to be combined into a single table. The purpose of joins is to restrict the result set of a query run against multiple tables. DESIGNER supports: Equi-joins Theta joins Outer joins Shortcut joins Equi or Inner or Natural or Simple join: is 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.

Self-Join: join a table to itself i.e create a self-join to find rows in a table that have values in common with other rows in the same table.

Theta or Non-Equi join: links tables based on a relationship other than equality between two columns.

Outer join: links two tables, one of which has rows that do not match those in the common column of the other table.

Left Outer Join: All records from first table with matching rows from second.

Right Outer Join: All records from second-named table with matching rows from left.

Full outer join: All rows in all joined tables are included, whether they are matched or not.

Shortcut join: can be used in schemas containing redundant join paths leading to the same result, regardless of direction. Improves SQL performance. What is Cardinality? Cardinality expresses the minimum and maximum number of instances of an entity B that can be associated with an instance of an entity A. The minimum and the maximum number of instances can be equal to 0, 1, or N. Cardinalities indicate whether the relationship or join between two tables is one-to-many (1,N), one-to-one (1,1), or many-to-many (N, N). Because a join is bi-directional, it must always have two cardinalities.
7

What is a Cartesian product? A Cartesian product is the result of a query in which two or more tables are not linked by a join. If executed, the report shows results for each possible combination of each table row. Why do you perform 'Integrity Check? It detects any errors in the objects, joins, conditions, and cardinalities of your universe. It detects whether there are any loops in the joins. It detects whether contexts are necessary. It determines whether any changes were made to the database to which the universe is connected. What is Parse checking? Parse checking means how DESIGNER is to determine the validity of an object, join, or condition. Quick parsing checks only the syntax of components. Thorough parsing checks both the syntax and semantics of components. If there are changes in the database on which you have already created a universe, how do you include those additional changes into your universe? By refreshing the structure I get the updated database structure. What are Lookup and Fact Tables? Lookup tables: A lookup (or dimension) table contains information associated with a particular entity or subject. Fact Tables: A fact table contains statistical information about transactions. What Types of Join Paths Return Incorrect Results? 1. Loops (Too few rows) 2. Fan Trap (Too many rows) 3. Chasm Trap (Too many rows) What Are Loops? In a relational database, a loop occurs when joins form multiple paths between lookup tables. How to detect loops? 1) Run the Check Integrity function, which indicates the existence of any loops. 2) Select the Detect Loops command from the Tools menu.
8

How to resolve loops? Loops can be resolved by creating aliases and contexts. What is an Alias? In SQL an alias is an alternative name for a table. In DESIGNER, an alias is just a pointer to another table. The purpose of aliases is to resolve structural issues in a database arising from SQL limitations. Whenever possible you should use an alias instead of a context. What is a context? Context is a method by which Designer can decide which path to choose when more than one path is possible from one table to another in the universe. Generally used transactional database with multiple Fact tables. Dis-advantage: When you use a context, you expose the BO end user to the database structure. They are forced to decide which context they want to use to run their query. The role of the universe is to shield end users from the database structure, so they do not have to make such decisions. What is Fan trap and Chasm Trap? How do you resolve? Fan Trap: occurs when a One to Many join links a table which is in turn linked by another One to Many join. There are two ways to solve Fan trap: Creating an alias and applying aggregate awareness function. This is the most effective way to solve the Fan trap problem. Using Multiple SQL statements for each measure. Chasm Trap: occurs when two Many to one joins from two Fact tables converge on a single Lookup table. Can be solved by: Creating a Context. Using Multiple SQL statements for each measure Creating multiple universes (WEBINTELLIGENCE only). When do you use multiple universes? You can use multiple universes to solve a Chasm trap in a WEBINTELLIGENCE universe when Multiple SQL for Measures cannot be used as there are dimension objects defined for one or both of the fact tables. When do you NOT use multiple universes?

You do not use multiple universes in the following situations: Full client BUSINESSOBJECTS universes When a WEBINTELLIGENCE universe does not contain dimension objects defined for any of the fact tables. What are @Functions? 1) @Aggregate_Aware (2) @Prompt (3) @Script (4) @Select (5) @Variable (6) @Where @Prompt: message prompts the end user to enter a specific value. Syntax: @Prompt (message, [type], [lov], [MONO|MULTI], [FREE|CONSTRAINED]) @Script: This function recovers the results of Visual Basic for Applications macro (VBA macro). Syntax: @Script (var_name, vartype, script_name) @Select: This function enables you to re-use the Select statement of an existing object. Syntax: @Select (Classname\Objectname) @Variable: The @Variable is used to reference the value assigned to a name or variable. Syntax: @Variable(myname) @Where: This function lets you re-use the Where clause of an existing object. Syntax: @Where (Classname\Objectname) What is aggregate awareness? Is a function used to aggregate the data from table, is used to enhance the performance of SQL transactions; it determines which tables to use in SQL generation either aggregate or detailed tables. Precedence: left to right Syntax: @Aggregate_Aware (sum (table1.sal), sum (table2.sal)) Setting up Aggregate Awareness: Build the Objects: 1. Identify all the possible definitions (table/column combinations) of the objects. 2. Arrange the objects by level of aggregation. 3. Build the objects using the @Aggregate_Awareness function. Specify the incompatible objects 1. Build an objects/aggregate tables matrix. 2. For the first aggregate table, decide whether each object is either: - at the same level of aggregation or higher (compatible) - at a lower level of aggregation (incompatible) 3. Check only the boxes of objects that are incompatible for that table.
10

4. Repeat the steps for the remaining aggregate tables. Define any necessary contexts 1.Define one context per level of aggregation. Test the results 1. Run several queries. 2. Compare the results. Advanced Tab)EditWhat are Object Security Access Levels? (Right click object You can restrict an object so that only end users with the appropriate security access level can use it. Security access levels are assigned to user profiles by the supervisor from the Supervisor module. The levels are from highest to lowest: Private, Confidential, Restricted, Controlled, and Public (Default level). The higher the level, the fewer the number of users can access it. What is Multidimensional Analysis? The purpose of multidimensional analysis is to organize data along a combination of dimensions and hierarchies. BUSINESSOBJECTS allows two types of multidimensional analyses: Slice and dice Drill (available only with the BUSINESSOBJECTS EXPLORER). What is Enterprise Mode? Enterprise mode means working in an environment with a repository. Online and offline modes are options that apply when you are working in enterprise mode. Online mode: Online, the default mode, is appropriate for a networked environment in which the general supervisor has set up a repository. In online mode, you can import or export universes. Offline mode: Working in offline mode means essentially that you work with universes that are stored locally on your computer. To use this mode, you must have been connected at least once in online mode. What is Workgroup Mode? Workgroup mode means working in an environment without a repository. What is Incremental Export?

11

DESIGNER can export a universe incrementally, meaning that it takes into account only the modifications made since the last export. What is the method of migrating the universe across domains and/or repositories? The following are the steps followed while migrating a universe across repositories: 1. First open the universe in the current repository and make the connection as shared. 2. Save the Universe. (Save for all Users) 3. Open the universe in the designer and export that to the required repository. 4. Change the connection type from shared to secured. Note: Both the repositories must reside within the same database schema. What are Linked Universes? Linked universes are universes that share common components such as parameters, classes, objects, or joins. What are linking of universes and how many levels of linking is possible? Creating a universe by taking the components from another universe. Only one level of linking is possible in BO. There are three approaches to linking: 1.Kernel 2.Master 3.Component Disadvantages: 1.Any change made to the master universe is reflected onto the derived universe. 2. Designer does not save any list values, which may be associated with the linked universes. What is the difference between linking and including the universes? Linking a universe is a process, which includes the required objects/classes of the master on to the derived universe. But any change made to the master universe is reflected onto the derived universe. Including a universe creates all the required objects from the master universe on to the derived universe; any change made to the master universe does not impact the derived universe.

What is the method of migrating the universe across domains and/or repositories?
The following are the steps followed while migrating a universe across repositories: 1. First open the universe in the current repository and make the connection as shared. 2. Save the Universe. (Save for all Users) 3. Open the universe in the designer and export that to the required repository.
12

4. Change the connection type from shared to secured. Note: Both the repositories must reside within the same database schema.

What is Workgroup Mode in BO Universe Designer?


Workgroup mode means working in an environment without a repository.

What is Enterprise Mode in BO Universe Designer?


Enterprise mode means working in an environment with a repository. Online and offline modes are options that apply when you are working in enterprise mode. Online mode: Online, the default mode, is appropriate for a networked environment in which the general supervisor has set up a repository. In online mode, you can import or export universes. Offline mode: Working in offline mode means essentially that you work with universes that are stored locally on your computer. To use this mode, you must have been connected at least once in online mode.

What is aggregate awareness in BO Universe?


Is a function used to aggregate the data from table, is used to enhance the performance of SQL transactions; it determines which tables to use in SQL generation either aggregate or detailed tables. Precedence: left to right Syntax: @Aggregate_Aware (sum (table1.sal), sum (table2.sal)) Setting up Aggregate Awareness: Build the Objects: 1. Identify all the possible definitions (table/column combinations) of the objects. 2. Arrange the objects by level of aggregation. 3. Build the objects using the @Aggregate_Awareness function. Specify the incompatible objects 1. Build an objects/aggregate tables matrix. 2. For the first aggregate table, decide whether each object is either: - at the same level of aggregation or higher (compatible) - at a lower level of aggregation (incompatible) 3. Check only the boxes of objects that are incompatible for that table. 4. Repeat the steps for the remaining aggregate tables. Define any necessary contexts 1.Define one context per level of aggregation.

13

Test the results 1. Run several queries. 2. Compare the results.

What are @Functions BO Universe?


(1) @Aggregate_Aware (2) @Prompt (3) @Script (4) @Select (5) @Variable (6) @Where @Prompt: message prompts the end user to enter a specific value. Syntax: @Prompt (message, [type], [lov], [MONO|MULTI], [FREE|CONSTRAINED]) @Script: This function recovers the results of Visual Basic for Applications macro (VBA macro). Syntax: @Script (var_name, vartype, script_name) @Select: This function enables you to re-use the Select statement of an existing object. Syntax: @Select (Classname\Objectname) @Variable: The @Variable is used to reference the value assigned to a name or variable. Syntax: @Variable(myname) @Where: This function lets you re-use the Where clause of an existing object. Syntax: @Where (Classname\Objectname)

When do you use multiple universes?


You can use multiple universes to solve a Chasm trap in a WEBINTELLIGENCE universe when Multiple SQL for Measures cannot be used as there are dimension objects defined for one or both of the fact tables.

What is Fan trap and Chasm Trap? How do you resolve?


Fan Trap: occurs when a One to Many join links a table which is in turn linked by another One to Many join. There are two ways to solve Fan trap: Creating an alias and applying aggregate awareness function. This is the most effective way to solve the Fan trap problem. Using Multiple SQL statements for each measure.

14

Chasm Trap: occurs when two Many to one joins from two Fact tables converge on a single Lookup table. Can be solved by: Creating a Context. Using Multiple SQL statements for each measure Creating multiple universes (WEBINTELLIGENCE only).

What is a context in BO universe?


Context is a method by which Designer can decide which path to choose when more than one path is possible from one table to another in the universe. Generally used transactional database with multiple Fact tables. Disadvantage: When you use a context, you expose the BO end user to the database structure. They are forced to decide which context they want to use to run their query. The role of the universe is to shield end users from the database structure, so they do not have to make such decisions.

What is an Alias BO Universe?


In SQL an alias is an alternative name for a table. In DESIGNER, an alias is just a pointer to another table. The purpose of aliases is to resolve structural issues in a database arising from SQL limitations. Whenever possible you should use an alias instead of a context.

How to detect loops in BO universe?


1) Run the Check Integrity function, which indicates the existence of any loops. 2) Select the Detect Loops command from the Tools menu.

What Types of Join Paths Return Incorrect Results?


1. Loops (Too few rows) 2. Fan Trap (Too many rows) 3. Chasm Trap (Too many rows)

If there are changes in the database on which you have already created a universe, how do you include those additional changes into your universe?
By refreshing the structure I get the updated database structure.

What is Parse checking in BO Designer?


Parse checking means how DESIGNER is to determine the validity of an object, join, or condition.

15

Quick parsing checks only the syntax of components. Thorough parsing checks both the syntax and semantics of components.

Why do you perform 'Integrity Check in BO Designer?


It detects any errors in the objects, joins, conditions, and cardinalities of your universe. It detects whether there are any loops in the joins. It detects whether contexts are necessary. It determines whether any changes were made to the database to which the universe is connected.

What is a Cartesian product in BO Universe Designer?


A Cartesian product is the result of a query in which two or more tables are not linked by a join. If executed, the report shows results for each possible combination of each table row.

What is Cardinality in BO Universe Designer?


Cardinality expresses the minimum and maximum number of instances of an entity B that can be associated with an instance of an entity A. The minimum and the maximum number of instances can be equal to 0, 1, or N. Cardinalities indicate whether the relationship or join between two tables is one-to-many (1,N), one-to-one (1,1), or many-to-many (N, N). Because a join is bi-directional, it must always have two cardinalities.

What is a join in BO Universe Designer?


A join is a relational operation that causes two or more tables with a common domain to be combined into a single table. The purpose of joins is to restrict the result set of a query run against multiple tables. DESIGNER supports: Equi-joins Theta joins Outer joins Shortcut joins Equi or Inner or Natural or Simple join: is 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. Self-Join: join a table to itself i.e create a self-join to find rows in a table that have values in common with other rows in the same table. Theta or Non-Equi join: links tables based on a relationship other than equality between two columns.
16

Outer join: links two tables, one of which has rows that do not match those in the common column of the other table. Left Outer Join: All records from first table with matching rows from second. Right Outer Join: All records from second-named table with matching rows from left. Full outer join: All rows in all joined tables are included, whether they are matched or not. Shortcut join: can be used in schemas containing redundant join paths leading to the same result, regardless of direction. Improves SQL performance.

What is the list mode in Universe?


List Mode) provides list of all the tables, joins, and contexts.List mode command (View

What is External strategy in BO?


In the external strategy file you can customize an existing strategy or create your own. External strategy files are named according to the following convention: StxxxxEN.txt where St means strategy, xxxx is an abbreviation for the RDBMS, and EN is the language in which Business Objects products are installed (EN =English) For Oracle: Stora7en.txt in the Oracle folder

What is Build -in Strategy in BO?


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 databases tables and columns. The Joins Creation strategy, which tells DESIGNER how to define joins automatically from the databases tables and columns. The Table Browser strategy, which tells DESIGNER how to read the table and column structures from the databases data dictionary.

What are Strategies in BO?


A strategy is a script that automatically extracts structural information from a database or flat file. There are two types of strategies: 1. Built-in strategies 2. External strategies.

What are Universe parameters in BO?


These parameters define the universe. They are Definition, Summary, Strategies, Controls, SQL and Links.
17

Summary Statistics of objects, joins, conditions, classes, contexts, hierarchies and alias in a universe. We get it from the Summary tab of the Parameters. Universe parameters or File. Controls The Control settings allow to limit the size of the result set and the execution time of queries. SQL These parameter controls the query (allows use of sub queries, allows use of union, intersect and minus operators) and SQL generation options for the universe. Links This links tab is used with dynamically linked universes.

What type of connections Designer provides?


DESIGNER provides three types of connections: (Tools Secured connection (Default): Stores the connection in the security domain of the BO repository to centralize and control access to sensitive or critical data. Designers and supervisors have the right to create this type of connection. Shared connection: Specifies that multiple users share the connection. All users who have access to this connection can use it and edit it. If you installed BO in Stand-Alone mode, the connection by default is stored in the sdac.lsi file (LocData subfolder). If you installed BO in Shared mode, the connection by default is stored in the sdac.ssi file (ShData subfolder). Designers and users have the right to create this type of connection. Personal connection: Specifies that the connection belong to the user who defined it. Other users cannot use or modify the connection. If you installed BO in Stand-Alone mode, the connection by default is stored in the pdac.lsi file (LocData subfolder). If you installed BusinessObjects in Shared mode, the connection by default is stored in the pdac.ssi file (ShData subfolder). Designers and users have the right to create this type of connection.

What is the difference between conditional objects and other objects?


Conditional objects have a where clause, where normal objects do not have a where clause

How can we qualify an object in BO?


An object can be qualified as a dimension, a detail, or a measure. Dimension objects retrieve character-type data that will provide the basis for analysis in a report. A detail object is always associated to one dimension object, on which it provides additional information. Measure objects retrieve numeric data that is the result of calculations on data in the database. A measure object is derived from an aggregate function: Count, Sum, Minimum, or Maximum.

List some functions to create objects in the universe?


18

@Aggregate_Aware, @Prompt, @Select, @Variable, Running Sum, Running Count, User Response, String functions, Date functions.

What is an Object in BO?


An object maps to data or a derivation of data in the database.

What is a Class in BO?


A class is a logical grouping of objects and conditions within a universe.

How do you distribute a universe?


There are two ways to distribute a universe to end users or another designer: 1) Exporting to Repository 2) Through File system Moving it as a file through the file Server.

How a Universe is identified?


A universe is identified by: a file name which consists of up to 8 characters and a .unv extension. a long name which consists of up to 35 characters. a unique system identifier. This is the identifier assigned by the repository when you export the universe. This identifier is null if you have never exported the universe.

How do you start creating the universe?


Universe can be created by taking into consideration the type of data and the logical structure of your companys databases. Creating of the universe starts with gathering of user requirements, identifying the database tables where the data resides, inserting the db structure to the universe, creating classes and objects from the db tables, and creating measures. Creating the joins between the tables, resolving loops either by creating aliases or contexts. Finally testing & deploying.

What is Universe?
A universe is a mapping of the data structure found in databases: tables, columns, joins. A universe is made up of classes, objects and conditions. A universe is the semantic layer that isolates the end user from the technical issues of the database structure.
19

What is Designer?
The Universe designer uses DESIGNER to design, create and maintain universes for a particular group of users. A universe designer can distribute a universe as a file through the file system, or by exporting it to a repository. DESIGNER is a Business Objects product intended specifically for you the Universe designer. It is important to analyze the type of information that the end users at your site will require so that you can develop universes that meet the needs of the user community. This includes the actual reports, information, or results likely to be required by the end users.

Re: I have 4 tables having many to many relationships between the tables? How i can get correct results in the report?

You have to create a context and split those tables.


Re: while developing a report in BO i had created prompts at query level? When an end user runs the report he has to see the details of the report with out entering the prompt values? How can we do this in BO? Answer When # 1 into

a movement you drag the object condition pane in webi, in between operator and operand there is a blue color bubble is there, when a movement you click on that you will get promt properties there you gotta select option called optional prompt, then user run the report and get the data though he didn't select the LOV

20

http://www.dwbiconcepts.com/reporting-a-analysis/25-business-objects/114-top-businessobjectsinterview-questions.html Types of Facts and Fact Tables ?

THERE ARE 3 TYPES OF FACTS 1)ADDTIVE:FACTS THAT CAN BE SUMMED 2)SEMI ADDITIVE:FACTS THAT CAN BE SUMMED UP FOR SOME OF THE DIMENSIONS AND NOT OTHERS. EX:BANK BALANCE 3)NON ADDITIVE:CAN'T BE SUMMED. EX:RATIO,AVG,VARIANCE --------------------------------------------------------------------There are two types of Fact Tables namely : 1) Cummulative Fact Table : Facts collected over a period of time are called CFT. 2) Snapshot Fact Table: Facts collected at adhoc basis are called SFT. Also, Fact less fact table : which has only FK and does not contain any measures. eg: Visitors to the office Subject of the mesurable data. Dimensions are mainly 11 types. They are

What are Dimensions and various types of Dimensions? 1. Changing Dimension 2. Slowly Changing Dimension 3. Rapidly Changing Dimension 4. Conformed Dimension 5. Degenerate Dimension 6. Junk Dimension 7. Inferred Dimension 8. Role Playing Dimension 9. Shrunken Dimension
21

10. Out Triggers 11. Static Dimension

22

You might also like