Use of time series functions with horizontally fragmented fact tables

Hi Guys,
in OBIEE 10g it wasn't possible to use time series functions [AGO, TO_DATE] on horizontally fragmented fact tables. This was due to be fixed in 11g.
Has this been fixed? Has somebody used this new functionality? What the the limitations?
Tkx
Emil

Hello,
Can you give us some examples for "horizontally fragmented fact tables", we can tell you whether we can do that or not?
Thanks,

Similar Messages

  • Drilldowns on measure columns based on time series functions.

    Guys,
    I am new to OBIEE and i need your Help!! I have a dashbaord report which shows the sales USD for the colums below.
    REGION , PRIOR MONTH , CURRENT MONTH PRIOR YEAR , CURRENT MONTH PRIOR YEAR MTD , CURRENT MTD , ACTUALS YTD.
    All the measures are logical columns caluculated in the RPD using the Time Series Functions. The dasboard report has a Prompt Calender Date and all the measure values are caluclated based on the date entered in the prompt.
    For example if the Calender Date on the prompt is 5/31/2011 then the value for the PRIOR MONTH will the sales for APR-2011 and the value for CURRENT MONTH PRIOR YEAR will be MAY-2010 and so on.
    The business requirement is to provide the drill down capability on these measure columns. When i click the sales number on the prior month column it should give me all the detailed transactions for the month of APR-2011 considering the prompt for calender date is 31-MAY-2011.
    I have provided drilldowns based on the Navigation using the column interatcion but i am unable to understand how to provide the drilldown on the measure columns using the time series functions to caluclate the sales for PRIOR MONTH. CURRENT MONTH PRIOR YEAR...etc.
    Please Help!!!
    Thanks,
    Sandeep.

    1. Create an alias fact table (Year Ago) to pull last year value.
    2. Extend your fact table to store another measure (last year sales)
    3. Based on volume of granular data and query pattern on year ago measures, you may create aggregate fact tables.
    hope this helps.

  • SQL for Time Series Functions AGO and YTD

    When we use a time series function such as AGO or TODATE, OBIEE creates 2 physical queries. One query reads the calendar table. The other query reads the fact table without any date filter in the WHERE clause. Then the results of the 2 queries are stitched together. The query on the fact table returns a lot of rows because there is no filter on date.
    Is there a way to force OBIEE to put a filter on the date when performing the physical query on the fact table when using AGO or TODATE?
    Thanks,
    Travis
    v11.1.1.6

    We do have a date filter on the analysis. We need the analysis to show sales for a certain month and sales for that month a year ago, so we use the AGO function. However, it is really slow because it does a physical query on the sales table without filtering on date and then filters the results of that physical query by the dates from the physical query on the calendar table.

  • Time Series function: csum

    Hi all,
    I am trying to use the time series function "CSUM" to create a running total column. The DBA loaded the package, however, he I did not know the correct syntax. Any thoughts.
    Thanks in advance.
    Peter Sidi
    [email protected]
    Wrote file afiedt.buf
    1 SELECT *
    2 FROM daily6 ts,
    3 TABLE (CAst(ORDSYS.TimeSeries.ExtractTable(
    4 ORDSYS.TimeSeries.Csum(ts.da_dsch_total,to_date('01-JAN-02','DD-MON-YY'),
    5 to_date('30-NOV-02','DD-MON-YY'))
    6 ) AS ORDSYS.ORDTNumTab)) t
    7* WHERE ts.da_service_1='MED'
    SQL> /
    ORDSYS.TimeSeries.Csum(ts.da_dsch_total,to_date('01-JAN-02','DD-MON-YY'),
    ERROR at line 4:
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'CSUM'
    SQL> desc daily6;
    Name Null? Type
    DA_DSCH_TTL_01 NUMBER
    DA_PTNT_DY_01 NUMBER
    MNTH VARCHAR2(2)
    YR VARCHAR2(2)
    DA_SERVICE_1 VARCHAR2(3)
    DA_DSCH_DT_02 VARCHAR2(4)
    DA_DSCH_DATE DATE
    DA_DSCH_TOTAL NUMBER
    DA_PATIENT_DAYS NUMBER
    DA_BUDGET_DC NUMBER
    DA_BUDGET_PD NUMBER

    Since you only asked how to get rid of the 2011 line, here are two ways:
    1) Filter on Time.Year column <> 2011
    or better
    2) Filter on Time.Year column <> YEAR(CURRENT_DATE)+1

  • How to find the year ago measure with out using time series functions

    hi all
    is there any way to find year ago sales with out using time series functions like ago
    Thanks
    Sreedhar

    Hello Madan,
    Thanks for the reply.
    It still doesn't consider the product into account.
    My columns are as below
    Prod Week End DATE Current Sales Prior Sales % Change
    A 12/4/2010 100 0
    A 12/11/2010 200 100
    A 12/18/2010 300 200
    B 12/4/2010 400 300(this value is not for prod B, i want this to b 0 aswell. But we get product A's last sale amount)
    Is there any way this can be done. I have tried evaluate,MSUM.
    I cannot build a time dimension as all I have is a view.
    Thanks,
    Deep

  • Time series functions are not working for fragmented logical table sources?

    If i remove that fragmented logical table sources, then its working fine.
    if any body know the reason, please let me know.
    thanks and regards,
    krishna

    Hi,
    is because the time series function are not supported for the framentation content, see the content of the oracle support:
    The error occurs due to the fact the fragmented data sources are used on some Time series measures. Time series measures (i.e. AGO) are not supported on fragmented data sources.
    Confirmation is documented in the following guide - Creating and Administering the Business Model and Mapping Layer in an Oracle BI Repository > Process of Creating and Administering Dimensions
    Ago or ToDate functionality is not supported on fragmented logical table sources. For more information, refer to “About Time Series Conversion Functions” on page 197.
    Regards,
    Gianluca

  • Bad performance due to the use of AGO and TO_DATE time series functions

    Hi all,
    I'm building an OBI EE Project on top of a 1TB DW, and i'm facing major performance problems due to the use of the AGO and TO_DATE time series functions in some of the Metrics included on the reports. I discovered that when a report with one of those metrics is submited to the DB, the resulting query/explain plan is just awful!... Apparently OBI EE is asking the DB to send everything it needs to do the calculations itself. The CPU cost goes to the roof!
    I've tried new indexes, updated statistics, MV's, but the result remains the same, i.e., if you happen to use AGO or TO_DATE in the report you'll get lousy query time...
    Please advise, if you have come across the same problem.
    Thanks in advance.

    Nico,
    Combining the solution to view the data in dense form (http://gerardnico.com/wiki/dat/obiee/bi_server/design/obiee_densification_design_preservation_dimension), and the use of the lag function (http://gerardnico.com/wiki/dat/obiee/presentation_service/obiee_period_to_period_lag_lead_function) appears to be the best solution for us.
    Thanks very much.

  • Perf issues with Time series function in OBIEE

    Attached is the SQL:
    SELECT SUM (T256675.ACTIVITY_GLOBAL2_AMT) AS c1,
    SUM (T256675.ACTIVITY_GLOBAL3_AMT) AS c2
    FROM X_FINANCIAL_HIERARCHY_DH T610485 /* Dim_X_GLACCT_ALTVIEW_D */,
    X_FINANCIAL_HIERARCHY_DH T610414 /* Dim_X_MGMT_ENTITY_D */,
    W_GL_ACCOUNT_D T256463 /* Dim_W_GL_ACCOUNT_D */,
    W_GL_BALANCE_F T256675 /* Fact_W_GL_BALANCE_F */,
    SAWITH3,
    SAWITH6
    WHERE ( T256463.ROW_WID = T256675.GL_ACCOUNT_WID
    AND T256463.X_FIN_HIER1_WID = T610485.ROW_WID
    AND T256463.X_FIN_HIER5_WID = T610414.ROW_WID
    AND T256675.BALANCE_DT_WID = SAWITH3.c3
    AND SAWITH6.c1 = SAWITH3.c1
    AND T610414.ACCOUNT_HIER8_NAME = 'Worldwide'
    AND T610414.HIERARCHY_SOURCE = 'EntityMgmt'
    AND T610485.ACCOUNT_HIER7_NAME = 'Controllable Expenses'
    AND T610485.HIERARCHY_SOURCE = 'AltViews'
    AND SAWITH6.c3 = '2009 / 11'
    AND SAWITH6.c2 >= SAWITH3.c2
    The SAWITH3 and SAWITH6 dimensions using time series fuctions are causing a full table scan on W_GL_BALANCE_F and W_GL_ACCOUNT_D . Though we are interested in just getting 2009/11 data; the queries generated by time series function TODATE is taking us against entire W_DAY_D data and is causing several performance issues.
    W_GL_BALANCE_F table has index on GL_ACCOUNT_WID and BALANCE_DT_WID.
    How can we force to use index on these columns for better performance.
    Please advise us on the right approach to improve performance.
    SQL for SAWITH3
    ===========
    WITH SAWITH0 AS
    SELECT T31328.ROW_WID AS c3, T31328.PER_NAME_FSCL_QTR AS c4,
    ROW_NUMBER () OVER (PARTITION BY T31328.PER_NAME_FSCL_QTR ORDER BY T31328.PER_NAME_FSCL_QTR DESC)
    AS c5,
    T31328.PER_NAME_FSCL_MNTH AS c6,
    ROW_NUMBER () OVER (PARTITION BY T31328.PER_NAME_FSCL_QTR, T31328.PER_NAME_FSCL_MNTH ORDER BY T31328.PER_NAME_FSCL_QTR DESC,
    T31328.PER_NAME_FSCL_MNTH DESC) AS c7
    FROM W_DAY_D T31328 /* Dim_W_DAY_D_Common */),
    SAWITH1 AS
    SELECT CASE
    WHEN CASE SAWITH0.c5
    WHEN 1
    THEN SAWITH0.c3
    ELSE NULL
    END IS NOT NULL
    THEN RANK () OVER (ORDER BY CASE SAWITH0.c5
    WHEN 1
    THEN SAWITH0.c3
    ELSE NULL
    END ASC NULLS LAST)
    END AS c1,
    CASE
    WHEN CASE SAWITH0.c7
    WHEN 1
    THEN SAWITH0.c3
    ELSE NULL
    END IS NOT NULL
    THEN RANK () OVER (PARTITION BY SAWITH0.c4 ORDER BY CASE SAWITH0.c7
    WHEN 1
    THEN SAWITH0.c3
    ELSE NULL
    END ASC NULLS LAST)
    END AS c2,
    SAWITH0.c3 AS c3, SAWITH0.c4 AS c4, SAWITH0.c6 AS c5
    FROM SAWITH0),
    SAWITH2 AS
    SELECT MIN (SAWITH1.c1) OVER (PARTITION BY SAWITH1.c4) AS c1,
    MIN (SAWITH1.c2) OVER (PARTITION BY SAWITH1.c4, SAWITH1.c5)
    AS c2,
    SAWITH1.c3 AS c3
    FROM SAWITH1),
    SAWITH3 AS
    SELECT DISTINCT SAWITH2.c1 + 5 AS c1, SAWITH2.c2 AS c2,
    SAWITH2.c3 AS c3
    FROM SAWITH2),
    SQL for SAWITH6
    ===========
    SAWITH4 AS
    SELECT T31328.PER_NAME_FSCL_MNTH AS c3, T31328.ROW_WID AS c4,
    T31328.PER_NAME_FSCL_QTR AS c5,
    ROW_NUMBER () OVER (PARTITION BY T31328.PER_NAME_FSCL_QTR ORDER BY T31328.PER_NAME_FSCL_QTR DESC)
    AS c6,
    ROW_NUMBER () OVER (PARTITION BY T31328.PER_NAME_FSCL_QTR, T31328.PER_NAME_FSCL_MNTH ORDER BY T31328.PER_NAME_FSCL_QTR DESC,
    T31328.PER_NAME_FSCL_MNTH DESC) AS c7
    FROM W_DAY_D T31328 /* Dim_W_DAY_D_Common */),
    SAWITH5 AS
    SELECT CASE
    WHEN CASE SAWITH4.c6
    WHEN 1
    THEN SAWITH4.c4
    ELSE NULL
    END IS NOT NULL
    THEN RANK () OVER (ORDER BY CASE SAWITH4.c6
    WHEN 1
    THEN SAWITH4.c4
    ELSE NULL
    END ASC NULLS LAST)
    END AS c1,
    CASE
    WHEN CASE SAWITH4.c7
    WHEN 1
    THEN SAWITH4.c4
    ELSE NULL
    END IS NOT NULL
    THEN RANK () OVER (PARTITION BY SAWITH4.c5 ORDER BY CASE SAWITH4.c7
    WHEN 1
    THEN SAWITH4.c4
    ELSE NULL
    END ASC NULLS LAST)
    END AS c2,
    SAWITH4.c3 AS c3, SAWITH4.c5 AS c4
    FROM SAWITH4),
    Thanks
    Srini Pendem

    Hi Srini,
    I've had quite a bit of performance issues with ToDate and Ago. I tended to create materialized views on my fact tables that would materialize those values as columns and that way I would avoid having to use the ToDate or Ago functions. Is there any chance you can implement a similar solution and bypass the time series functions entirely?
    Just to check, those tables belong to BI Apps, right? If so, you can log an SR about the performance issue since it's an issue with the model that Oracle sold you.
    Good luck!
    -Joe

  • How to use time series functions for this requirement

    we are on OBIEE 11g (11.1.1.5)
    Any pointers and links are really helpful.
    I have a requirement where YTD sales are displayed in a column. We wan to compare that number to what that number was last year at the same time. Tried to use TODATE, AGO and it did not work.
    || used for column seperation below.
    ProductGroup || YTD Sales Rev||YTD Sales Rev 1 Year Ago||YTD Sales Rev 2 Years Ago
    Climate Solutions || 1.7 mil (1/1/2011 - 7/1/2011) || 1.45 mil (1/1/2010 - 7/1/2010) || 1.15 mil (1/1/2009 - 7/1/2009)
    Thanks in advance
    kris
    Edited by: user566193 on Aug 10, 2011 6:06 PM

    Kris,
    Basically you want to combine the 2 time series functions here i.e. TODATE & AGO.
    Here you go..
    You can create first a YTD logical column in BMM say YTD Sales Rev..Then create another logical column with calculation as AGO(YTD Sales Rev, YEARDIM, 1) or AGO(YTD Sales Rev, MONTHDIM, 12).
    Similarly, you create other measures...OBIEE 11g has time series function in Answers as well but I'd say try to create using RPD as you to calculate 1 logical column based on another. Better to push it on RPD side.
    Hope this helps

  • Last Year MTD/YTD Column Without Using Time Series Function

    I need to calculate MTD and YTD of last year without using time series function.
    My requirement is like:
    We are working on Fiscal year.
    Suppose user will select a date: 15-Jan-2013

    Use a period table with Period Ago attributes and join these to an alias of your fact table. In other words, use a period table (let's say Day is grain) that would have
    WAgo, QAgo, YAgo, (etc.) attributes for each day. Join this table to aliases of the fact tables on these columns.
    Thanks.

  • Nested aggregation using time series functions

    Hi All,
    I have a requirement where i need to find the growth using below formula
    (A-B)/B
    A=PERIODROLLING(x,-3,0)
    B=PERIODROLLING(AGO(x,QUARTER,1),-3,0)
    where x is a measure
    I see that OBIEE doesn't support nested aggregates on time series function is there any other way this can be achieved
    Thanks in advance,
    KSS
    Edited by: K.S.S on Mar 19, 2013 2:53 AM
    Edited by: K.S.S on Mar 19, 2013 2:54 AM

    same functionality was achieved using below formula
    (A-B)/B
    A=PERIODROLLING(x,-3,0)
    B=PERIODROLLING(x,-4,-1)

  • Using Time Series Functions in Answers 11g

    Hi All,
    I am using OBIEE v11.1.13, I want to use Time series AGO function in Answers level, its syntax is:
    AGO(expr, level, interval)
    for level part: should i only give the <name of the level in the hierarchy>, is it compulsary that i should introduce the Hierarchy to presentation layer?
    Thanks,
    Richa

    for level part: should i only give the <name of the level in the hierarchy>, is it compulsary that i should introduce the Hierarchy to presentation layer?Hierarchy shud be present at presentation layer so that you can select the level from there and work on Time Series functions in answers.

  • Time series functions are not working in OBIEE for ESSBASE data source

    Hi All,
    I am facing a problem in OBIEE as I am getting error messages for measure columns with Time series functions(Ago,ToDate and PeriodRolling) in both RPD and Answers.
    Error is "Target database does not support Ago operation".
    But I am aware of OBIEE supports Time Series functions for Essbase data source.
    using Hyperion 9.3.1 as data source and obiee 11.1.1.5.0 as reporting tool.
    Appreciate your help.
    Thanks,
    Aravind

    Hi,
    is because the time series function are not supported for the framentation content, see the content of the oracle support:
    The error occurs due to the fact the fragmented data sources are used on some Time series measures. Time series measures (i.e. AGO) are not supported on fragmented data sources.
    Confirmation is documented in the following guide - Creating and Administering the Business Model and Mapping Layer in an Oracle BI Repository > Process of Creating and Administering Dimensions
    Ago or ToDate functionality is not supported on fragmented logical table sources. For more information, refer to “About Time Series Conversion Functions” on page 197.
    Regards,
    Gianluca

  • TODATE time series function in OBIEE 11g

    Hi,
    I have a problem with time series function. I have month level in time dimension hierarchy.
    I have used below expression to get month to date results in my reports.
    column
    expression----> TODATE(fact.measure, hierarchy.Month level);
    when i am using this column in my reports it is showing null values. The below error i am getting in view log files
    ----------------> Converted to null because it's grain is below query's grain
    Note: Here i have measures, year,qtr,month,day,shift,hour in single physical table in physical layer.
    Is it a problem to have measures and time columns in a single physical table?
    Please let me know if you have any solution.
    Thanks,
    Avinash

    Yes, it shud be a prob. Try using seperate tables for fact n timedim

  • How to apply time series function on physical columns in OBIEE RPD

    Hi,
    I know a way to apply time series function(Ago and ToDate) by using existing logical columns as the source. I have set the chronological key and created time dimension. In the expressiion builder for the same Time Dimension appears at the Top so that we can use its level.
    But I couldn't apply a time series function when i have to create a logical column using physical columns. In the expression builder for the same, Time dimension does not appear in the list. Neither can i use any column from the time dimension. Please let me know a way to do it.
    Thanks.

    Time series functions are - by design and purpose - only valid for derived logical columns and not useable inside physical mappings.
    If you want / need to do it on a physical level, then abandon the time series functions and do it the old-school way with multiple LTS instances.

Maybe you are looking for