Best Practices for BO XI R2 Universe Designer

Best Practices for BO XI R2 Universe Designer
An a technical paper

Written by Sivakanth Panchagnula Business Objects Enterprise Architect -Center of Excellence for BI & IM Wipro Technologies

Wipro Confidential

Page 1 of 40

Best Practices for BO XI R2 Universe Designer

Preface
This section of the document outlines the Objective, Audience & brief overview of the content of the document. Purpose of the Best Practices for Universe Designer XI document: The universe is the starting point for any Business Objects reporting development. A good universe can save a lot of development time later. This document will guide the universe developers and IT users to follow the best practices while creating and using Universe Designer in Business Objects XI R2. Content of Best Practices for Universe Designer XI R2 document: • • • • Overview of the Universe Designer XI R2 New features Introduced in XI R2 Best Practices in Universe Design and Development Best Practices to be followed while Migrating Universes

Intended Audience & Expected behaviour for the Best Practices for Universe Designer XI R2 document • • Architect – Use this document as a reference to review the solution & designs

Universe Developer – Use this document as guideline to develop the Business Objects Universes Symbols used in this document to dedifferentiate between Standards, Guidelines & Methods S G M Standards – These are the enforced policies which need to be followed with out any deviation. Guidelines – These are the recommendations Methods – This is the only way/standard procedure to do this

Wipro Confidential

Page 2 of 40

Best Practices for BO XI R2 Universe Designer

Table of Contents Introduction ................................................................................................................. 4 New features in Universe Designer XI R2................................................................. 5 Cascading list of values........................................................................................... 5 SQL generation new features.................................................................................. 5 Ability to create universes against OLAP databases ............................................ 6 Retrieving Unicode data with Desktop Intelligence or Web Intelligence........... 6 Universe Development................................................................................................ 7 Universe development cycle................................................................................... 7 Universe Connection ............................................................................................... 8 Universe Parameters.............................................................................................. 10 Table Structure ....................................................................................................... 13 Joins......................................................................................................................... 14 Database Loops ...................................................................................................... 17 Aggregate Awareness............................................................................................ 22 List of Values.......................................................................................................... 22 Class / Object Organization.................................................................................. 23 Hierarchies.............................................................................................................. 28 Integrity Check....................................................................................................... 28 Cardinalities ........................................................................................................... 29 Optimizing universes ............................................................................................ 30 Managing Universes.................................................................................................. 31 Working in Multiple Designers environment ..................................................... 31 Linked Universes ................................................................................................... 33 Universe promotion................................................................................................... 35 Appendix.................................................................................................................... 38 Universe Design Checklist .................................................................................... 38 References............................................................................................................... 40

Wipro Confidential

Page 3 of 40

Best Practices for BO XI R2 Universe Designer

Introduction Business Objects Product suite has two semantic layers (an abstraction layer on top of the data source which gives an user friendly interface to do reporting & analysis) known as Universe & Business Views. Universe is the semantic layer which was available in Business Objects from the initial versions of the tool & Business Views got added later on after Business Objects acquired Crystal Decisions. Till this version (BOE XI) of the business objects, Universes were primarily intended to act as the semantic layer for the Business Objects Reports & Metrics (Web intelligence Reports, Full Client Reports, Dashboard Metrics etc) and Business Views were intended to act as the semantic layer for the crystal reports. In the current version of the Business Objects, it is possible to write crystal reports on top of Universe Semantic layer, but keeping in mind the features available in Business Views & the reporting functionality features of Crystal, it’s not recommended to use Universe as the semantic layer for Crystal Reporting. It will be wise to wait for sometime till Business Objects bridges the functionality gap between Business Views & Universes and comes up with an unified Semantic layer for all the kind of reporting available in Business Objects tool. Business Objects has the future plan to merge the features of Business Views with Universe & come up with a single, powerful semantic layer which will be called as Universe. The universe is created by the designer in order to mask the complexity of the database from the Business users, and to create a consistent and convenient storage mechanism for commonly used objects. This document outlines the guidelines and best procedures for designing universe.

Wipro Confidential

Page 4 of 40

R The JOIN_BY_SQL feature is used in universe to take advantage of the RDBMS ability to generate derived tables and the full outer join SQL. R An End_SQL parameter in the universe properties allows inserting a string at the end of the SQL generated by a query. This will generate one global SQL flow instead of generating multiple SQL flows. This feature enables to select sequential prompt values depending on the values selected in the prompts. The variables are stated in the common field and evaluated when running a query.Best Practices for BO XI R2 Universe Designer New features in Universe Designer XI R2 The following are the new features introduced in Universe Designer XI R2. This will contribute towards the better performance of the Reports. This helps in increasing the report Performance. This feature is useful for testing & debugging. • • • • Cascading list of values SQL generation new features Ability to create universes against OLAP databases Building universe against databases with Unicode Data Cascading list of values R A cascading list of values is a sequence of ‘lists of values’ associated with a hierarchy of objects in a universe. Wipro Confidential Page 5 of 40 . SQL generation new features R Index awareness is the ability to take advantage of the indexes on key columns to speed data retrieval.

