In OBIEE we have the AGO and TODATE Time Series Functions in order to compare measures across time periods. Let us see whether we can make use of these functions when using an Essbase Cube as our Data Source.
Let us first test out the AGO function. The AGO function calculates the aggregated value as of some time period shifted from the current time.
In order to use these time series functions in OBIEE, the first step is to identify a dimension as the Time Dimension. Double click the Time Dimensional Hierarchy and mark it as a Time Dimension.
Next, expand the Time Dimension hierarchy to its lowest detail level. Double Click the lowest detail level and check the Chronological key.
To create a Month Ago measure, right click on the Fact Table in BMM layer and create a new Logical column. I have named this column Month Ago Sales.
Now check ” Use Existing Logical Column as the source and then click on the Ellipsis to open up the Expression Builder box.
In the Expression Builder, Select Functions > Time Series Functions > Ago and click insert.
The AGO function requires 3 arguments:
Ago(<<Measure>>, <<Level>>, <<Number of Periods>>)
1. Measure—-Select the appropriate measure from the Fact Table( Sale_Amount)
2. Level——- Select the required level in the Time Dimension (Quarter)
3. Number of Periods——Is an integer number (# of Periods you want to go back) The AGO function will calculate the Amount sold n Quarters prior to current Quarter if this value is n.
I have shown the parameters chosen for the Month Ago Sales Measure.
Close the expression builder, drag the newly created measure column into the Presentation Layer and check in changes.
Now create a test report in Answers and verify your results
The two OBIEE TimeSeries Functions AGO and TODATE work great with Essbase Measures, but the performance is very very bad.
It is better to create all TimeSeries Measures, (ex: Year Ago, Quarter Ago, Month Ago, ……, Year To Date, Quarter To Date, 365 Days Avg, 90 Days Avg, 30 Days Avg ……) as Scenarios in Essbase.
Thanks
Sai