BO XI Universe Design.pdf

Embed Size (px)

Citation preview

  • BusinessObjects XI 3.0: Universe Design

    Learners GuideDM310V3.0

    Revision A, August 2008

  • Copyright 2008 Business Objects. All rights reserved. Business Objectsowns the followingU.S. patents, whichmay cover products thatare offered and licensed byBusinessObjects: 5,295,243; 5,339,390;5,555,403; 5,590,250; 5,619,632; 5,632,009; 5,857,205; 5,880,742;5,883,635; 6,085,202; 6,108,698; 6,247,008; 6,289,352; 6,300,957;6,377,259; 6,490,593; 6,578,027; 6,581,068; 6,628,312; 6,654,761;6,768,986; 6,772,409; 6,831,668; 6,882,998; 6,892,189; 6,901,555;7,089,238; 7,107,266; 7,139,766; 7,178,099; 7,181,435; 7,181,440;7,194,465; 7,222,130; 7,299,419; 7,320,122 and 7,356,779. BusinessObjects and the BusinessObjects logo, BusinessObjects, BusinessObjects Crystal Vision, Business Process On Demand,BusinessQuery, Cartesis, Crystal Analysis, Crystal Applications,Crystal Decisions, Crystal Enterprise, Crystal Insider, CrystalReports, Crystal Vision,Desktop Intelligence, Inxight, the InxightLogo, LinguistX, Star Tree, Table Lens, ThingFinder, Timewall,Let There Be Light,Metify, NSite, RapidMarts, RapidMarts, theSpectrumDesign,Web Intelligence,Workmail and Xcelsius aretrademarks or registered trademarks in theUnited States and/orother countries of BusinessObjects and/or affiliated companies.Business Objects is an SAP company. SAP is the trademark orregistered trademark of SAP AG in Germany and in severalother countries. All other names mentioned herein may betrademarks of their respective owners.

  • C O N T E N T S

    About this CourseCourse introduction..................................................................................................xviiCourse description...................................................................................................xviiiCourse audience.......................................................................................................xviiiPrerequisites..............................................................................................................xviiiLevel, delivery, and duration...................................................................................xixApplicable certifications and designations.............................................................xixCourse success factors................................................................................................xixCourse setup................................................................................................................xixCourse materials.........................................................................................................xixLearning process..........................................................................................................xx

    Lesson 1Understanding BusinessObjects UniversesLesson introduction.......................................................................................................1Defining BusinessObjects universe concepts.............................................................2

    What is a universe?................................................................................................2The semantic layer.................................................................................................3What type of database schema is used?..............................................................4Classes and objects ................................................................................................5Advantages of a universe .....................................................................................6BusinessObjects Universe Designer components .............................................6Starting Universe Designer ..................................................................................7Using the Quick Design Wizard..........................................................................8Using Universe Designer module commands ..................................................9Saving and exporting a universe.......................................................................12Importing a universe ..........................................................................................12Universe file names as identifiers .....................................................................13Saving a universe definition as PDF .................................................................13Giving all users access to a universe ................................................................14Activity: Viewing a universe in Universe Designer........................................14

    Using the universe development cycle.....................................................................16The universe development cycle process ........................................................16Preparation phase ................................................................................................17Analysis phase......................................................................................................18Planning phase.....................................................................................................20Implementation phase.........................................................................................21

    iiiTable of ContentsLearners Guide

  • Implementation phase 1: schema design..........................................................21Implementation phase 2: building the universe..............................................24Testing phase........................................................................................................24Deployment phase...............................................................................................25Updating/maintenance.......................................................................................26Prepackaged solutions.........................................................................................27Activity: Planning a universe.............................................................................27

    Quiz: Understanding BusinessObjects universes...................................................29Lesson summary..........................................................................................................30

    Lesson 2Creating the Course UniverseLesson introduction.....................................................................................................31Describing the course database and universe ........................................................32

    The course database.............................................................................................32Creating the universe .................................................................................................35

    Setting the database connection.........................................................................35Data access drivers...............................................................................................35ODBC connection drivers...................................................................................36More about connection types.............................................................................39Viewing, modifying, and deleting available connections..............................39Creating a new universe......................................................................................41Defining universe parameters ...........................................................................42Identifying the universe......................................................................................42Universe parameters............................................................................................43Definition tab........................................................................................................45Summary tab.........................................................................................................46Strategies tab.........................................................................................................47Controls tab...........................................................................................................48SQL tab...................................................................................................................49Links tab................................................................................................................50Parameters tab......................................................................................................50Activity: Creating a new universe and defining its connection....................51

    Quiz: Creating the course universe...........................................................................52Lesson summary..........................................................................................................53

    Lesson 3Building the Universe StructureLesson introduction.....................................................................................................55Populating the universe structure.............................................................................56

    Designing a schema ............................................................................................56Schema design and the universe creation process..........................................56Adding tables .......................................................................................................56Manipulating tables in the universe structure.................................................59

    Universe DesignLearners Guideiv

  • Activity: Populating the universe structure.....................................................62Defining joins in a universe........................................................................................64

    About joins and SQL WHERE clauses .............................................................64Creating joins........................................................................................................65About join properties...........................................................................................67Editing the join expression .................................................................................68Using the Join SQL editor ..................................................................................68Detecting joins .....................................................................................................70Setting join cardinalities......................................................................................70About cardinality.................................................................................................70Setting cardinality manually or with the automatic detection tool..............71Displaying cardinalities ......................................................................................73Detecting cardinality automatically..................................................................75How is cardinality detected?..............................................................................75Detect cardinality for all joins.............................................................................76Best practices for setting join cardinality .........................................................77Join types ..............................................................................................................78Equi-joins ..............................................................................................................78Outer joins ............................................................................................................79Theta joins.............................................................................................................81Shortcut joins........................................................................................................82Self-restricting joins .............................................................................................83List Mode...............................................................................................................85Checking integrity ...............................................................................................86Activity: Defining joins in a universe................................................................87

    Quiz: Building the universe structure......................................................................89Lesson summary..........................................................................................................90

    Lesson 4Creating Dimension ObjectsLesson introduction.....................................................................................................91Describing classes and objects ..................................................................................92

    Classes....................................................................................................................92Objects....................................................................................................................93

    Creating classes and objects ......................................................................................95Creating classes....................................................................................................95Automatically creating classes and objects from a table ...............................97Defining a new object as a detail object............................................................98Working with classes and subclasses................................................................99Editing the object properties...............................................................................99Edit Properties: Properties................................................................................102Edit Properties: Advanced................................................................................103Edit Properties: Keys..........................................................................................104Edit Properties: Source Information................................................................104Copying and pasting objects.............................................................................105

    vTable of ContentsLearners Guide

  • Find and replace ................................................................................................106Checking object integrity .................................................................................108Viewing parent tables........................................................................................109Testing objects ....................................................................................................110Activity: Creating and testing classes and objects.........................................110

    Quiz: Creating dimension objects...........................................................................116Lesson summary........................................................................................................117

    Lesson 5Creating Measure ObjectsLesson introduction...................................................................................................119Defining measure object concepts...........................................................................120

    Measure objects concepts..................................................................................120How a measure object infers SQL ...................................................................120The query process .............................................................................................122Aggregation at SELECT level...........................................................................123Aggregation at projection level........................................................................123Setting selection and projection aggregates...................................................124

    Creating measure objects..........................................................................................125Measure objects .................................................................................................125Testing measure objects.....................................................................................126Activity: Creating and testing measure objects.............................................127

    Creating delegated measure objects........................................................................130What is a delegated measure?..........................................................................130How does the delegated measure work?........................................................131Using a delegated measure as a weighted average.......................................131Best practices for using delegated measures..................................................133When are delegated measures inappropriate?..............................................134Activity: Creating and using a delegated measure ......................................134

    Quiz: Creating measure objects...............................................................................137Lesson summary........................................................................................................138

    Lesson 6Resolving Loops in a UniverseLesson introduction...................................................................................................139Understanding loops ................................................................................................140

    Problems caused by loops ................................................................................140Loops in a universe schema and not in the database ...................................140Recognizing loops..............................................................................................141What is the loop doing?.....................................................................................141Resolving loops ..................................................................................................142

    Resolving loops using aliases ..................................................................................143About aliases ......................................................................................................143Detecting loops and inserting aliases .............................................................143

    Universe DesignLearners Guidevi

  • Redefining objects .............................................................................................146Listing and renaming aliases ...........................................................................147Choosing which alias method to use ..............................................................147Resolving self-referencing join loops using aliases.......................................147Activity: Using aliases to resolve loops...........................................................149

    Resolving loops using contexts ...............................................................................152About contexts....................................................................................................152Detecting and creating contexts ......................................................................155Creating objects for each context ....................................................................158Editing a context ................................................................................................158Testing contexts .................................................................................................159Updating contexts .............................................................................................161Loops and shortcut joins...................................................................................162Activity: Using contexts to resolve loops........................................................164

    Quiz: Resolving loops in a universe .......................................................................169Lesson summary........................................................................................................170

    Lesson 7Resolving SQL TrapsLesson introduction...................................................................................................171Understanding SQL traps and universes ..............................................................172

    About SQL traps ................................................................................................172Detecting and resolving chasm traps .....................................................................173

    Chasm traps .......................................................................................................173Detecting chasm traps ......................................................................................174The chasm trap scenario ...................................................................................174Resolving chasm traps ......................................................................................177Using multiple SQL statements for each measure to resolve chasmtraps......................................................................................................................177Drawbacks to the multiple SQL statements for each measuremethod.................................................................................................................179Using contexts to resolve chasm traps ...........................................................180Activity: Resolving chasm traps.......................................................................182

    Detecting and resolving fan traps ..........................................................................185Fan traps .............................................................................................................185The fan trap scenario ........................................................................................186Resolving fan traps.............................................................................................187Using aliases and contexts to resolve fan traps.............................................188Scenario of a fan trap with two tables in a one-to-many relationship........190Avoiding fan traps altogether .........................................................................192Activity: Resolving fan traps............................................................................193

    Quiz: Resolving SQL traps ......................................................................................197Lesson summary........................................................................................................198

    viiTable of ContentsLearners Guide

  • Lesson 8Applying Restrictions on ObjectsLesson introduction...................................................................................................199Restricting the data returned by objects ................................................................200

    Defining data restrictions .................................................................................200Methods of restricting data in end-user modules ........................................201Drawbacks to applying restrictions to objects ..............................................202An alternative to applying restrictions to objects .........................................203Restrictions using condition objects ...............................................................205Applying restrictions using the tables button ...............................................206Applying each type of restriction ...................................................................209Activity: Applying restrictions.........................................................................209

    Quiz: Applying restrictions on objects ..................................................................212Lesson summary........................................................................................................213

    Lesson 9Using @functions with ObjectsLesson introduction...................................................................................................215Using @functions.......................................................................................................216

    Defining @functions ..........................................................................................216@prompt .............................................................................................................216@prompt syntax .................................................................................................217@select..................................................................................................................221@where.................................................................................................................223@aggregate_aware..............................................................................................227Activity: Using @functions...............................................................................228

    Quiz: Using @functions with objects .....................................................................230Lesson summary........................................................................................................231

    Lesson 10Using HierarchiesLesson introduction...................................................................................................233Understanding hierarchies and universes ............................................................234

    Hierarchies..........................................................................................................234Working with hierarchies ........................................................................................236

    Default hierarchies ............................................................................................236Custom hierarchies............................................................................................239The effect of custom hierarchies on default hierarchies ..............................240Time hierarchies ................................................................................................242Testing automatic time hierarchies .................................................................245Advantages and disadvantages of automatic time hierarchies ..................246

    Universe DesignLearners Guideviii

  • Time hierarchies based on database functions .............................................246Advantages and disadvantages of database function timehierarchies...........................................................................................................247Table-based time hierarchies ...........................................................................248Advantages and disadvantages of table-based time hierarchies ...............249Activity: Using hierarchies................................................................................250

    Quiz: Using hierarchies ............................................................................................252Lesson summary........................................................................................................253

    Lesson 11Using Lists of ValuesLesson introduction...................................................................................................255Creating a list of values ............................................................................................256

    What is a list of values?.....................................................................................256Using a list of values (LOV)..............................................................................256

    Working with LOVs in Universe Designer ...........................................................257Associating an LOV with an object..................................................................257Setting options for generating LOVs ..............................................................259Editing the LOVs for the entire universe .......................................................260Adding data to the list by adding columns ...................................................261

    Creating a cascading LOV .......................................................................................263Setting up a cascading LOV .............................................................................263Activity: Using a cascading LOV in Web Intelligence Rich Client.............265

    Quiz: Using lists of values .......................................................................................267Lesson summary........................................................................................................268

    Lesson 12Creating Derived Tables and IndexesLesson introduction...................................................................................................269Using derived tables .................................................................................................270

    What is a derived table?....................................................................................270Adding derived tables ......................................................................................270Derived tables as lookup for multiple contexts.............................................271Nested derived tables........................................................................................273Creating nested derived tables.........................................................................274Activity: Adding derived tables.......................................................................275

    Applying index awareness ......................................................................................278What is index awareness?.................................................................................278Setting up index awareness..............................................................................279Using an index awareness WHERE clause.....................................................281Activity: Setting up index awareness..............................................................281

    Quiz: Derived tables and indexes ...........................................................................283Lesson summary........................................................................................................284

    ixTable of ContentsLearners Guide

  • Lesson 13Linking UniversesLesson introduction...................................................................................................285Understanding linked universes ............................................................................286

    What are linked universes?...............................................................................286Using linked universes......................................................................................286Possible linking strategies ................................................................................287Advantages and limitations to linking............................................................289

    Creating links between universes............................................................................290Linking universes ..............................................................................................290Including one universe within another...........................................................291When to link and when to include?.................................................................293Activity: Linking universes ..............................................................................294

    Quiz: Linking universes............................................................................................296Lesson summary........................................................................................................297

    Lesson 14Applying Universe Access RestrictionsLesson introduction...................................................................................................299Setting access restrictions on a universe ................................................................300

    About security and universes ..........................................................................300Completing your restriction set settings.........................................................313Setting restriction group priority ....................................................................316Viewing user and group restrictions...............................................................317Activity: Setting access restrictions..................................................................319

    Quiz: Applying universe access restrictions .........................................................320Lesson summary .......................................................................................................321

    Lesson 15Managing UniversesLesson introduction...................................................................................................323Documenting universes ...........................................................................................324

    Printing universe details...................................................................................324Printing options: General..................................................................................326Printing options: List Components..................................................................326Printing options: Full Description...................................................................326

    Deploying universes..................................................................................................328About deploying a universe ............................................................................328What happens when you export a universe?.................................................328Importing a universe.........................................................................................332Working with multiple designers....................................................................333

    Universe DesignLearners Guidex

  • Maintaining universes ..............................................................................................336Reasons for universe maintenance..................................................................336Changes to the target database ........................................................................336Detecting changes to the universe...................................................................337Adding new tables to an existing universe ...................................................338The effect of changing objects ..........................................................................338

    Deploying universes in multiple languages .........................................................340Translation Manager .........................................................................................340Activity: Translating a universe with Translation Manager........................344

    Quiz: Managing universes........................................................................................346Lesson summary........................................................................................................347

    Appendix AEnd-of-Course ChallengeThe challenge..............................................................................................................349

    Customer scenario..............................................................................................350Activity: End-of-course challenge - Part 1......................................................351Activity: End-of-course challenge - Part 2......................................................353

    Appendix BUnderstanding Relational and DimensionalModelingUnderstanding the metadata...................................................................................355Data warehouses........................................................................................................356Online Transactional Processing systems..............................................................357Data Marts...................................................................................................................358Dimensional Modeling..............................................................................................359

    Appendix CSQL syntaxes for other RDBMSAlternative SQL syntaxes for other RDBMS..........................................................361

    ORACLE..............................................................................................................361DB2.......................................................................................................................363MySQL.................................................................................................................365Microsoft Access.................................................................................................367

    Answer KeyQuiz: Understanding BusinessObjects universes.................................................371Quiz: Creating the course universe.........................................................................372Quiz: Building the universe structure....................................................................373

    xiTable of ContentsLearners Guide

  • Quiz: Creating dimension objects...........................................................................374Quiz: Creating measure objects...............................................................................375Quiz: Resolving loops in a universe .......................................................................376Quiz: Resolving SQL traps ......................................................................................377Quiz: Applying restrictions on objects ..................................................................378Quiz: Using @functions with objects .....................................................................379Quiz: Using hierarchies ............................................................................................380Quiz: Using lists of values .......................................................................................381Quiz: Derived tables and indexes ...........................................................................382Quiz: Linking universes............................................................................................383Quiz: Applying universe access restrictions .........................................................384Quiz: Managing universes........................................................................................385

    Universe DesignLearners Guidexii

  • A G E N D AUniverse Design

    Introductions, Course Overview...........................................30 minutes

    Lesson 1Understanding BusinessObjects Universes.....................45 minutes Defining BusinessObjects universe concepts Using the universe development cycle

    Lesson 2Creating the Course Universe...............................................30 minutes Describing the course database and universe Creating the universe

    Lesson 3Building the Universe Structure...........................................45 minutes Populating the universe structure Defining joins in a universe

    Lesson 4Creating Dimension Objects..................................................75 minutes Describing classes and objects Creating classes and objects

    Lesson 5Creating Measure Objects.........................................................1.5 hours Defining measure object concepts Creating measure objects Creating delegated measure objects

    Lesson 6Resolving Loops in a Universe....................................................3 hours Understanding loops Resolving loops using aliases Resolving loops using contexts

    xiiiAgendaLearners Guide

  • Lesson 7Resolving SQL Traps.........................................................................1 hour Understanding SQL traps and universes Detecting and resolving chasm traps Detecting and resolving fan traps

    Lesson 8Applying Restrictions on Objects.................................................1 hour Restricting the data returned by objects

    Lesson 9Using @functions with Objects............................................45 minutes Using @functions

    Lesson 10Using Hierarchies......................................................................45 minutes Understanding hierarchies and universes Working with hierarchies

    Lesson 11Using Lists of Values................................................................30 minutes Creating a list of values Working with LOVs in Universe Designer Creating a cascading LOV

    Lesson 12Creating Derived Tables and Indexes.................................75 minutes Using derived tables Applying index awareness

    Lesson 13Linking Universes......................................................................30 minutes Understanding linked universes Creating links between universes

    Lesson 14Applying Universe Access Restrictions.....................................1 hour Setting access restrictions on a universe

    Universe DesignLearners Guidexiv

  • Lesson 15Managing Universes.................................................................45 minutes Documenting universes Deploying universes Maintaining universes Deploying universes in multiple languages

    xvAgendaLearners Guide

  • Universe DesignLearners Guidexvi

  • About this Course

    Course introduction

    This section explains the conventions used in the course and in this training guide.

    xviiAbout this CourseLearners Guide

  • Course description

    This three-day instructor-led course is designed to give you the comprehensive skills neededto design, build and maintain BusinessObjects 6.5, BusinessObjects XIR1/XIR2, and XI 3.0universes.

    You should attend this course to understand universe design concepts and terminology, aswell as the role of universes in relation to BusinessObjects reporting tools. The course providesan overview of the process for planning, designing and creating a universe and thenwalks youthrough the process of designing a universe that responds to identified requirements.

    The business benefit of this course is that youwill learn best-practicemethodology for creatinguniverses that respond to your reporting requirements. Through well-designed universes,report designers and business users will be able to create reports without having to knowanything about the underlying data source or structure.

    Course audience

    This course is designed to teach you how to design BusinessObjects universes using UniverseDesigner; using BusinessObjects 6.5, BusinessObjects XI R1/R2, or BusinessObjects XI 3.0.

    New features covered in the XI 3.0 course that are not applicable to BusinessObjects 6.5 or XIR1/R2 learners include: Creating a cascading list of values associated with a hierarchy of objects in a universe Creating delegated measures Creating nested derived tables Using Translation Manager Testing universe results in Web Intelligence Rich Client

    The target audience for this course is universe designers.

    Prerequisites

    If youwant to learn BusinessObjectsWeb IntelligenceRichClient reporting skills and concepts,this course is recommended:

    BusinessObjects Web Intelligence XI 3.0: Report Design

    If you want to increase your skill level and knowledge of BusinessObjects Web Intelligence

    XI reporting skills and concepts, this course is recommended:

    BusinessObjects Web Intelligence XI R2: Report Design

    To be successful, learners who attend this course should have the following experience:

    SQL and relational database management systems concepts and structures Familiarity with the type of data and the logical structure of the databases in their

    organization Familiarity with BusinessObjects Web Intelligence report building

    Universe DesignLearners Guidexviii

  • Level, delivery, and duration

    This core instructor-led offering is a three-day course.

    Applicable certifications and designations

    This course is not applicable to any Business Objects Certified Professional programs.

    Course success factors

    Your learning experience will be enhanced by:

    Activities that build on the life experiences of the learner Discussion that connects the training to real working environments Learners and instructor working as a team Active participation by all learners

    Course setup

    Refer to the setup guide for details on hardware, software, and course-specific requirements.

    Course materials

    The materials included with the course materials are:

    Name card Learners Guide

    The Learners Guide contains an agenda, learner materials, and practice activities.

    The Learners Guide is designed to assist students who attend the classroom-based courseand outlines what learners can expect to achieve by participating in this course.

    Evaluation form

    At the conclusion of this course, you will receive an electronic feedback form as part of ourevaluation process. Provide feedback on the course content, instructor, and facility. Yourcomments will assist us to improve future courses.

    Additional resources include:

    Sample files

    The sample files can include required files for the course activities and/or supplementalcontent to the training guide.

    OnlineHelp

    Retrieve information and find answers to questions using the onlineHelp and/or usersguide that are included with the product.

    xixAbout this CourseLearners Guide

  • Learning process

    Learning is an interactive process between the learners and the instructor. By facilitating acooperative environment, the instructor guides the learners through the learning framework.

    Introduction

    Why am I here? Whats in it for me?

    The learners will be clear about what they are getting out of each lesson.

    Objectives

    How do I achieve the outcome?

    The learners will assimilate new concepts and how to apply the ideas presented in the lesson.This step sets the groundwork for practice.

    Practice

    How do I do it?

    The learners will demonstrate their knowledge as well as their hands-on skills through theactivities.

    Review

    How did I do?

    The learners will have an opportunity to review what they have learned during the lesson.Review reinforces why it is important to learn particular concepts or skills.

    Summary

    Where have I been and where am I going?

    The summary acts as a recap of the learning objectives and as a transition to the next section.

    Universe DesignLearners Guidexx

  • Lesson 1Understanding BusinessObjects Universes

    Lesson introduction

    To design effective and efficient universes for your business users, you need a generalunderstanding of their structure and application. It is also important to become familiar withthe process involved in building a successful universe.

    After completing this lesson, you will be able to:

    Define BusinessObjects universe concepts Use the universe development cycle

    1Understanding BusinessObjects UniversesLearners Guide

  • Defining BusinessObjects universe concepts

    This lesson gives a general introduction to universes.

    After completing this unit, you will be able to:

    Describe a universe Describe BusinessObjects Universe Designer interface elements Save, export and import universes

    What is a universe?

    The BusinessObjects universe is the semantic layer that isolates business users from the technicalcomplexities of the databases where their corporate information is stored.

    For the ease of the end user, universes are made up of objects and classes that map to data inthe database, using everyday terms that describe their business environment. This means thatby using a universe to create a query, users can retrieve exactly the data that interests themusing their own business terminology.

    A BusinessObjects universe is a file that contains the following:

    Connection parameters to a single data source.

    SQL structures called objects that map to actual SQL structures in the database such ascolumns, tables, and database functions. Objects are grouped into classes.

    A schema of the tables and joins used in the database. Objects are built from the databasestructures that you include in your schema.

    Note: You associate data to universes by mapping to a data source. Data is not stored inthe .unv file.

    A universe defines the connection to the database. By selecting a universe when creating newdocuments or editing existing documents, the business users automatically receive access to

    Universe DesignLearners Guide2

  • the data. The access to data, in turn, is restricted by the objects that are available in the universe.These objects have been created by you, the universe designer, based on the needs profile fora defined user group.

    End users select the universe they are authorized to access in order to build queries in WebIntelligence, Web Intelligence Rich Client, and/or other BusinessObjects reporting tools. Theybuild a query by selecting objects defined in the universe, and in thisway, they are not requiredto see or know anything about the underlying data structures in the database.

    BusinessObjects Designer XI Release 2 gives universe designers the ability to build universesfrom OLAP and metadata sources. It also offers the ability to build universes against Unicodedatabases and run reports that display data in one of many available languages.

    BusinessObjects Universe Designer XI 3.0 offers the following additions: Personal file universe creation wizard:

    Universes have supported access to csv and xls files through generic ODBC.

    JavaBean:

    The JavaBean driver provides the ability to expose data returned by a JavaBean class andmodel it through a universe.

    Java database connectivity (JDBC):

    Access to a standard JDBC connection and JDBC support to all major sources is provided.

    Microsoft Analysis Services 2005:

    Microsoft Analysis Services 2005 support for OLAP universes is provided.

    Universes are used to query the database

    The role of the universe is to present a business-focused front end to the SQL structures in thedatabase. The data used in a universe schema depends greatly on the end-user requirements.It needs to provide an easy-to-use interface for end users to: Run queries against a database

    Create reports

    Perform data analysis

    The semantic layer

    A semantic layer is a business representation of corporate data that helps end users access dataautonomously using common business terms. Developed and patented by Business Objects,it maps complex data into familiar business terms such as product, customer, or revenue tooffer a unified, consolidated view of data across the organization.

    By using commonbusiness terms, rather than data language, to access,manipulate, and organizeinformation, it simplifies the complexity of business data. These business terms are stored asobjects in a universe, accessed through queries and reports.

    3Understanding BusinessObjects UniversesLearners Guide

  • Universes enable business users to access and analyze data stored in a relational database andOLAP cubes. This is core business intelligence (BI) technology that frees users from IT whileensuring correct results.

    The semantic layer insulates business users from underlying data complexity, while ensuringthe business is accessing the correct data sources and using consistent terminology. Benefitsinclude improved end-user productivity and greater business autonomy from IT in accessingdata.

    Universe Designer and the semantic layer

    Universe Designer can be seen as the tool which creates the semantic layer.

    Metadata is imported into Universe Designer, and then the tables structure can be changed(usingDerived Tables) or data can be changed before it is presented to the user (bymanipulatingobjects). However, the source data essentially remains the same.

    This is what separates the semantic layer from Data Integrator. Data Integrator is an ETL toolwhich can change the structure of the data, and also cleanse it from data errors.

    The semantic layer is also used for Dashboards and Analytics.

    When building a Dashboard Builder or Set Analysis Metrics universe, the approach is slightlydifferent to creating a normal ad hoc reporting universe: The Dashboard Builder or Set Analysis Metrics universe requires custom tags embedded

    within it (which can be considered a form of code), which are used by Dashboard Builderand Set Analysis products.

    Amandatory self-restricting join is placed in the Dashboard Builder or Set AnalysisMetricsuniverse to ensure that calculated metrics apply to one time period granularity in a timedimension, for example, daily, weekly, or monthly. This can also be done in the form of aWHERE clause restriction in each measure object, to prompt for a start and end date period.

    Custom filters are placed into the Dashboard Builder or Set Analysis Metrics universe to beable to compare sets (Joiner Filter, Leaver Filter, and so on), and to build metrics.

    This is why it is advisable not to use the same ad hoc reporting universe as your DashboardBuilder or Set Analysis Metrics universe.

    Information on building a Dashboard Builder or Set Analysis Metrics universe can be foundin the Creating universes for use as metrics chapter of the BusinessObjects XI 3.0 Designer's Guide.

    What type of database schema is used?

    Before developing a universe you must familiarize yourself with the underlying data. Whichtype of database schema is going to be used for the universe? Will this be a Data Warehousemodel, an Online Transactional Processing system (OLTP), or a Data Mart? How can you bestimplement the metadata into a universe schema to meet the end-user requirements?

    Universe DesignLearners Guide4

  • Star Schemas

    The star schema is the simplest data warehouse schema. It is called a star schema because thediagram resembles a star, with points radiating from a center. The center of the star consistsof one or more fact tables and the points of the star are the dimension tables.

    A star schema consists of fact tables and dimension tables: Fact tables

    A fact table typically has two types of columns: numeric facts and foreign keys to dimensiontables. Facts can become measure objects in a BusinessObjects universe file.

    Dimension tables

    Dimension tables contain the qualitative descriptions that can be applied to the facts.Hierarchies may also be built into dimension tables. Dimension table data can becomedimension or detail objects in a BusinessObjects universe file.

    Snowflake schemas

    The snowflake schema is a variation of the star schema used in a data warehouse. It is morecomplex than the star schema because the tableswhich describe the dimensions are normalized.

    Data modeling

    The traditional entity relationship (ER) model uses a normalized approach to database design.

    Database normalization is a technique for designing relational database tables to minimizeduplication of information and to avoid data anomalies. Higher degrees of normalizationtypically involvemore tables and create the need for a larger number of joins, which can reduceperformance.

    Denormalization is the process of taking a normalized database andmodifying table structuresto optimize the performance by keeping aminimum relationship between tables; one dimensiontable versus one fact table. Another method is to use prebuilt summarized data in the schema.

    Classes and objects

    A universe contains the following structures:

    5Understanding BusinessObjects UniversesLearners Guide

  • Classes

    Objects

    As the universe designer, you useUniverse Designer to create objects and classes that representdatabase structures. The objects you create in the universe must be relevant to the end usersbusiness environment and vocabulary.

    Classes

    A class is a logical grouping of objects within a universe. It represents a category of objects.The name of a class should indicate the category of the objects that it contains. A class can bedivided hierarchically into subclasses.

    Objects

    An object is a named component that maps to data or derived data in the database. The nameof an object should be drawn from the business vocabulary of the targeted user group.

    Advantages of a universe

    The advantages of a universe are:

    Only the universe designer needs to know how to write SQL and understand the structureof the target database.

    The interface allows you to create a universe in an easy-to-use graphical environment.

    Data is secure. Users can see only the data exposed by the universe. Users can only readdata, not edit it.

    The results are reliable and the universe is relatively easy to maintain.

    Users can use a simple interface to create reports.

    All users work with consistent business terminology.

    Users can analyze data locally.

    BusinessObjects Universe Designer components

    You create, modify, and update universeswithUniverseDesigner. UniverseDesigner providesa connection wizard that allows you to connect to your database middleware. You can createmultiple connections with Universe Designer, but only one connection can be defined for eachuniverse. This database connection is saved with the universe.

    Universe Designer provides a graphical interface that allows you to select and view tables ina database. The database tables are represented as table symbols in a schema diagram. You canuse this interface to manipulate tables, create joins that link the tables, create alias tables,contexts, and resolve loops in your schema. Users do not see this schema.

    Universe Designer provides an object explorer view. You use the explorer tree to create objectsthat map to the columns and SQL structures that are represented in the schema view. Usersselect these objects to run queries against a database.

    Universe DesignLearners Guide6

  • Starting Universe Designer

    Universe Designer can only be used with a BusinessObjects repository. You must log onto therepository before starting Universe Designer.

    After you start Universe Designer, you can open a universe in one of the following ways:

    Create a new universe.

    Import a universe from the repository.

    Open a universe directly from the file system.

    A universe is available to end users once it has been exported to the repository. Importing auniverse, making changes, then exporting the updated universe to the repository is the mostcommon way of working with Universe Designer.

    Note: You can save a universe to the file system. You do this when you are in the process ofdeveloping the universe locally andwhen youwant to share the universewith other userswhomay not have connection rights to the target repository.

    Note: You can lock and secure a universe before importing it fromor exporting it to the BusinessObjects repository for maintenance.

    To start Universe Designer

    1. Click the Start button on the taskbar.

    2. Select the Programsmenu.

    3. Select the BusinessObjects XI 3.0menu.

    4. Select the BusinessObjects Enterprisemenu.

    5. Select theDesigner menu.

    The login dialog box for the repository appears.

    7Understanding BusinessObjects UniversesLearners Guide

  • Login information

    name of the repository serverSystem

    your repository user nameUser Name

    your repository passwordPassword

    authentication methodAuthentication

    Note: This information is normally provided to you by the Business Objects administrator.

    Note: You can also use Universe Designer standalone. Use the authentication methodStandalone (No CMS).

    6. Click theOK button.

    The Universe Designer start-up screen appears, and an empty Universe Designer sessionopens. The user name and repository name appear in the title bar.

    Note: Depending on options set for Universe Designer, theQuickDesignWizard can startautomatically when you start in Universe Designer. Click Cancel to close the wizard.

    Using the Quick Design Wizard

    When you start aUniverseDesigner session for the first time, theQuickDesignWizard appearsby default. You can use the wizard to quickly create a universe or to familiarize yourself withUniverse Designer. However, unless your data source is a very simple model, it is not anappropriate tool for creating a complete universe that responds to end-user reportingrequirements.

    Once you are familiar with Universe Designer, you will probably decide to disable the wizardand not use it to design universes. All the universe design, building, maintenance information,and procedures in this training manual are structured with the assumption that you havedisabled theQuick Design Wizard.

    To deactivate the Quick Design Wizard

    You can prevent the wizard from appearing automatically when you create a new universe asfollows:

    1. Select Tools Options. Select theGeneral tab.

    2. Clear the ShowWelcome Wizard check box, and clickOK.

    Note: This check box is already cleared if you have cleared the Run this wizard at startupcheck box from the Startup Wizard Welcome page.

    Note: You can activate theQuick Design Wizard at any time by selecting the above checkboxes from theGeneral page of theOptions dialog box.

    Universe DesignLearners Guide8

  • Using Universe Designer module commands

    There are three ways to issue commands in Universe Designer:

    Menu options

    Toolbar buttons

    Right-click menus

    Menu options

    You can performmost tasks by choosing options from themenu. The Universe Designer menubar looks like this:

    Toolbar buttons

    The toolbar gives you quick access to many tasks. Universe Designer has three toolbars: theStandard toolbar, the Editing toolbar, and the Formula Bar toolbar.

    Right-click menus

    Right-clickmenus display on your screenwhen you click the rightmouse button. Thesemenususually give you access to options related to the task you are currently performing. For example,if you right-click in the Universe pane, a drop-down menu for creating classes and objects isdisplayed:

    Universe Designer window

    The Universe Designer window is made up of two segments.

    On the right-hand side is the pane in which you insert the database tables and then viewthe universe structure that infers the FROM and SELECT clauses into a Select statement.

    9Understanding BusinessObjects UniversesLearners Guide

  • This is known as the Structure pane.

    On the left-hand side is the pane in which you create the classes and objects that users willsee when they build queries using this universe. The objects physically point to the tablesyou see in the Structure pane.

    This is known as the Universe pane.

    Manipulating the structure view

    There are three ways to manipulate the Structure pane in the Universe Designer window:toolbar buttons, drag and drop, and by using theOptions panel.

    Zoom

    Often it is not possible to view the entire schema at normal magnification due to its size. Zoomin or out using the drop-down list on the toolbar to choose your percentage view for the schema.

    Arrange tables

    You can select this button to have Universe Designer automatically organize your tablessequentially and horizontally.

    Note: You can undo only the last command. If you do not like the arrange tables results, chooseUndo from the Editmenu.

    Drag and Drop

    Different views of the universe structure can be achieved by selecting items and applying acommand using one of the following methods:

    Double-clicking

    Dragging and dropping

    Right-clicking

    For example:

    ActionProcedure

    Click the header of the table.To mark a single table

    Click it.To mark a join

    Ctrl-click the header of each table (or join)you want to highlight.

    To mark more than one table or join

    Ctrl-A.To mark all tables and joins

    Universe DesignLearners Guide10

  • ActionProcedure

    Click the header of the table and drag anddrop the table to the desired position.

    To move a table

    By default, the table header and a specifiednumber of its columns are shown for all

    To roll up a table

    tables contained in the universe structuresegment. This view can be altered for anindividual table by double-clicking the tableheader.

    Double-click once to roll up a table so thatonly the header is shown. Double-click twiceso that only the table header and key columnsare shown.Double-click three times to returnto an unrolled view of the table.

    If the view of a table does not show all thecolumns contained within that table, this is

    To view the columns of a tablesignified by three dots at the bottom of thetable.

    Click the header of the table; a scroll barappears on the right of the table.

    To view the remaining columns

    Alternatively, place the pointer on the bottommargin of the table and a double-headedarrow appears. You can then drag the bottommargin down to expand the number ofcolumns shown in the table.

    To achieve this the table header must not behighlighted.

    Right-click the table header and choose theView Table Values option.

    To gain a partial view of the data content ofthe table

    Right-click the column required and choosethe View Column Values option.

    To view the data values for a single column By default, data is only displayed for the first100 rows of the table. This number can beexpanded or reduced using the ToolsOptions Database tab.

    11Understanding BusinessObjects UniversesLearners Guide

  • ActionProcedure

    Right-click the table header (or structuresegment background if youwant the number

    To view the number of rows for a table in thedatabase

    of rows for all tables) and then choose theNumber of Rows in Table option.

    If you are front ending a large database, thismay not be advisable due to the time it takesto process.

    Saving and exporting a universe

    Regularly save your universes during a work session. When you save a universe, UniverseDesigner stores it as a file with a .unv extension in your local file system. This is usually auniverse folder in the BusinessObjects installation path. Any changes you have made to theuniverse file are saved locally but are not propagated to the universe version in the repositoryuntil you choose to export it.

    When you export the universe, the updated version is saved on the local file system, but it iscopied to the BusinessObjects repository as well. This version is then available to end usersconnecting to the universe.

    It is alsomade available to other universe designerswho are authorized by the BusinessObjectsAdministrator to access it.

    Regularly save your changes to a universe locally. When you have finished updating theuniverse, export the latest saved version to the repository.

    If you choose to browse to a copy of that universe file on your local file system and open itdirectly in Universe Designer, the file may not be the latest version of the universe. If youwantto make changes to a universe that has already been exported to the repository, do not open auniverse file directly using File Open menu. Instead, use File Import to ensure that youare viewing the most recent version. Make your modifications and export your universe againto make your changes available in the repository.

    Importing a universe

    When you import a universe, you import the latest version of the universe from the repository.The universe is copied to the local file system, and this file is opened in Universe Designer.

    You can import one or more universes stored in a universe folder in the repository.

    To import a universe

    1. Select the Import command from the Filemenu.

    The Import Universe dialog box appears.

    Universe DesignLearners Guide12

  • 2. Select a universe folder from the drop-down list.

    Note: You can also import a universe by clicking the Browse button to select the universeyou would like to import.

    Note: If you want to lock the universe, double-click the universe name. A locked universeappearswith a padlock symbol. Locking a universe prevents other designers from importingor exporting this universe. The locked universe can still be read by users and other designers.To unlock a universe, double-click it again.

    3. Click the universe name.

    This is the universe that you want to import.

    4. Verify the file path for the import folder in the Import Folder box.

    This points to the location where the universes are exported.

    5. ClickOK.

    Universe file names as identifiers

    The universe name can be different from the .unv file name.

    When you use Save As to save the universe under a new name, the new universe is notassociated in the repository. You must export the new universe to the repository to create aversion of the new universe.

    You can use the following methods to save a universe:

    1. Select File Save from the menu bar.

    2. Click the Save icon.

    3. Press CTRL+S on the keyboard.

    Do not save two different universes with the same file name. This leads to conflicts when youattempt to export these universes to the repository.

    Saving a universe definition as PDF

    You can also save the universe information in Adobe Portable Document Format (PDF). Thisallows you to save to a PDF file with the same attributes that are defined for printing purposes.

    Note: You can view the default attributes by selecting the Tools Optionsmenu and selectingthe Print/PDF tab. TheOptions dialog box will be presented in detail in a later lesson.

    The attributes that you can print or save to a PDF file include:

    General information:

    Parameters, linked universes, and the graphical table schema.

    Component lists:

    13Understanding BusinessObjects UniversesLearners Guide

  • Lists of components in the universe including objects, conditions, hierarchies, tables, joins,and contexts.

    Component descriptions:

    Descriptions for the objects, conditions, hierarchies, tables, joins, and contexts in the universe.

    Saving these attributes as a PDF filemay be helpful for troubleshooting ormaintenance purposes.

    To save universe information as a PDF file

    1. In Universe Designer, open the universe you want to save as a PDF file.

    2. Select File Save As.

    3. Select Portable Document Format (PDF) from the Save As type drop- down list.

    4. Click Save.

    Giving all users access to a universe

    If you want to make a universe available to universe designers who may not have access toyour Central Management Server, you must save the universe with an unsecured connection.

    To make a universe accessible to all Universe Designer users

    1. Verify that the universe that youwant tomake available to all users does not have a securedconnection. To save a universe for all users, a shared or personal connection is required.

    Note: Secured connections are required to export universes to the repository. If a universehas a secured connection, select or create a new personal or shared connection.

    Note: Creating connections is discussed in detail in a later lesson.

    2. Select File Save As.

    3. A File Save dialog box appears.

    4. Select the Save For All Users check box.

    5. ClickOK.

    Activity: Viewing a universe in Universe Designer

    Objective

    Open a universe and identify universe elements in Universe Designer

    Instructions

    1. Open Universe Designer.

    Universe DesignLearners Guide14

  • 2. In Universe Designer, click File Open. Browse to the eFashion.unv file found in thedefault installation folder:

    C:\Program Files\Business Objects\BusinessObjects Enterprise12.0\Samples\en\UniverseSamples

    Or, find the same file on the resource CD for this course.

    3. Explore the menu options, toolbar buttons, and right-click drop-down menus.

    4. Select View Toolbars, and ensure that all three toolbars are selected.

    5. Zoom to 125% (type directly into the field instead of using the drop-down list).

    6. Click View Arrange Tables to automatically organize tables.

    7. Click View List Mode to list all Tables, Joins, and Contexts.

    8. Click the Article_Color_Lookup table in the Tables list and to see it highlighted in thestructure below.

    9. Select Tools Options and click on theGraphicsmenu tab.

    10.Select the Show row count check box, and clickOK.

    11.Right-click theArticle_Color_Lookup table to view the number of rows in the table (Refreshrow count for all tables).

    12.Right-click the Article_Color_Lookup table to view a sample of the table values.

    13.Open the Product class to view the objects it contains.

    14.Double-click the Color object (notice the name, description, and select fields).

    15.Select Parameters on the Filemenu and change the universe long name to New eFashion.

    16.Close the universe.

    15Understanding BusinessObjects UniversesLearners Guide

  • Using the universe development cycle

    Universe development is a cyclical process that includes planning, designing, building,distribution, and maintenance phases. Use Universe Designer to design and build a universe.However, the usability of any universe is directly related to how successfully the other phasesin the development cycle interact with each other.

    After completing this unit, you will be able to:

    Use the universe development cycle

    The universe development cycle process

    The universe development cycle presents an overview of a universe designing methodologythat you can use to plan and implement a universe development project.

    The diagram below outlines the major phases in a typical universe development cycle:

    The analysis of user requirements and design are the most important stages in the process.Users must be heavily involved in the development process if the universe is going to fulfilltheir needs both with the business language used to name objects and the data that can beaccessed.

    Implementationwill be successful if the first three stages are carried out properly. It is advisableto spend 80% of the time allocated to the development of a universe on the first three stages:

    preparing

    analyzing

    planning

    Universe DesignLearners Guide16

  • If you have spent the appropriate amount of time in laying the foundation for your universe,the remaining 20% of the time spent actually using Universe Designer to build your universewill be much more productive.

    Preparation phase

    During the preparation phase, the scope of a BusinessObjects universe is defined. The productionand development architectures are identified and reviewed. Project teams are assembled andthe initial task plan is defined.

    Identify universe scope

    The definition and communication of project scope eliminates risk associated with deployingthe universe to pilot users during the Implementation phase. The scope is defined in terms ofintended functionality of the universe. Identification of target users of the universe also helpscreate a shared understanding of project objectives.

    Key managers should be involved in the scoping process. Once formulated, the objectives ofthe project are communicated to everyone involved, directly or indirectly.

    Build a project team

    In designating the team members, individuals must be chosen to fill the following roles. Oneperson may fill multiple roles.

    TaskRole

    Usually the individual funding the project. The project sponsor makes anyfinal decisions regarding scope or unresolvable issues.

    Sponsor

    The project leader develops the project plan, assigns resources, tracks, andreports on progress.

    Project Leader

    Individual who gathers requirements in the form of candidate objects.Analyst

    An individual familiar with the data structures.Data Expert

    Provides ongoing business perspective for developers.Key User

    Users who will work with the universe during the universe build anddevelopment phase.

    Pilot Users

    An individual with BusinessObjects experience who is not part of thedevelopment process will perform a technical review of the final product.

    QA Reviewer

    17Understanding BusinessObjects UniversesLearners Guide

  • In most cases, a single person will be responsible for the bulk of the work, filling the roles ofAnalyst, BusinessObjects Administrator, and Data Expert.

    In designing and building the universe, this person will maintain a relationship with the KeyUser, who should also be one of the Pilot Users.

    This developer usually reports to a Manager or IS Director, who serves as Project Leader. TheLeader maintains a close relationship with the Sponsor.

    Other roles that will be impacted by the project include theDatabaseAdministrator, the SystemAdministrator, and the Data Administrator.

    Adopt standards

    Standards for the components of a BusinessObjects universewill help to guarantee consistencyand stability in the final product. During preparation, the team adopts a set of standards forBusinessObjects components. Standards can be specified for:

    Universe names Object definition guidelines Names for objects Class names Alias names Help text

    The standards may be revised during the course of the first universe development project asthe team becomes more familiar with the product.

    Conduct a meeting

    Communicate the preparation phase strategy in a meeting. This is your opportunity to gatherall interested parties (developers, users, the sponsor) to ensure that everyone understands thescope of the endeavor.

    You can use thismeeting to demonstrate BusinessObjects products and to help set expectationsof the user community.

    Analysis phase

    The primary objective of analysis activities is to identify user requirements for the ad hoc queryenvironment.

    These requirements are captured in the form of candidate classes and objects.

    Universe DesignLearners Guide18

  • Identify candidate objects

    There aremany places to look for candidate objects. The best way to identify them is by talkingto the end users. When interviewing end users, the type of questions to ask are: What type ofinformation do you need to do your job?, How do you know you are doing well?, Howdoes your boss know you are performing well?, or What kind of information do others askyou for?

    As users answer these questions, document their answers in terms of class and objectrequirements. For example, if a user states, We need to retrieve information on employees bydepartment andhire date youhave identified a potential class (information about employees)and an object or two (department and hire date).When you identify a potential class, probefor objects. For example, What kind of information about Employees do they want?

    Candidate classes and objects can also be identified by reviewing existing reports.

    Document your classes and objects. For example:

    SourceDescriptionNameType

    Interview #1Information on a customer, includinglocation, credit ratings, and shippingpreferences.

    CustomerClass

    Interview #3, #4This object can be combined with dateranges, customers, and/or products toprovide meaningful measures.

    Total

    Revenue

    Object

    (Measure)

    You should also try to document the qualification of objects (dimension/detail/ measure) andany potentially identified hierarchies.

    Relational modeling versus multi-dimensional modeling

    The questions asked during BusinessObjects interviews are similar to those asked in thedevelopment of OLTP applications. What is done with the answers is very different.

    When conducting Analysis for an OLTP application, analysts document data requirements inentity relationship diagrams. Rules of normalization are applied to the items that users request,breaking them down to an atomic level, or eliminating calculated objects. These activitiesoptimize the data for storage in a relational database.

    By contrast, requirements for an ad hoc query environment should be expressed in terms thatare optimized for retrieval of the information.

    A successful BusinessObjects universe presents information to a business person using userspecific business terminology. The developer must unlearn analysis techniques used for the

    19Understanding BusinessObjects UniversesLearners Guide

  • development of application systems. User requirementsmust be taken at face value, remainingin business terms.

    Basic rules of thumb: Do not normalize Do not eliminate objects that can be derived from other objects Do not try to figure out where this data can be found in the database

    For example: in an interview, a user states I need to look at annual sales figures by region.Document this at face value; identify the requirements, but do not attempt to transform themin a manner appropriate for storage in a relational database. You can identify three candidateobjects: Year of Sale, Sales Amount, and Region. Do not eliminate Year of Sale becauseyou have already documented a Date of Sale object. Do not reduce Sales to the componentsfromwhich it is calculated (perhaps quantity multiplied by price). Instead of normalizingobject requirements, identify how they will support on-line analysis by end users.

    Identifying candidate objects as dimensions, details ormeasureswill facilitate enduser reportingand analysis flexibility. You can also plan for scope of analysis (drill-down and drill-up options)by identifying dimensional hierarchies.

    Once you have gathered and documented requirements in the form of candidate objects, youare ready to begin to plan the BusinessObjects universe requirements.

    Planning phase

    The planning phase will be used to identify a project strategy and determine resourcerequirements.

    Create a project plan

    The project plan is the key to timely implementation. For each task, the plan should assignresponsibility and target dates. Creation of the plan and the tracking of progress against theplan are the primary responsibilities of the project leader.

    Plan the BusinessObjects architecture

    Technical architecture requirements may have been looked at in general in the preparationphase. A review of the technical architecture should take place during the planning phase ofthe project. Items to review include:

    Identify resources required to support a universe development environment.Developmentenvironment

    Universe DesignLearners Guide20

  • Identify resources required for a universe production environment.Productionenvironment

    Review required computing resources for developer and user workstations.Computers

    Ensure infrastructure is in place to support connectivity between users/developersand the repository and data stores, including appropriate middle-ware to supportcommunication between clients and servers.

    Connectivity

    Identify planned configuration for client software. Ensure appropriate resourcesare available.

    Configuration

    Initiate a first look at security requirements.Security

    Develop support policy for when the universe goes into production.Support plan

    Identify procedures for the request, review, approval, and implementation ofchanges to the universe when in production.

    Change managementplan

    Plan for a user training program.Training plan

    Implementation phase

    The implementation phase can be split up into two stages:

    1. Designing the schema

    2. Building the universe

    Implementation phase 1: schema design

    The first task during schema design is to determine and document the data source for eachcandidate object. If requirements were gathered in a tabular format, add a column to the tablewhere you can indicate the SQL fragment and source tables that will be used to retrieve theobject.

    SourceDescriptionSQL fragmentNameType

    Interview#1

    Information on a customer,including location, credit ratings,and shipping preferences.

    CustomerClass

    21Understanding BusinessObjects UniversesLearners Guide

  • SourceDescriptionSQL fragmentNameType

    Interview#3,4

    This object can be combinedwithdate ranges, customers, and/orproducts to provide meaningfulmeasures.

    SQL:

    sum(order_lines.quantity*products.price)

    Source Tables: Order_Lines,Products

    TotalRevenue

    Object(Measure)

    Any candidate classes that were captured as general requirements without specific objectsmust be expanded now. For example, suppose there was a candidate class called Customerand the specific objects within this class were not identified. During the schema design stage,the developer must fill out this class. The developer might fill it out based on knowledge ofthe business by including all columns from one or more tables, or the developer might go backto users for more detail.

    There are several ways that objects can be mapped to enterprise data. Simple objects map backto a single column in the database. An examplewould be Customer First Name, whichmapsback to the First_Name column in the Customers table. Complex objects make use of SQL tomanipulate data that comes from one or more columns. For example, a Customer Full Nameobject might connect the First_Name and Last_Name columns from the Customers table.

    Aggregate objects involve SQL GROUP functions. Counts, sums, and averages are all aggregateobjects. The Total Revenue object is an aggregate object; it uses the SQL SUM function.

    Plan for object qualifications and drill-down functionality

    As you design the universe, youmust complete the process you began during analysis. Identifyeach object as a measure, a dimension or a detail. For each detail object, identify the dimensionit is associated with.

    Similarly, you need to identify hierarchies within your dimensions. These hierarchies will laterenable users to drill-down and drill-up.

    Design a table diagram

    Now that the objects are mapped back to data sources, the developer reviews all the objectsand produces a table-diagram of the database objects that will support the universe. Joinsbetween the tables are then added to the diagram. The table diagram is a valuable tool forresolving loops and SQL traps in the model. It will also become an important reference fordevelopers.

    Note: This diagram design is usually done on paper, however this can be created directly inthe BusinessObjects Universe Designer software.

    Tip: If you find that you have documented a vast amount of classes and objects based on userrequirements you may consider designing schemas that can be used to build:

    Universe DesignLearners Guide22

  • 1. Multiple universes which cater to a specific function within the business, reducing thecomplexity and amount of classes and objects.

    2. Multiple universes specific to a business function, as this will prevent users from creatingqueries that can span the spectrum of the business.

    Revise objects and table diagram

    Once loops and SQL traps are resolved, the design of some objects will require modification.Any object based on a table that was replaced by an alias must be updated. Consult your tableof objects created in the preparation phase for such objects.

    Note: If you are already using Universe Designer for the schema design you can view a tablesassociated objects to