Retrieving Unicode data with Desktop Intelligence or Web Intelligence R The ability to retrieve the display Unicode data by building queries with universes is available in Designer module of XI R2. The universe is created automatically from a selected connection to an OLAP data source using an OLAP query flattering driver that is installed as an add-in to Designer XI R2. Chinese etc. This feature will be helpful only when the organisation have OLAP cube data sources like Oracle Express. This can be used to create documents and run queries against data sources with Unicode data.Best Practices for BO XI R2 Universe Designer Ability to create universes against OLAP databases R An OLAP universe is a Business Objects universe that is generated from an OLAP cube or query. Wipro Confidential Page 6 of 40 . such as data in Japanese. Essbase Cubes etc.

Universe development is a cyclic process which includes planning. The usability of any universe is directly related to how successfully the different phases in the development cycle interact with each other. distribution. Universe development cycle G The table below outlines the major phases in a typical universe development cycle & it is recommended that the IT Universe Designers follow the below phases: Development phase Prepare • Description Identify the target data source and become familiar with its structure • Know what data is contained within each table of each of the target databases • • • • Analyze • Understand the joins Identify the cardinality Know what is possible Understand the Business Users & their Business functions & how they are organised Identify the key business questions that they need to answer • • Identify what standard reports they require Familiarize IT Universe Designers with the Wipro Confidential Page 7 of 40 . designing. Classes etc. Universes are usually developed for standard & adhoc Reporting Requirements. building. and maintenance phases.Best Practices for BO XI R2 Universe Designer Universe Development The Universe Designer Interface enables the IT Universe Designer to develop the Universe & all its content like Objects.

Implement • • Build the universe using Designer. Universe Connection Connection defines the data sources for Universe. Test frequently during the build process for validity and reliability of inferred SQL. who have some knowledge of what information they expect to get from the universe? Ask the key Business users to perform thorough tests simulating live usage of the universe(s) Deploy • Distribute the universe by exporting universe to the Central Management Server (CMS). Evolve • Update and maintain the universe as the data sources and user requirements change and grow. how many universes should be created and which ones should have the capacity to be linked and to what level. R S You should never duplicate the connections for the same data source. It will specify which physical data source is made available to the system and how these data source is made available. For example. The connections are generally created by the IT Administrators & made available to the IT Universe Designers. Test • Form a small group of key Business users. Page 8 of 40 Wipro Confidential .Best Practices for BO XI R2 Universe Designer business functions & terminology Plan • Identify a project strategy. where it can be accessed by the Business users.

This can avoid any connection related issues that IT Business View Designer may face for any incorrect parameters in the connection. it is a must for you to always test the connection for any errors in the connection.Best Practices for BO XI R2 Universe Designer o This will make sure that you have all the connections unique. o By using the connection name. R S You must provide a meaningful name to the connection & the standard for that are outlined in the example below. R S The IT Administrator must assign user access rights for different IT & Business user groups in the CMC. R S You must Test the Connectivity o After creating the connection. R S You must always select the connection Type as Secured. R G It is recommended to select the check box ‘Use database credentials associated with Business Objects Users Accounts’ if you have all the business objects users are defined as the database users also. o For example • • <DATASOURCE NAME>_<ENV IDENTIFIER> ABC_D (ABC is the source database & D stands for Development Environment). o This helps in leveraging the database level security defined for the different Business Objects Users & better for tracking of usage & solving support issues. o Only secured connections can be exported to the Central Repository & used by different Universe Designers. This also always a standard for enterprise implementations. o This will ensure the access criteria for the IT users like IT Universe Designers who will use this connection for Universe Development Wipro Confidential Page 9 of 40 . the IT Universe Designer will be able to select/identify the appropriate data source.

Always give the description in the Business terms & also mention a purpose of the Universe. Wipro Confidential Page 10 of 40 . o The following Screenshot depicts the different types of Access levels that an IT Administrator can set on Universe connections (Screenshot of the CMC interface to configure different access rights for Connections) Universe Parameters Universe parameters are certain parameters & options that the IT Universe Designer can set for the Universe. R S You must always give a meaningful name to the Universe. o The Name of the Universe will be visible to the IT Report Designers & the Ad – hoc Business users. R S You must provide a meaningful ‘Description’ for the Universe. o The description should be well defined & understandable to the IT / Business users of the Universe. Please refer to the Naming Standards document for standards & guidelines on Names.Best Practices for BO XI R2 Universe Designer & also will give the criteria for the Business users when they will use these connections through Universes & reports.

