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.
Similar Messages
-
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 PMKris,
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 -
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,
AravindHi,
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 -
Formula syntax is invalid.
[nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27037] Unresolved level: "Time"."Quarter". Please have your System Administrator look at the log for more details on this error. (HY000)
SQL Issued: SELECT AGO("Win Loss Facts"."# of Won Opportunity Revenue Lines", "Time"."Quarter", 2) FROM "Sales - CRM Pipeline"
OK (Ignore Error)I this this is a bug..
and also, try to use the syntax:
set variable ENABLE_ANSI_ORACLE_CALENDAR_EXTRACT =1; by pasting it in BI Answers (Business Intelligence)
/ Edit analysis / Advance tab/ "Prefix" section
and then click on "Apply SQL".
Thanks -
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
SreedharHello 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 -
Strange Question on Time Series Function
Hi All,
I find a strange question when i use time series function. The result of report like this:
-----year area revenue year_ago_revenue
1、 2009 a 100
2、 2009 b 100
3、 2010 a 200
4、 2010 b 200 100
the last column's value of row 3 is null, but it must be 100, I execute the physical sql in log file in database, the result is 100, but show null in report, why? I really can't understand. Any one know why? Thanks.For the report which is working correct, what level of information you are seeing? In that report whether the Year Ago is working correctly.
In time hierarchy, how did you set the chronological keys?
Thanks,
Vino
Edited by: Vinodh NK on Jul 23, 2010 2:56 AM -
Hi Gurus,
How to implement time series(i.e. year ago,qtr ago,month ago) functions with out using any functions in 10G.
how many types of imports we have in the physical layer.
Thanks,Hi,
Time series functions can be implemented in the BMM layer with a new logical column.
Refer these links to implement
http://allaboutobiee.blogspot.in/2012/03/time-series-functions-in-obiee.html
http://gerardnico.com/wiki/dat/obiee/function_time
mark if helpful/correct..
thanks,
prassu -
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,
AvinashYes, it shud be a prob. Try using seperate tables for fact n timedim
-
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. -
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 PendemHi 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 -
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! -
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.6We 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.
-
Combining Time series functions, is it possible?
Hello
I have a requirement where I have to create time series measures. The Todate function and the ago function is pretty straightforward, however, it is required to also have last year Month to date, last year quarter to date measure, is it possible?
For example, for quantity sold measure, I have created MTD, YTD Quantity Sold and Year Ago Quantity Sold. Now when running report on for July 2010, we will get the total Quantity return between Jan to July of 2010, and based on that, it is required to also view the total Quantity Sold of the same period (Jan 2009 to July 2009)of 2009. Is it possible for this?
Another challenge i am dealing with is that if the current date is not the end of the month, let's say Oct 10th 2010. Since it has only been 1 week of Oct, they want to also get 2009's first week of Oct instead of the entire Oct of 2009. In this case, how is it implemented?
Any advice will be greatly appreciated
Thanksit is required to also have last year Month to date, last year quarter to date measure, is it possible?Yes, possible with time series functions..
for calculating prior ytd,
ToDate(Ago(measure, YearLevel, 1), YearLevel) last year Month to date:
try this(din't test, but give a try)
ToDate(Ago(measure, YearLevel, 1), MonthLevel)last year quarter to date:
ToDate(Ago(measure, YearLevel, 1), QuarterLevel)btw, need to close your threads if answered...
Edited by: Kishore Guggilla on Oct 26, 2010 11:31 PM -
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
SravanthiOnce 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 -
Time Series Function not doing it right
Hello guys
I have setting up the time dimensional hierarchy with Year -- QTR---Month--- Days order..
I have a measure call 'Forward Amt' which needs to applied with Month-to-date calculation. Therefore I am using time series functions.
I have copied the same measure and renamed it as 'MTD Forward Amt' and defined the todate function according to the syntax:
TODATE("Forward Details"."Forward fact"."Forward Amt", "Forward Details"."DatesDim"." Dates Month")
I set everything according to the standard steps
In the presentation however when I am running reports using dates = 03/10/2010, I am getting:
Month Forward Amt MTD Forward AMT
3 3000000 The $3000000 is actually correct value for the date 03/10/2010, but the MTD Forward AMT is empty..
For further investigations, I decided to take out the date column and date filter, then I got:
Month Forward Amt MTD Forward AMT
1 500000000
2 10000000
3 349000000
4 500000000
5 10000000
6 349000000I don't think this is correct result of the todate function at month level..
Could anybody suggestion any approach for me to investigate this behavior?
ThanksI’ve got Live Trace so I can’t vouch for Image Trace, but if what Monika says is right (and it usually is) you can select the areas with black fill and lock them. Then delete the stuff that isn’t coloured.
I believe that Image Trace has the possibility of producing stacks rather than compounds (like Streamline in the old days).
You should definitely go for stacks. They make editing much easier.
Maybe you are looking for
-
Private key for encryption / decryption in PI
Hi Experts, Where do we find the private key installed in PI system that is used for secur communication ? Thanks, Dhawal
-
Welcome to the Technical Documentation Idea Center Topic
Welcome to the NetPro Cisco Technical Documentation Ideas topic. This conversation will provide you the opportunity to suggest ways Cisco technical documentation can be improved to better serve your needs and seek answers to questions about technical
-
REPORTS SECURITY WITHIN WEBDB (setup errors)
As per WebDB and Reports 6i requirement, i ran the two script files D:\orant\report60\server\security rwwwvins.sql webdb and D:\ORANT\REPORT60\SERVER\SECURITY\RWENABLE.SQL Got errors while creating some package definitions.. those package include pac
-
What is wrong with my XPath Query ??
Hi Guys, please help me to solve the following problem. Trying to execute : XPathAPI.selectNodeList(MyNode,"//*[starts-with()='WType']") throws always an exception : javax.xml.transform.TransformerException: FuncStartsWith only allows 2 arguments Wha
-
Need help Encoding a CS5 Premiere Pro sequence to .mp4 1280x720
I need help trying to encode a HDV 1920x1080 premiere pro sequence to an mp4 1280x720 file. Any advice would be appreciated!