Recognizing and resolving Chasm and Fan traps when designing universes



Similar documents
Business Objects Online training Contents SAP BUSINESS OBJECTS 4.0/XI 3.1. We provide online instructor led Business Objects Training.

Universe Best Practices Session Code: 806

SA S P A BO B BJ B COURSE CONTENT 2015

UNIVERSE DESIGN BEST PRACTICES. Roxanne Pittman, InfoSol May 8, 2014

Student Guide. SAP BusinessObjects XI 3.0 Universe Design

BIA and BO integration other performance management options Crystal Reports Basic: Fundamentals of Report Design

SECURE UNIVERSES USING RESTRICTION SETS

Creating QBE Queries in Microsoft SQL Server

UNIVERSE BEST PRACTICES. Rob Rohloff, OEM Sales Consultant

Oracle OLAP. Describing Data Validation Plug-in for Analytic Workspace Manager. Product Support

SAP BUSINESS OBJECTS BO BI 4.1 amron

Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL

How to Create Dashboards. Published

Information Design Tool User Guide SAP BusinessObjects Business Intelligence platform 4.0 Feature Pack 3

Advance DBMS. Structured Query Language (SQL)

SAP BO Course Details

BusinessObjects: General Report Writing for Version 5

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

SAP BODS - BUSINESS OBJECTS DATA SERVICES 4.0 amron

ASYST Intelligence South Africa A Decision Inc. Company

Oracle Database: SQL and PL/SQL Fundamentals

Microsoft Access Rollup Procedure for Microsoft Office Click on Blank Database and name it something appropriate.

Introduction to Microsoft Jet SQL

Universe Design with SAP Business Objects BI

Business Objects Course outline: =======================

SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package Information Design Tool User Guide

Join Example. Join Example Cart Prod Comprehensive Consulting Solutions, Inc.All rights reserved.

Oracle Database: SQL and PL/SQL Fundamentals NEW

SAP EDUCATION SAMPLE QUESTIONS: C_BODI_20. Questions:

Database Programming with PL/SQL: Learning Objectives

Migrating documents from Business Objects Reporter to Web Intelligence XI R2

Oracle Database: SQL and PL/SQL Fundamentals

Setting Oracle Passwords for the EDW

SAP BO 4.1 Online Training

Relational Division and SQL

SAP BOBJ. Participants will gain the detailed knowledge necessary to design a dashboard that can be used to facilitate the decision making process.

SUBQUERIES AND VIEWS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6

SAP BO 4.1 COURSE CONTENT

Relational Database: Additional Operations on Relations; SQL

Course duration: 45 Hrs Class duration: 1-1.5hrs

Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25)

Data warehousing/dimensional modeling/ SAP BW 7.3 Concepts

The safer, easier way to help you pass any IT exams. SAP Certified Application Associate - SAP HANA 1.0. Title : Version : Demo 1 / 5

Developing Microsoft SQL Server Databases 20464C; 5 Days

Developing Microsoft SQL Server Databases MOC 20464

OLAP Cube Manual deployment and Error resolution with limited licenses and Config keys

Cognos 8 Best Practices

When to consider OLAP?

When a variable is assigned as a Process Initialization variable its value is provided at the beginning of the process.

Oracle Database 10g: Introduction to SQL

Business Objects Version 5 : Introduction

Creating Pivot Tables and Diagrams with Microsoft Excel, Visio and SQL Server 2008

20464C: Developing Microsoft SQL Server Databases

Web Intelligence Rich Client User's Guide

SAP BusinessObjects Business Intelligence (BOBI) 4.1

Oracle SQL. Course Summary. Duration. Objectives

Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables. Lesson C Objectives. Joining Multiple Tables

SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package Information Design Tool User Guide

Five Little Known, But Highly Valuable, PROC SQL Programming Techniques. a presentation by Kirk Paul Lafler

Developing Microsoft SQL Server Databases

Implementing Data Models and Reports with Microsoft SQL Server 20466C; 5 Days

Time Value of Money, Part 5 Present Value aueof An Annuity. Learning Outcomes. Present Value

Course 20464: Developing Microsoft SQL Server Databases

Oracle EXAM - 1Z Oracle Database 11g Security Essentials. Buy Full Product.

T-SQL STANDARD ELEMENTS

SAP BusinessObjects Business Intelligence platform Document Version: 4.1 Support Package Information Design Tool User Guide

Chapter 1 Overview of the SQL Procedure

Introduction to Databases

Unit 3. Retrieving Data from Multiple Tables

Microsoft Implementing Data Models and Reports with Microsoft SQL Server

CHAPTER 12. SQL Joins. Exam Objectives

Course 20464C: Developing Microsoft SQL Server Databases

Solving Systems of Linear Equations Using Matrices

Oracle Exam 1z0-591 Oracle Business Intelligence Foundation Suite 11g Essentials Version: 6.6 [ Total Questions: 120 ]

Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop

Presentation of database relational schema (schema 1) Create Universe step by step

Error Messages Explained

An Oracle White Paper June Creating an Oracle BI Presentation Layer from Imported Oracle OLAP Cubes

SAP Business Objects XIR3.0/3.1, BI 4.0 & 4.1 Course Content

USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

Information Design Tool User Guide SAP BusinessObjects Business Intelligence platform 4.0 Support Package 5

Geodatabase Programming with SQL