R G It is advised to keep connection mode as asynchronous. o Asynchronous mode will allow queries to be cancelled when user presses ESC. o To resolve the chasm traps & fan traps you need a common query to retrieve data which can be achieved by un-checking these options. If you have a good network R G It is recommended to clear these check boxes in the universe parameters. if you are using contexts to resolve chasm traps. the faster the query results are passed back through database. R G It is recommended to set array fetch size maximum. the less fetches. o Higher the number. The occurrence of chasm traps & fan traps are very rare if you have a proper database design. Business Objects allow max of 1000. o This avoids repeatedly opening and closing connections and also avoids keeping connections open for excessively long period. Wipro Confidential Page 11 of 40 .Best Practices for BO XI R2 Universe Designer R G It is recommended to keep the connection alive to be no more than 10 minutes. fan traps. which kills the query on the database and releases the resources of database which are hold by the query.

It is a good practice to check this option from the beginning. R G It is recommended to check the Use Multiple SQL statements for each measure o This Splits SQL into several statements whenever a query includes measure objects derived from columns in different tables. even if this option is checked. o This will enable the Business / IT users to create queries that contain multiple SQL statements when using a context. R G It is recommended to use Allow selection of multiple contexts o This will enable the IT / Business users to create queries on objects in more than one context and to generate one set of results from Wipro Confidential Page 12 of 40 . If the measure objects are based on columns in the same table.Best Practices for BO XI R2 Universe Designer R G It is recommended to check the option Use Multiple SQL statements for each context. This option is useful if you have any contexts in the universe. then the SQL is not split. if you are expecting to use contexts in the universe.

R G It is recommended to insert tables one at a time. R G It is always recommended to include only the tables that the Universe required which are going to be used in the queries. Table Structure This is the interface where the IT Universe Designers will bring the tables in to the Universe & carry out all the other activities in creating the Universe. o The isolated tables are static in nature as they are not joined to other tables. o This will warn the IT Universe designer for any probable Cartesian products & the IT Universe Designer can resolve it. Don’t use quick design wizard. If you are using any field from isolated table with other fields. o This avoids confusion in maintenance & also keeps the universe clean. R G It is a best practice not to have isolated tables (which are not joined) in the universe & create minimum objects from these tables. R G It is recommended to check the option of Warn for the Cartesian product. o This will avoid the confusion and will help the IT Universe designers to put appropriate joins & check the cardinalities etc in ease. If you will choose prevent option then some times it will be difficult to debug for any Cartesian issues. it gives a Cartesian product.Best Practices for BO XI R2 Universe Designer multiple contexts. Don’t bring in tables which are not required. Wipro Confidential Page 13 of 40 . It also helps in avoiding Cartesian product.

o This helps in performance by ordering the tables. they need to create joins between related tables. for example a join manually defined in the Where clause for an object. R S You must always create joins in the structure pane. This determines the table order in the FROM clause of the SQL statement. o Joins that are not created from the structure pane. you need to be aware of the limitations of automatic join detection when designing schema. Detecting joins automatically is useful in quickly create joins in our schema. R G It is always recommended to provide tables weights for the tables. However. o This will ensure that all the joins are valid & can avoid any wrong joins. It reduces the load on maintenance of the database summary tables. Table weight is a measure of how many rows there are in a table. Lighter tables have fewer rows than heavier tables. Joins are as important as the tables in a schema.Best Practices for BO XI R2 Universe Designer R G It is always recommended to use derived tables where ever possible. as they allow combining data from multiple tables in a meaningful way. Joins Once IT Universe designers have inserted more than one table in the schema. are created Wipro Confidential Page 14 of 40 . You can either detect the joins manually or can use the automatic join detection. o This helps in maintaining a statistical table which involves complex calculations. By default Business Objects sorts the tables from the lighter to the heavier tables (those with the least amount of rows to those with the most). R G It is recommended to trace the Joins manually. But only thing you need to keep it in mind that it costs you on your performance front.

o Shortcut joins provide an alternative path between two tables. Shortcut joins can improve query performance by using shorter paths and bypassing intermediate tables.Best Practices for BO XI R2 Universe Designer at run time. ANSI 92 is not supported by default and ensures that we verify that the target RDBMS supports ANSI 92 before using the syntax in joins. o Outer joins may have a negative effect on performance since more rows are returned. are not considered by Universe Designer for integrity checks and context detection. some databases will not use indexes when outer joins are involved. R G It is recommended to optimize database performance by using shortcut joins where ever possible. This parameter is listed on the Parameter page of the universe parameters dialog box (File > Parameters > Parameter). o This gives a better performance by adding the joins in the FROM clause. Automatic join detection Wipro Confidential Page 15 of 40 . Additionally. o Designer supports ANSI 92 syntax for joins. R G It is a best practice to avoid outer joins where ever possible. R G It is recommended to verify that the target database supports ANSI 92 before using this option. Once activated. o IT Universe designer must activate support by setting the SQL universe parameter ANSI 92 to YES. we can choose to use ANSI 92 syntax for joins in the universe.

