SAP BO – COURSE CONTENT
Understanding Business Objects Universes
• Lesson introduction
• Defining BusinessObjects universe concepts
• The semantic Layer
• What is a Universe
• What type of database schema is used
• Classes and objects
• Advantages of a universe
• BusinessObjects Universe Designer components
• Starting Universe Designer
• Using the Quick Design Wizard
• Importing a universe
• Using Universe Designer module commands
• Saving and exporting a universe
• Universe file names as identifiers
• Saving a universe definition as PDF
• Giving all users access to a universe
• Activity: Viewing a universe in Universe Designer
• Using the universe development cycle
• The universe development cycle process
• Preparation phase
• Analysis phase
• Planning phase
• Implementation phase
• Table of Contents—Learner’s Guide iii
• Implementation phase 1: schema design
• Implementation phase 2: building the universe
• Testing phase
• Deployment Phase
• Updating/maintenance
• Updating/maintenance
• Activity: Planning a universe
Creating the Course Universe
• Lesson introduction
• Describing the course database and universe
• The course database
• Creating the universe
• Setting the database connection
• Data access drivers
• ODBC connection drivers
• OLE DB connectivity
• Viewing, modifying, and deleting available connections
• Creating a new universe
• Defining universe parameters
• Identifying the universe
• Universe parameters
• Definition tab
• Summary tab
• Strategies tab
• Controls tab
• SQL tab
• Links tab
• Parameters tab
• Activity: Creating a new universe and defining its connection
Building the Universe Structure
• Lesson introduction
• Populating the universe structure
• Designing a schema
• Schema design and the universe creation process
• Adding tables
• Manipulating tables in the universe structure
• iv Universe Design—Learner’s Guide
• Activity: Populating the universe structure
• Defining joins in a universe
• About joins and SQL WHERE clauses
• Creating joins
• About join properties
• Editing the join expression
• Using the Join SQL editor
• Detecting joins
• Setting join cardinalities
• About cardinality
• Setting cardinality manually or with the automatic detection tool
• Displaying cardinalities
• Detecting cardinality automatically
• How is cardinality detected
• Detect cardinality for all joins
• Best practices for setting join cardinality
• Join types
• Equi-joins
• Outer joins
• Theta joins
• Shortcut joins
• Self-restricting joins List Mode
• Checking integrity
• Activity: Defining joins in a universe
Creating Dimension Objects
• Lesson introduction
• Describing classes and objects
• Classes Objects
• Creating classes and objects
• Creating classes
• Automatically creating classes and objects from a table
• Defining a new object as a detail object
• Working with classes and subclasses
• Editing the object properties
• Edit Properties: Properties
• Edit Properties: Advanced
• Edit Properties: Keys
• Edit Properties: Source Information
• Copying and pasting objects
• Table of Contents—Learner’s Guide v
• Find and replace
• Checking object integrity
• Viewing parent tables
• Testing objects
• Activity: Creating and testing classes and objects
• Quiz: Creating dimension Objects
Creating Measure Objects
• Lesson introduction
• Defining measure object concepts
• Measure objects concepts.
• How a measure object infers SQL
• The query process Aggregation at SELECT level
• Aggregation at projection level
• Setting selection and projection aggregates
• Creating measure objects
• Measure objects
• Testing measure objects
• Activity: Creating and testing measure objects
• Creating delegated measure objects
• What is a delegated measure
• How does the delegated measure work?.
• Using a delegated measure as a weighted average
• Best practices for using delegated measures
• When are delegated measures inappropriate
• Activity: Creating and using a delegated measure
• Quiz: Creating measure Object
Resolving Loops in a Universe
• Lesson introduction
• Understanding loops
• Recognizing loops
• Problems caused by loops Loops in a universe schema and not in the database
• What is the loop doing
• Resolving loops
• Resolving loops using aliases
• About aliases Detecting loops and inserting aliases
• vi Universe Design—Learner’s Guide
• Redefining objects
• Listing and renaming aliases
• Choosing which alias method to use
• Resolving self-referencing join loops using aliases
• Activity: Using aliases to resolve loops
• Resolving loops using contexts
• About contexts
• Detecting and creating contexts
• Creating objects for each context
• Editing a context
• Testing contexts
• Updating contexts
• Loops and shortcut joins
• Activity: Using contexts to resolve loops
• Quiz: Resolving loops in a universe
Resolving SQL Traps
• Lesson introduction
• Understanding SQL traps and universes
• About SQL traps
• Detecting and resolving chasm traps
• Chasm traps
• Detecting chasm traps
• The chasm trap scenario
• Resolving chasm traps
• Using multiple SQL statements for each measure to resolve chasmtraps
• Drawbacks to the multiple SQL statements for each measure Method
• Using contexts to resolve chasm traps
• Activity: Resolving chasm traps
• Detecting and resolving fan traps
• Fan traps
• The fan trap scenario
• Resolving fan traps
• Using aliases and contexts to resolve fan traps
• Scenario of a fan trap with two tables in a one-to-many relationship
• Avoiding fan traps altogether
• Activity: Resolving fan traps
• Quiz: Resolving SQL traps
Applying Restrictions on Objects
• Lesson introduction
• Restricting the data returned by objects
• Defining data restrictions
• Methods of restricting data in end-user modules
• Drawbacks to applying restrictions to objects
• An alternative to applying restrictions to objects
• Restrictions using condition objects
• Applying restrictions using the tables button
• Applying each type of restriction
• Activity: Applying restrictions
• Quiz: Applying restrictions on objects
Using @functions with Objects
• Lesson introduction
• Using @functions
• Defining @functions
• @prompt
• @prompt syntax
• @select
• @where
• @aggregate_aware
• Activity: Using @functions
• Quiz: Using @functions with objects
Using Hierarchies
• Lesson introduction
• Understanding hierarchies and universes Hierarchies
• Working with hierarchies
• Default hierarchies
• Custom hierarchies
• The effect of custom hierarchies on default hierarchies
• Time hierarchies
• Testing automatic time hierarchies
• Advantages and disadvantages of automatic time hierarchies viii Universe Design—Learner’s Guide
• Time hierarchies based on database functions
• Advantages and disadvantages of database function time
• Hierarchies
• Table-based time hierarchies
• Advantages and disadvantages of table-based time hierarchies
• Activity: Using hierarchies
Using Lists of Values
• Lesson introduction
• Creating a list of values
• What is a list of values?
• Using a list of values (LOV)
• Working with LOVs in Universe Designer
• Associating an LOV with an object
• Setting options for generating LOVs
• Editing the LOVs for the entire universe
• Adding data to the list by adding columns
• Creating a cascading LOV
• Setting up a cascading LOV
• Activity: Using a cascading LOV in Web Intelligence Rich Client
Creating Derived Tables and Indexes
• Lesson introduction
• Using derived tables
• What is a derived table?
• Adding derived tables
• Derived tables as lookup for multiple contexts
• Nested derived tables
• Creating nested derived tables
• Activity: Adding derived tables
• Applying index awareness
• What is index awareness
• Setting up index awareness
• Using an index awareness WHERE clause.
• Activity: Setting up index awareness
WEB_INTELLIGENCE
Using standard and custom calculations
• Using standard and custom calculations in your reports
• Standard calculations
• Using formulas to build custom calculations
• Working with functions
Understanding calculation contexts
• What are calculation contexts
• The input context
• The output context
• Default calculation contexts
• Default contexts in a vertical table
• Default contexts in a horizontal table
• Default contexts in a crosstab
• Default contexts in a section
• Default contexts in a break
• Modifying the default calculation context with extended syntax
• Specifying input and output contexts in the same formula
• Extended syntax context operators
• Web Intelligence extended syntax keywords
• Web Intelligence functions, operators and keywords
• Web Intelligence functions
Using Functions, Formulas and Calculations in Web Intelligence
• Aggregate functions
• Character functions
• Date and Time functions
• Data Provider functions
• Document functions
• Logical functions
• Numeric functions
• Misc functions
• Web Intelligence function and formula operators
• Mathematical operators
• Conditional operators
• Logical operators
• Function-specific operators
• Extended syntax context operators
• Web Intelligence extended syntax keywords
• The Block keyword
• The Body keyword
• The Break keyword
• The Report keyword
• The Section keyword
Troubleshooting Web Intelligence formulas
• Formula error and information messages
• #CONTEXT
• #DATASYNC
• #DIV/0
• #INCOMPATIBLE
• #MULTIVALUE
• #OVERFLOW
• #PARTIALRESULT
• #RANK
Using Functions, Formulas and Calculations in Web Intelligence
Contents
• #RECURSIVE
• #SECURITY
• #SYNTAX
• #TOREFRESH
• #UNAVAILABLE
• #ERROR
Calculating values with smart measures
• Smart measures defined
• Grouping sets and smart measures
• How Web Intelligence manages grouping sets
• Smart measures and the scope of analysis
• Smart measures and SQL
• Grouping sets and the UNION operator
• Smart measures and formulas
• Smart measures in formulas
• Smart measures and filters
• Smart measures and filters on dimension smart measures and drill filters