PowerDesigner WarehouseArchitect The Model for Data Warehousing Solutions. A Technical Whitepaper from Sybase, Inc.

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Advanced BIAR Participant Guide

Oracle Database 11g: SQL Tuning Workshop Release 2

Top 10 Oracle SQL Developer Tips and Tricks

Lab # 5. Retreiving Data from Multiple Tables. Eng. Alaa O Shama

SQL Server Replication Guide

Fig. 1 Suitable data for a Crosstab Query.

Managing User Accounts

More on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan

DBMS / Business Intelligence, Business Intelligence / DBMS

Configuring Data Masking

Exposed Database( SQL Server) Error messages Delicious food for Hackers

Oracle BI 11g R1: Build Repositories

Netezza SQL Class Outline

Technical Bulletin 005 Revised 2010/12/10

Transcription:

Recognizing and resolving Chasm and Fan traps when designing universes Relational databases can return incorrect results due to limitations in the way that joins are performed in relational databases. Unlike loops, which return fewer rows, the Chasm and the Fan traps are two common circumstances which return too many rows. You can use Designer to resolve both types of problems in your universe schema. What is a Chasm trap? The Chasm trap occurs when two many to one joins converge on a single table. You will get incorrect results when the following circumstances exist: A many to one to many relationship exists among three tables in the universe structure The query includes objects based on two tables both at the many end of their respective joins There are multiple rows returned for a single dimension In the example below a customer can place many orders/and or place many loans:

If you want to run a query that returns the total order and loan values for a customer Paul, you would get the following results: CUSTOMER.NAME ORDERS.DATE ORDERS.TOTAL_VALUE LOANS.DATE LOANS.TOTAL_VALUE Paul 12/01/99 100.00 05/08/97 50.00 Paul 14/04/99 150.00 05/08/97 50.00 Paul 20/09/99 150.00 05/08/97 50.00 Paul 12/01/99 100.00 03/06/97 100.00 Paul 14/04/99 150.00 03/06/97 100.00 Paul 20/09/99 150.00 03/06/97 100.00 Sum = 800 Sum = 450 This is obviously an incorrect result. A Cartesian product of the CUSTOMER, ORDERS, and LOAN tables has been returned. The correct results should be: Total orders value for Paul is 400 Total loans value for Paul is 150

How do you resolve a Chasm trap? Depending on whether the target users for your universe are BusinessObjects or WebIntelligence users, you can use Designer in the following ways to resolve the Chasm trap problem: Solution Define a context for each table at the many end of the joins. Select the option Multiple SQL Statements for Each Measure from the Universe Parameters dialog box. Description In our example you could define a context from CUSTOMER to ORDERS and from CUS- TOMER to LOANS. This creates two SQL statements and two separate tables in Business Objects, avoiding the creation of a Cartesian product. Using contexts is the most effective way to solve Chasm traps. Only applies to measures. You force the SQL generation engine in Reporter to generate SQL queries for each measure that appears in the Query panel. You cannot use this solution to generate multiple SQL statements for dimensions. What is a Fan trap? The Fan trap occurs when a one to many join links a table which is in turn linked by another one to many join. The fanning out effect of one to many joins can cause incorrect results to be returned when a query includes objects based on both tables. A simple example of a Fan trap is shown below: When you run a query that asks for the total orders by each order line, for a particular customer, an incorrect result is returned as you are performing an aggregate function on the

table at the one end of the join, while still joining to the many end. For example if you run the following query against the three tables: SELECT CUSTOMER.NAME, SUM(ORDERS.TOTAL_VALUE), SUM(ORDER_LINES.QTY_SOLD) FROM CUSTOMER, ORDERS, ORDER_LINES WHERE (CUSTOMER.CUST_ID=ORDERS.CUST_ID) AND (ORDERS.ORDER_ID=LINES.ORDER_ID) AND (CUSTOMER.NAME= PAUL ) GROUP BY CUSTOMER.NAME The result is a Cartesian product which produces an inflated figure for the total number of orders placed by the customer Paul, as shown in the following table: CUSTOMER.NAME ORDERS.TOTAL_VALUE ORDER_LINES.PROD_ID ORDER_LINES.QTY_SOLD Paul 550000 JAGUAR 3 Paul 550000 PEUGEOT 5 Paul 550000 VW 1 Sum = 1650000 Sum = 9 How do you resolve a Fan trap? There are two ways to solve a Fan trap problem. Using an alias and the aggregate awareness function. This is the most effective way to solve the Fan trap problem. Altering the SQL parameters for the universe. This only works for measure objects. Both of these methods are described below.

Using an alias and aggregate awareness You create an alias table and use the aggregate awareness function. You cannot use this option if you have incompatible objects. You can do this as follows: 1. Create an alias for the table that is producing the multiplied aggregation 2. Create a one to one join between the original table and the alias table 3. Modify the select statement for the columns that are summed so that the columns in the alias table are summed and not the original table 4. Apply the @AggregateAware function to the select statement. for example: @AggregateAware(SUM(ORDERS.TOTAL_VALUE), SUM(ORDERS_2.TOTAL_VALUE)) Altering the SQl parameters for the universe You select the option Multiple SQL Statements for Each Measure. You force the SQL generation engine in Reporter to generate separate SQL queries for each measure that appears in the Query panel. You find this option on the SQL page of the Universe Parameters dialog box. You cannot use this method to generate multiple queries for dimensions.