Step -1: Position the pointer over a column that is wanted to be one end of a join. The column is highlighted. The join between the two tables is Wipro Confidential Page 16 of 40 . The target column is highlighted. R G It is recommended to always verify manually each join that you accept to be created that has been automatically detected. o As there may be other joins necessary that have not been detected. created. the pointer is transformed into a pencil symbol. Release the mouse button. Step -4: Position the pencil symbol over the target column. IT Universe Designer can graphically create individual joins between tables by using the mouse to trace a line from a column in one table to a matching column in another table. automatic join detection is not recommended. The pointer appears as a hand symbol. Step -3: Drag the mouse to the column in another table that IT user wants to be the other end of the join. M Manual join tracing Please use the below steps to trace the joins manually.Best Practices for BO XI R2 Universe Designer As mentioned in the beginning of this section. While dragging. but still if you are using it then please follow the below guideline. Step -2: Click and hold down the left mouse button.

Wipro Confidential Page 17 of 40 . A loop is created when two or more paths exist between tables. Therefore. because there are multiple options. It lists join properties. The Edit Join dialog box appears.Best Practices for BO XI R2 Universe Designer Step -5: Double click the new join. Database Loops Join path problems can arise from the limited way that lookup and fact tables are related in a relational database. The loops can be resolved in 2 ways in Universe & they are Aliases & Contexts. Loops are cause in a universe when tables are joined together in such a way as to create a circular join path. Step -6: Enter and select properties for the join and Click OK. as shown in the below screen shot: (Screenshot of a loop in tables in the structure pan) The problem with a loop is that the SQL cannot figure out which path to take between two or more tables. it throws an error at the time of query execution.

It is using the COUNTRY table to determine the country of the client. Just to make it very clear. it is caused because it is using a dimension. and one to connect to the SHOWROOM table as shown in the below screenshot.Best Practices for BO XI R2 Universe Designer Aliases Aliases are references to existing tables in a schema. And by only using aliases. with a different name. An alias is simply an alternate name for a table. To avoid loops like this. the aliases will be deleted as well. COUNTRY. and will not be used directly. In this case. table (COUNTRY). However. one to connect to the REGION table. has been placed off to the side. if we delete it from the universe. we can give them names that make it clear what they are being used for. or lookup. An Alias is a table that is an exact duplicate of the original table (base table). Wipro Confidential Page 18 of 40 . (Screenshot for alias of table) Notice that the original table. and also to determine the country of the showroom. if you look at the previous screenshot of the loop. for two different purposes. we can create two aliases of the COUNTRY table. you can create an alias table for each purpose.

o This allows to give meaningful names to tables. • • To use the table more than once in a query. ‘. in the above screenshot the alias table names are COUNTRY_SHOWROOM & COUNTRY_REGION which gives a good meaning that they are used as SHOWROOM & REGION respectively in the Universe. • • Generic lookup tables can be resolved by alias. and prevents the need to rebuild major sections of a universe structure should a base table need to be aliased at a later stage. DO NOT DELETE’ as shown in the above screenshot.Best Practices for BO XI R2 Universe Designer R S You must always alias the base tables which you want to alias as it is inserted into Schema – then build the schema using the alias tables. For Example. Place the base tables together away from the main universe structure & put a text around it as ‘ALISED TABLE. Base tables are the original tables from the database schema. Contexts If a loop is caused by having multiple fact tables access common dimension tables. we resolve these loops with contexts. NOTE: It is recommended to create aliases in the following Scenarios. R G It is a best practice to give a meaningful name that can better describe a table’s purpose than some original cryptic name. Contexts are a collection of joins Wipro Confidential Page 19 of 40 . Logically separates the trap into pieces • To abbreviate the table name to save typing when writing freehand SQL. To solve loops and fan traps. Recursive relationships can be resolved. not the original base tables. o This avoids confusion & helps in understating the purpose of the alias table.

