OBIEE 11g Time Series Function

Hi All,
I am trying to compare this year to date sales to last year to date sales and this code is not working:
TODATE(<Measure>,<Time_Level>) For bellow syntax we are getting an error Formula syntax is invalid.
TODATE("Fact - Sales Order Lines"."Net Ordered Amount", "Time"."Enterprise Year").
Is the above example wrong?. Please provide one example for Time level value.
Actually what should be the value for second parameter (Level)
Thanks in advance.

Hi,
What error are u getting? make sure year hierarchy level on u r time dimension and then test it
example: (via bmm)
ToDate("Subject area"."Presentation table"."measure Column", "Subject area"."Time dim table name"."year dimensional hierarchy" )
ToDate("Sample"."Fact_ICA"."Sales_Amt", "Sample"."Period"."Year" )
<<Measure>> represents the logical measure column from which you want to derive. In this example, you would select the measure "Dollars" from your existing logical fact tables.
<<Level>> is the time series grain you want to use. In this example, you would select "Quarter" from your time dimension.
Refer section About the TODATE Function
http://docs.oracle.com/cd/E23943_01/bi.1111/e10540/dimensions.htm#BABBEGHH
Thanks
Deva
Edited by: Devarasu R on Feb 18, 2013 6:02 PM

Similar Messages

  • OBIEE 11g time series: regression on ago / todate function ?

    Hello,
    We are testing the migration to OBIEE 11G.
    We are currently in 10.3 version
    We have a problem on AGO / TO_DATE OBIEE functions that returns null results on existing reports.
    In 10.3 version, these functions work properly with the actual TIME dimension.
    Here is how we designed time Dimension:
    TOTAL -> Year -> Quarter -> MONTH -> WEEK -> DATE_KEY, FULL_DATE
    DATE_KEY is a number and referenced as a foreign key on our fact table.
    CREATE TABLE TD_DATE
    +(+
    DATE_KEY NUMBER (11) NOT NULL,
    FULL_DATE DATE
    WEEK NUMBER (2),
    MONTH NUMBER (2),
    QUARTER NUMBER (1)
    YEAR NUMBER (4),
    TOTAL_DATE VARCHAR2 (11 BYTE)
    +)+
    Database version: Oracle 11g
    All elements of the dimension are chronological key (except full date) in order to optimize performance.
    Have you encountered similar problems in inplémentation of AGO / TO_DATE function on version 11g?
    Thanks,
    Romain

    Does a month have always the same number of week and begin with the first day of a week ?
    If it's not the case, your dimension is not good when you make a report on the week grain for a year ago for instance.
    Here a check list:
    http://gerardnico.com/wiki/dat/obiee/ago_todate_configuration#timecalender_dimension_design_verification
    Success
    Nico

  • 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

  • YTD, MTD, YAGO, Function (Time-series Functions TODATE, AGO) Like OBIEE

    Dear BO Gurus,
    I am a newbie to business object. I would like to ask are there any ready made time series functions which can be used in the BO Semantic layer (universe).
    Like Year to Date, Year Ago. Functions like TODATE and AGO functions found in OBIEE semantic layer (siebel analytics). It was just simple there, I had to use the function on the semantic layer and BI server would raise the query to get the answer.
    The syntax was
    Todate(measure, time_dim_attribute)
    Ago(measure, Time_Dim_Attribute, period)
    Thanks & Regards
    Ishaq

    Dear Gurus,
    There is no DB function in oracle to do this (AGO/TODATE).
    OBIEE issues time-series queries, in the form of AGO and TODATE. AGO gives you, for example, the value of sales one month ago or one quarter ago, whilst TODATE gives you the total of sales month-to-date, or quarter-to-date, or year-to-date. Both of these time-series functions rely on the existence of a time dimension in your business model and mapping layer, with the period you can refer to in the AGO and TODATE functions being determined by what levels you have in this time dimension.
    This eliminates the need to create and store complex time-based
    reporting tables.
    I would only like to know does the universe designer has this sort of functionality which is present in OBIEE semantic layer. Or I need to create and store time-based reporting tables.
    The question can best be answered by some-one has worked on both the BI platforms (OBIEE and BO).
    Thanks & Regards
    Ishaq

  • Time series functions in OBIEE

    Hi
    I am new to OBIEE.
    In Report i want to use the AGO function to find the previous quarter revenue
    But the AGO function requires time dimension level as shown in following syntax
    how should i insert it in the function
    Syntax
    AGO(expr, [time_level], offset)
    Thanks
    Sravanthi

    Once you have day dimension with checked for 'Time dimension'
    you can see day dimension in rpd expression builder, once you select the function you'll choose each columns.
    for ref:
    Check these links
    http://gerardnico.com/wiki/dat/obiee/ago
    or
    http://iniu.net/content/obiee-time-comparison-using-time-series-function-ago
    Pls mark as correct

  • 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.

  • 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.

  • 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

  • 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,

  • 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

  • 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.

  • 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.

  • Time series function - everything UP TO start of year

    Hi,
    I have a requirement to do the following in OBIEE 11.1.1.6.9 however am having some trouble. Basically we have an analytic which is filtered for the current fiscal year for financial actuals:
    So running gives us something like:
    Year  Amount
    2013  £1000Now what I need to do is show a single column which represents the actuals for all years prior to the one selected.
    So for example, if I had the following dataset:
    Year  Amount
    2010  £500
    2011  £500
    2012  £750
    2013  £1000...and I filtered by year 2013, I would want to see:
    Year  Amount  Previous Years Total
    2013  £1000   £1750I wont know how may years this can go back (ie, could be many and variable) so can't just add up successive AGO() statements. I know I could not filter on 2013 directly and then use "FILTER(amount) using year" on the first column, but that seems very inefficient, especially seeing as the actual analytic contains a lot of other columns which would all need to have the same done.
    If anyone can shed any light on how this might be done using time series functions then I'd really appreciate it.
    Thanks,
    John.

    No requirements are the same :). The analytic is restricted to a single year (i.e. to show that years actuals), but I need to show also everything which occurred in the previous YEARS since the beginning of time. So take for example I have a project XYZ which is being costed on a year by year basis. My requirement is to show something like:
    Year  Proj Prev     Curr   TTL
    2013  XYZ  £100,000 £1000 £101,000So I've spend £1000 this year, but £100,000 in all previous years. To I know that to date this project has cost me £101,000. Hope that makes a little more sense!

  • 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)

Maybe you are looking for