Manually Implementing the TIME SERIES WIZARD in Oracle BI EE
Manually Implementing the TIME SERIES WIZARD in Oracle BI EE
Fix for AGO() &TODATE() issue till version OBI 10.1.3.3.2
BACKGROUND
When the new Time Series functions (in Oracle BI 10.1.3.3.2) called "Ago" or “To Date” are used, it does not seem to produce correct results. The results get grouped by additional columns which are normally selected as chronological key in Time dimension.
This is a reported bug (Bug # 6032545) on the oracle support site.
RESOLUTION
In Siebel Analytics these calculations were possible by executing the Time Series Wizard utility. However as Oracle BI version has discontinued this functionality one has to manually implement the steps to create the AGO and TO DATE measures.
STEPS TO MANUALLY IMPLEMENT TIME SERIES WIZARD IN ORACLE BI
PREREQUISITE
CALENDAR Dimension Table must have YAGO (Year Ago) column
PHYSICAL LAYER CHANGES
1. CREATE ALIAS (ONE MORE COPY) OF THE FACT TABLE AS FACT_NAME_YAGO
2. CREATE PHYSICAL FOREIGN KEY JOIN WITH ALL OF THE OTHER DIMENSIONS (EXCEPT CALENDAR).
NOTE: THESE SHOULD BE FOREIGN KEY JOINS.
3. CREATE PHYSICAL JOIN (NOT FOREIGN KEY JOIN) WITH CALENDAR. JOIN CONDITION SHOULD BE ALIAS FACT.TIME_ID = CALENDAR.YAGO_TIME_ID
LOGICAL LAYER CHANGES
1. DRAG ALIAS FACT TABLE AS ADDITIONAL SOURCE TO THE LOGICAL FACT TABLE.
2. DUPLICATE THE LOGICAL COLULMNS OF MEASURES TO BE USED FOR TIME SERIES ANALYSIS AND ARE BASED ON PHYSICAL TABLE MAPPING. MAP THEM TO THE YAGO PHYSICAL TABLE AND KEEP SAME FORMULA.
3. FOR COLUMNS BASED ON OTHER LOGICAL COLUMNS, NO NEED TO DUPLICATE OR DO ANY CHANGE.
4. IF YOU NEED VARIANCE AND % VARIANCE COLUMNS, CREATE THEM MANUALLY AND USE LOGICAL TABLE AS SOURCE AND PUT IN FORMULA AS -
CALCULATING VARIANCE
IFNULL("Client Analytics"."Key Measures"."Total Pre Tax Margin", 0) - IFNULL("Client Analytics"."Key Measures"."Total Pre Tax Margin YAGO", 0)
CALCULATING % VARIANCE
CASE WHEN ("RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" = 0) AND NOT "RMS Line Bank"."Key Measures"."Sales Calls" IS NULL AND "RMS Line Bank"."Key Measures"."Sales Calls" <> 0 THEN 100.0
WHEN ("RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" = 0) AND ("RMS Line Bank"."Key Measures"."Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Sales Calls" = 0) THEN 0.0
WHEN "RMS Line Bank"."Key Measures"."Sales Calls" IS NULL AND NOT "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL AND "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" <> 0 THEN -(100.0)
ELSE 100.0 * ("RMS Line Bank"."Key Measures"."Sales Calls" - "RMS Line Bank"."Key Measures"."Prior Year Sales Calls") / "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" END
PRESENTATION LAYER CHANGES
PULL THOSE NEWLY CREATED LOGICAL COLUMNS IN PRESENTATION LAYER.
Fix for AGO() &TODATE() issue till version OBI 10.1.3.3.2
BACKGROUND
When the new Time Series functions (in Oracle BI 10.1.3.3.2) called "Ago" or “To Date” are used, it does not seem to produce correct results. The results get grouped by additional columns which are normally selected as chronological key in Time dimension.
This is a reported bug (Bug # 6032545) on the oracle support site.
RESOLUTION
In Siebel Analytics these calculations were possible by executing the Time Series Wizard utility. However as Oracle BI version has discontinued this functionality one has to manually implement the steps to create the AGO and TO DATE measures.
STEPS TO MANUALLY IMPLEMENT TIME SERIES WIZARD IN ORACLE BI
PREREQUISITE
CALENDAR Dimension Table must have YAGO (Year Ago) column
PHYSICAL LAYER CHANGES
1. CREATE ALIAS (ONE MORE COPY) OF THE FACT TABLE AS FACT_NAME_YAGO
2. CREATE PHYSICAL FOREIGN KEY JOIN WITH ALL OF THE OTHER DIMENSIONS (EXCEPT CALENDAR).
NOTE: THESE SHOULD BE FOREIGN KEY JOINS.
3. CREATE PHYSICAL JOIN (NOT FOREIGN KEY JOIN) WITH CALENDAR. JOIN CONDITION SHOULD BE ALIAS FACT.TIME_ID = CALENDAR.YAGO_TIME_ID
LOGICAL LAYER CHANGES
1. DRAG ALIAS FACT TABLE AS ADDITIONAL SOURCE TO THE LOGICAL FACT TABLE.
2. DUPLICATE THE LOGICAL COLULMNS OF MEASURES TO BE USED FOR TIME SERIES ANALYSIS AND ARE BASED ON PHYSICAL TABLE MAPPING. MAP THEM TO THE YAGO PHYSICAL TABLE AND KEEP SAME FORMULA.
3. FOR COLUMNS BASED ON OTHER LOGICAL COLUMNS, NO NEED TO DUPLICATE OR DO ANY CHANGE.
4. IF YOU NEED VARIANCE AND % VARIANCE COLUMNS, CREATE THEM MANUALLY AND USE LOGICAL TABLE AS SOURCE AND PUT IN FORMULA AS -
CALCULATING VARIANCE
IFNULL("Client Analytics"."Key Measures"."Total Pre Tax Margin", 0) - IFNULL("Client Analytics"."Key Measures"."Total Pre Tax Margin YAGO", 0)
CALCULATING % VARIANCE
CASE WHEN ("RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" = 0) AND NOT "RMS Line Bank"."Key Measures"."Sales Calls" IS NULL AND "RMS Line Bank"."Key Measures"."Sales Calls" <> 0 THEN 100.0
WHEN ("RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" = 0) AND ("RMS Line Bank"."Key Measures"."Sales Calls" IS NULL OR "RMS Line Bank"."Key Measures"."Sales Calls" = 0) THEN 0.0
WHEN "RMS Line Bank"."Key Measures"."Sales Calls" IS NULL AND NOT "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" IS NULL AND "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" <> 0 THEN -(100.0)
ELSE 100.0 * ("RMS Line Bank"."Key Measures"."Sales Calls" - "RMS Line Bank"."Key Measures"."Prior Year Sales Calls") / "RMS Line Bank"."Key Measures"."Prior Year Sales Calls" END
PRESENTATION LAYER CHANGES
PULL THOSE NEWLY CREATED LOGICAL COLUMNS IN PRESENTATION LAYER.