R S You must always give a meaningful name to the context. M Standard method for creating a context manually Step-1: Select Insert > Context. Step-3: Select all the joins defining the context in the Current Context Joins list. This text will be useful to them.Best Practices for BO XI R2 Universe Designer which provide a valid query path for Business Objects to base its SQL generation. Step-4: Click the Detect button to show the joins making up a suggested context with context name. Or Click the Insert Context button. Wipro Confidential Page 20 of 40 . o This is the help text that an end user (IT / Business) sees when they run a query that takes the context path. o This help in the use of the context for the end Users (IT / Business). Context The New Context box appears Insert Step-2: Type a name for the context in the Context Name text box. R G It is a best practice to give a meaningful description to the context. Contexts are nothing but the multiple query paths that the Universe users (IT & Business) can use.

NOTE: Contexts are used for the following purposes: • To solve chasm traps and in some solutions to fan traps Chasm traps can occur when two many-to-one join paths converge on a single table. The following section talks about the aggregate awareness. from being used in a query with the aggregate aware object. We use contexts to direct join paths in a schema which contains multiple fact tables. Step-7: Click OK. Click the Check button. Wipro Confidential Page 21 of 40 . Contexts can split out the query so that the correct numbers of rows are returned for the dimension. so that one query returns data for one fact table. This is the help text that a Web Intelligence user sees when they run a query that takes the context path. Multiple rows can be returned for a single dimension causing inflated results. Aliases are not appropriate in such schema. • To assist in detecting incompatibility for aggregate awareness objects Contexts are used to exclude objects that are not compatible with an object using the @AggregateAware function in its definition. and the other query returns data for another fact table. Contexts can also be used with aliases to solve fan traps. Step-6: Type a description of the data the context returns. This text should be useful to the end user.Best Practices for BO XI R2 Universe Designer Step-5: Select the Show Selected Only check box to see only selected joins. • To solve loops The most common use of contexts is to separate two query paths.

the object has the ability to query the database to return a list of its values when used in the Query pane. depending on the level of aggregation in the table. but by default. • Queries run against aggregate tables will run much faster than queries run against transaction tables. within a universe to take advantage of aggregate or summary tables within a database. simply because the tables are significantly smaller that the transaction table. R G It is recommended to test the aggregate awareness using the Web Intelligence. Page 22 of 40 Wipro Confidential . R S You must always provide a right order of aggregation in the aggregate aware function. For Example: YEAR should be followed by QUARTER & then MONTH. it is automatically assigned an associated list of values. This list does not physically populated when we create an object. There won’t be any default list of values is assigned to measure objects. You should start from the highest aggregation to lower aggregation. without having to create a set of objects for each aggregate table. List of Values When IT Universe designer creates a dimension or detail object in Designer. R G It is a good practice to restrict the LOV to a smaller number of values. o This will ensure the accuracy of the aggregate awareness. Aggregate Awareness in the universes gives the following advantages: • It allows the IT Universe Designers to add intelligence to existing objects that will allow them to access the appropriate table based on the level of detail needed for the query. o This will determine the right aggregation orders for different aggregate tables.Best Practices for BO XI R2 Universe Designer Aggregate Awareness Aggregate Awareness is the ability.

R S You must always give meaningful Name & Description to the Classes. detail. Try to avoid very long names also. Long names will occupy more space in the pane which can reduce the user friendliness of the Universe. The name should be concise & context oriented. measure or even a condition. but there are certain standards & guidelines need to be followed through out the organisation for better usability & maintainability. Wipro Confidential Page 23 of 40 . You can a condition to edit the LOV to restrict it to contain only the required values. o This helps the end users (IT & Business) while using this in creating reports & queries. o o This gives a good meaning to the LOV. For example: An object returns a 'sales type code' which may not have a meaningful value to some users. R G It is recommended to combine code and description in the LOV. Classes Classes are the folders & sub folders that are used to organise the objects which can be a dimension. The opposite can be done for the 'sales type description' object to display the code along with the description. As the organisation of the classes & objects will be driven by the respective requirements that the Universe is expected to address. Editing the LOV to display the 'sales type description' will help them when viewing the LOV.Best Practices for BO XI R2 Universe Designer o If the field for LOV points to a large table (number of rows) then refreshing the LOV may be slow. Class / Object Organization Classes & object organisation is the very important part of the Universe development as this is the layer with which the IT Report Designers & the Ad Hoc Business Users interact most.

For Example: if you have a customer class. Generally the classes/Objects which need to be hidden are: • • • Components from linked universes and are not needed in the active universe. Objects used only to optimize SQL syntax and should be hidden from end users. The class should contain the related objects in it. the have all the customer related objects in that class. Wipro Confidential Page 24 of 40 . You should only hide the class which contains the objects which are not required by the Business users. R G It is a best practice is to arrange classes in alphabetic order or with some business context. R G It is recommended not to cluster class with too many objects and subclasses o It’s difficult for end users (IT & Business) to navigate through classes. o This will help the end user (IT & Business) in finding the required objects with ease. Always have the dimension classes at the beginning followed by the measures. R G It is recommended to hide the classes & Objects which are not required by the Business end users. o This will avoid the confusion for the Business users. Components need to be disabled temporarily without deleting them. o Navigation through classes would be easy for end users (IT & Business).Best Practices for BO XI R2 Universe Designer R G Always use classes to logically group the objects.

Best Practices for BO XI R2 Universe Designer Objects Objects are generally the components that are mapped to one or more database table column (s) with some appropriate syntax. Most of the cases. You can define the index awareness using the key tab. o The description of the objects appears as a tool tip for the end user (IT & Business). This helps in understanding the use of the objects. Wipro Confidential Page 25 of 40 . The below table gives different scenarios. R R S You must always give a meaning full name to each object. The organisation data dictionary also can be leveraged for giving a meaningful description. this description should be the business definition of that object. S You must always give a meaning full description to each object. where you can avoid using ‘Where clause’ and use ‘Create Condition objects for each restriction instead’. o This increases the query performance by taking the advantage of indexes on the key columns. An object can also be a map to the function defined on one or more columns. o It helps in identifying the object. o This has performance implications & can contribute towards creation of multiple objects. R G It is recommended to avoid the use ‘Where’ clauses in the objects where ever possible. R G It is a best practice to define the index awareness for the objects (dimensions & details).

US clients. you can end up with multiple objects with similar names. it will be difficult for users to construct a logical default hierarchy to use for drill down. and Japanese clients. Create condition Objects for each restriction. Confusion between object name and applied restriction. Create condition objects for each restriction. French clients. the conflict between the Where clauses will result in no data being returned. This can be confusing for users to see multiple objects that appear similar.Best Practices for BO XI R2 Universe Designer Problem Proliferation of similar objects. If two or more similarly restricted objects are included in the same query. and ensure that users (IT & Business) do a union or synchronization of the Page 26 of 40 Wipro Confidential . Create condition objects for each restriction. then a restriction may not be obvious to the user simply from the name of the object. Name each object appropriately. each inferring a Where clause for one part of the data. Description If you restrict data for an object by creating several objects. Conflict between Where clauses. A Business user can see the Where clause by viewing the SQL for a query. but not all users will view the SQL before running a query. For example. If you have multiple objects inferring Where clauses on the same data. Difficulty creating hierarchies. Solution Create condition objects for each Restriction. Unless your objects are very precisely named.

R G It is a best practice to create separate class/sub class for conditional Objects. o This helps in the appropriate aggregations which can increase the report performance. but do this at the report level. o This will help easy identification of the conditional objects. R G It is recommended that to specify the way the aggregate function will be projected onto a report for the measure objects. o This prevents end users (IT & Business) having to spend valuable time formatting data from within the reporting tool every time they create a report. R G It is recommended no to define measures that are averages at the Universe level. Wipro Confidential Page 27 of 40 . R G It is recommended to format objects and measures within the universe. o It will avoid incorrect results. Also this will ensure a generic formatting across the organisation. o Returned values for a measure object are aggregated at two levels of the query process.Best Practices for BO XI R2 Universe Designer Queries at the report level. This projection function of measures allows local aggregation in the microcube. Query level when Data is aggregated using the inferred Select statement and Micro cube to block level when data is projected from the microcube to the block in a report.

R S You should always avoid using the CHECK CARDINALITIES option. R G It is recommended to have at least one custom hierarchy in the Universe. There are two kinds of hierarchies are there & they are default hierarchies & Custom hierarchies. to ensure that default hierarchies have a sense to the end users (IT & Business). When you create objects. Designer provides a set of default hierarchies for multidimensional analysis. o This will usually take a very long time and can return inaccurate results due to incomplete or misleading data on the database. Wipro Confidential Page 28 of 40 . Integrity Check Integrity checking is a built in feature of Business Objects Designer tool available via TOOLS / CHECK INTEGRITY. R G It is best practice to have the certain standard hierarchies like Time. This allows end users to observe the data from various view points. o It will facilitate the use of ‘Drilling facility’ and ‘Cascading list of values’. This is required for performing the drill function in the Web Intelligence Reporting. These are the classes and the objects arranged in the order that they appear in the Universe pane. By default. Custom hierarchies are the hierarchies that you build in the Designer.Best Practices for BO XI R2 Universe Designer Hierarchies Hierarchies are used by the end users (IT & Business) to do the multidimensional analysis. you should organize them hierarchically. Geography etc always in the universe. o These are the standard hierarchies which is required in most of the multidimensional analysis.

if the many side of a one-tomany has limited rows i. In general the cardinality detection takes a longer time since both tables are accessed and those tables could contain a lot of data.Best Practices for BO XI R2 Universe Designer R G It is recommended to use ‘Quick parsing’ in the development cycle. Business Objects will report the cardinality incorrectly e. R S You must always check the ‘Send check integrity’ option. only one row per row in the other table. M The below bullets are the standard ways to detect the cardinalities for different joins. then the cardinality detection will always be incorrect.e. This will make sure that you check the Universe before exporting. o This ensures that the objects are error free. R G It is recommended to test measures by starting with 1 dimension + 1 Measure. Confirm/check SQL generated as each new dimension or additional Measure is added during unit testing to ensure accuracy. A complete join is needed for accurate cardinality detection The built in cardinality detection can be used as a way of confirming users separate determination of cardinality but it is strongly suggested that it is not used as IT Universe Designers sole knowledge of cardinality. etc. then 2 dimensions + 1 Measure. o This will ensure that all the objects are parsed & checked for any possible error. Wipro Confidential Page 29 of 40 . If several simple joins are used instead of a single complex join across the tables. o This will compel the designer to display a warning if you are exporting an unchecked Universe. Cardinalities The cardinalities feature is dependent on the Quality and quantity of data – if the 2 tables contain data that is inconsistent with the true cardinality.g. Business Objects might detect the cardinality as a one-to-one.

Index awareness All the guidelines & standards around this have already been covered in the respective section of the documents. Short cut joins cardinalities are never used by context detection but the absence of a cardinality will trigger the ‘not all cardinalities are set’ warning • All other types of joins – their cardinality must be determined on a case-by-case basis. Allocating a weight to each table. It doesn’t matter what but it is suggested to be one-to-one. Wipro Confidential Page 30 of 40 . Self joins cardinalities are never used by context detection but the absence of a cardinality will trigger the ‘not all cardinalities are set’ warning • Short cut joins – ideally set their cardinalities to represent the same cardinality of the path they are replacing.Best Practices for BO XI R2 Universe Designer • Self joins – set their cardinalities to a constant value. Creating and using aggregate tables in our database. Using shortcut joins. There are several ways we can optimize a universe: • • • • • Optimizing the Array Fetch parameter in the Universe Parameters. Knowledge of cardinalities is mainly dependent on knowledge of the primary and foreign keys within a table: Optimizing universes Query time can often be shortened by optimizing a universe.

Best Practices for BO XI R2 Universe Designer Managing Universes Working in Multiple Designers environment Universe Designer can be used in a multiple user environment in which several IT universe designers can work on the same universes without causing conflicts between versions. coordinate their efforts to avoid development on a universe that is out of date. R S You must always lock universe on import feature to control export of the Universe to the Repository. NOTE: Only one IT universe designer can work on a given universe at a time. although they will not be able to export those changes back to the repository until the lock has been removed. a universe can be shared by several designers provided that they have the necessary user rights. To unlock a Wipro Confidential Page 31 of 40 . o You can lock the universe by double-click on the universe name. The IT Universe Designers can lock the universe so that only one IT universe designer at a time can make modifications on the universe. o When several developers are working on one universe. A locked universe appears with a padlock symbol. An IT universe designer who wants to work on a universe. When stored in a universe folder. Therefore if several developers have the ability to import and export the same universe. o This feature will not prevent someone from importing the universe and making changes in their local environment. can do so only if the universe has not been locked by another designer. this option will prevent people from exporting over the universe in the repository. This scenario can happen in a case where one universe is used across multiple project groups. and a universe can also be assigned a version number to keep track of changes.

This text is only visible in DESIGNER. Wipro Confidential Page 32 of 40 . NOTE: Each time Universe designer export a universe to a universe folder. o This will ensure that the appropriate version of the universe is available & will avoid any universe corruption. Designer increments the revision number of the universe. R S You must always use appropriate text in the comments of the Universe to mention the version of the Universe. This allows us to determine. which the latest version of the universe (it’s a default feature available). The below screenshot shows the interface. double-click it again.Best Practices for BO XI R2 Universe Designer universe. Use the comments text box (File > Parameters > Summary > Comments) to record the status and changes of a universe for other developers. The interface is shown in the below Screen shot. whereas the description text (shown on the Definition tab) is visible to end users when they select an available universe.

Linked Universes would be very helpful in case you have the subject areas shared across the business functions & have an enterprise wide data warehouse. or joins. This gives a single point control for maintainace & enhancement to the Universes. When we link two universes.Best Practices for BO XI R2 Universe Designer Linked Universes Linked universes are universes that share common components such as Parameters. classes. the other a derived universe. objects. one universe has the role of a core/master universe. they are automatically propagated to the derived universes. R S You must always make sure that your both Master & derived universes are pointing to the same database. Wipro Confidential Page 33 of 40 . When changes are made in the core/master universe. o The linked universes will work only when they are from the same database. In this scenario this can be leveraged to create master universe containing the common subject areas & then use derived universes for each business functions.

• Lists of values associated with a core universe are not saved when you export a derived universe with the core universe structures. Wipro Confidential Page 34 of 40 . Contexts must be re-detected in the derived universe. • Exported derived universes are located in the same universe domain as the core universe. Using the same connection for both the core and the derived universe makes managing the universes easier. The core universe was exported and re-imported at least once. classes and objects of the core universe are available in the derived universe. Restrictions when linking universes • Universe Designers can use only one level of linking. If not conflicts will occur. and the same RDBMS. but this can be changed at any time. • Only the table schema. or database. The two universe structures must allow joins to be created between a tables in one universe to a table in the other universe. then Cartesian products can result when a query is run with objects from both structures. • • The core and derived universes must be in the same repository. The derived universe does not need to have been exported before creating a link. • Designers are authorized to link the given universe. • All classes and objects are unique in both the core universe and the derived universes. • The core universe and derived universe use the same data account. If not.Best Practices for BO XI R2 Universe Designer NOTE: Pre-requisite for the Linked Universe. Users cannot create derived universes from a universe which is itself derived.

Best Practices for BO XI R2 Universe Designer Universe promotion A typical organization will have four 4 different environments (Development (DEV). It’s a good practice to have at least four copies of Universes across different environments like. PROD and ideally a QA where the entire tests Universes are stored. If the Universe in one Server gets corrupted or if the state becomes unknown the only resource is for the administrator to make a new copy of the universe in a different Server and use it. Wipro Confidential Page 35 of 40 . Step–1: Log in to the Business Objects Enterprise in the client Box and start the import wizard. Quality Assurance (QA). Integration (ITG). Dev and ITG may potentially reside on the same server. ITG. M The following is the sequence of steps to be followed in migration of Universes. Production (PROD).DEV.

Best Practices for BO XI R2 Universe Designer Step–2: Select the Source environment Step–3: Select the Destination environment Wipro Confidential Page 36 of 40 .

Best Practices for BO XI R2 Universe Designer Step–4: Finally Import all the Universes to the required Environment. The same procedure needs to be followed for promoting the Universe from one environment to another. Wipro Confidential Page 37 of 40 .

BI CoC architect or the Universe approving authority can use this checklist in the approval process. you will also find some general points in the checklist which can be of great value.Best Practices for BO XI R2 Universe Designer Appendix Universe Design Checklist This checklist can be used by the IT Universe Designer to make sure that he/she has covered all the necessary aspects of the Universe Designing. does they return the same number of rows as they return at the table level? Wipro Confidential Page 38 of 40 . The below checklist contains the standards (S). guidelines (G) that need to be followed during the universe development cycle. Universe Name: Reviewer: Review Date: Comments/Reco mmendations Item OK? Universe Parameters S Is name of the universe as per organization standard? S Is meaningful description provided for universe? S Is secured connection used? G Is SQL (Cartesian product) set to prevent? G Is SQL (Multiple Path) – “Allow selection of multiple contexts” set? Class S Is class name meaningful and understandable? S Is a meaningful description provided for each class and sub class? Does the universe have any incompatibilities within a class such as objects from multiple contexts? When a query is run on all the objects of the class. Apart from Standards & guidelines.

detail or measure Are columns of numbers right justified? G Format set for measure objects to display correct decimal places Did you test the measure object extensively with all dimension objects related to hierarchies? Is aggregate function set for each measure object? Is parsing of objects successful? Joins G Parsing of the joins are successful? G Is cardinality set for each joins? Is cardinality matches with physical database design? Is the column used in joins matched with physical database design? Context and Alias G Is a name & description provided for each context? G Is Alias used to resolve loops? Item Universe Evaluation criteria Does the universe have proper connectivity to the database? Are there any cardinalities in the universe? Are there any loops in the universe? Does the universe contain alias tables? Does the universe have contexts? Does the universe contain LOV’s from a static file (Word or Excel file)? OK? Comments/Reco mmendations Wipro Confidential Page 39 of 40 .Best Practices for BO XI R2 Universe Designer Item OK? Comments/Reco mmendations Objects S Does the object have proper name & description? Object type matches with tables column definition Objects are qualified correctly as dimension.

Best Practices for BO XI R2 Universe Designer Item Does the universe use Nested Prompts? Are there any aggregate aware functions in the Universes? Does the universe get tested for hierarchies? Does the universe contain the conditions? Is thorough parsing done for the universe? Are there any aggregate processing system? builds from OLTP OK? Comments/Reco mmendations References Businessobjects Documentation Wipro Confidential Page 40 of 40 .

Sign up to vote on this title
UsefulNot useful