Chronological Key

Hi friends,
Im trying to do YTD and PTD calculation using the following below links
http://download.oracle.com/docs/cd/E21764_01/bi.1111/e10540/dimensions.htm#i1023744
By using 'todate' function i can able to do it. But im having a doubt in setting a chronological key. Assume that suppose if im calculating year to date for my Measure column 'Dollars'
ill be taking the following syntax in the expression builder like
todate(dollars, year), but before doing that i need to set an chronological key in the time dimension hierarchy level.
Since im having the following time dimension levels
year
half
quarter
month
week
day
Whether i need to set a chronological key for all the levels, or i need to set only for the lowest level 'day'. For which level i need to set chronological key inorder to get correct results.
Thanks
Brgds,
GTA

Also,You can also set it for all levels except the Grand Total Level to get good performance...so that each time it doesn't goto lowest level even if its not required.
Setting Chronological Keys for Each Level
Designate a chronological key for every level of each dimension hierarchy. This key must meet the requirements of being sequential (the members have a natural order), cardinal (all members are spaced the same distance apart at a given level, such as day or month), and complete (no members missing).
The Oracle BI Server uses the chronological key to create mathematically correct time series predictions, such as Jan + 2 months = Mar. You should set a chronological key for every level (except for the Grand Total level) so that you can perform time series operations on all levels with good performance. This enables you to use an AGO, TODATE, or PERIODROLLING function for any level of any time dimension hierarchy, such as fiscal month ago, calendar year ago, and day ago.
Theoretically, time series functions operate correctly if only the bottom level key in the Logical Dimension is chronological. In practice, however, this causes performance problems because it forces the physical query to use the lowest grain, causing joins of orders of magnitude more rows (for example, 365 times more rows for a "year ago" joining at the "day" grain). It also means higher-level aggregate tables are never selected by the query planner when using the time series functions, which again significantly slows the query.
Hope this helps

Similar Messages

  • OBIEE - use of chronological Key

    Hi all,
    can any body explain in detail what is the use of chronological key and why we need to enable the
    time dimension at time of creating a time dimension hierarchy.
    Thanks
    bharath

    HI Bharth,
    What is the chronological key use?
    A. Typically time dimension differs from all other dimensions in one way and that is,
    all other dimensions dont care about the order of the values in it.
    e.g. in region_dim the values are north, south, west and east. Here nobody wants to see whether north comes first or south comes first. i.e. no order is required here.
    in the case of time dimension there needs to be a particular order for all the values present in it.
    e.g. 2010 is earliest and 2004 is older. Dec-10 is earliest and jan-10 is older. i.e. the values in the time dimensiion needs to follow a particular sorting order. So the chronological key is the key which tells the obiee that the data is incrementing based on the chronological column.
    Here you may get another doubt. i.e. you are having columns like year, half_year, quarter, month, week and day. Here which one should become the chronolgocial key?
    Analyse it yourself. If you kept year as chro key then obiee will be confused whether jan-10 is earliest or feb-10 is earliest. Because it knows only that 2010 is earliest and 2009 is older.
    So always it should be the lowest level oif the dimension which needs to be the chronological key. In the abouve case it should be date.
    You can select either date or date_id(this could be a sequence generator values).
    2. what is the use time dimension?
    A.If all you want is to achieve drills from Month, Quarter and Year then treat it as a normal dimension and create the levels. But if you want to do calculations like YTD, QTD and MTD then you need to create a time dimension.
    http://oraclebizint.wordpress.com/2007/11/05/oracle-bi-ee-101332-understanding-todate-and-ago-achieving-ytd-qtd-and-mtd/
    Refer the above link for time dimension.
    Hope this help's
    Thanks,
    Satya

  • Primary Key and Chronological Key for Time Dimension

    Could someone please shed light whether it's better to use normal PK or Calendar Date (which is a chronological key on the most detailed level). I tried both and haven't noticed any difference. But my understanding is that I still need to have the PK key on the most detailed level in time hierarchy.
    Thanks

    Matt,
    the PK of the Time Dimension is a regular sequence numeric key. I have it defined as a logical PK for the dimension. However, I guess I was talking about hierarchy key. I tested it either way and the query time is the same. So I guess it doesn't really matter.
    --------Year
    Year (chronological key and primary key)
    ------------------Quarter
    Quarter (key)
    Quarter+Year (primary key, chronological key)
    ---------------------------------Day Detail
    PK (key)
    Date (primary key , chronological key)
    I hope it makes sense.

  • What is use of chronological key

    hi all
    when i was trying to perform Time series functions ..why we have to select the chronological key..?
    i have created time dimension..and i have created year,month,week,day...levels in year level i have added calendar_yaer and
    calendar_year_id,....and i defined two columns as key values.... and calendar_year for drill down...
    in that if i use calendar_year as chronological key what would be the result...
    if i use caleendar_year_id as chronological key what would be the result....
    i tried it and both are giving same result...
    i don't under stand why we have to select the chronological key???
    please any one tel me about it
    Thanks

    Typically time dimension differs from all other dimensions in one way and that is,
    all other dimensions dont care about the order of the values in it.
    e.g. in region_dim the values are north, south, west and east. Here nobody wants to see whether north comes first or south comes first. i.e. no order is required here.
    in the case of time dimension there needs to be a particular order for all the values present in it.
    e.g. 2010 is earliest and 2004 is older. Dec-10 is earliest and jan-10 is older. i.e. the values in the time dimensiion needs to follow a particular sorting order. So the chronological key is the key which tells the obiee that the data is incrementing based on the chronological column.
    Here you may get another doubt. i.e. you are having columns like year, half_year, quarter, month, week and day. Here which one should become the chronolgocial key?
    Analyse it yourself. If you kept year as chro key then obiee will be confused whether jan-10 is earliest or feb-10 is earliest. Because it knows only that 2010 is earliest and 2009 is older.
    So always it should be the lowest level oif the dimension which needs to be the chronological key. In the abouve case it should be date.
    You can select either date or date_id(this could be a sequence generator values).
    Hope you understand this.

  • Time dimension and chronological key

    HI ALL
    I WORK ON OBIEE 11G REPORTS
    WHAT IS THE EXACT USE OF TIME CHECK BOX AND CHRONOLOGICAL KEY??
    AND HOW CAN I USE IT
    ANY HELP ??

    Hi,
    What is the chronological key use?
    A. Typically time dimension differs from all other dimensions in one way and that is,
    all other dimensions dont care about the order of the values in it.
    e.g. in region_dim the values are north, south, west and east. Here nobody wants to see whether north comes first or south comes first. i.e. no order is required here.
    in the case of time dimension there needs to be a particular order for all the values present in it.
    e.g. 2010 is earliest and 2004 is older. Dec-10 is earliest and jan-10 is older. i.e. the values in the time dimensiion needs to follow a particular sorting order. So the chronological key is the key which tells the obiee that the data is incrementing based on the chronological column.
    Here you may get another doubt. i.e. you are having columns like year, half_year, quarter, month, week and day. Here which one should become the chronolgocial key?
    Analyse it yourself. If you kept year as chro key then obiee will be confused whether jan-10 is earliest or feb-10 is earliest. Because it knows only that 2010 is earliest and 2009 is older.
    So always it should be the lowest level oif the dimension which needs to be the chronological key. In the abouve case it should be date.
    You can select either date or date_id(this could be a sequence generator values).
    2. what is the use time dimension?
    A.If all you want is to achieve drills from Month, Quarter and Year then treat it as a normal dimension and create the levels. But if you want to do calculations like YTD, QTD and MTD then you need to create a time dimension.
    http://oraclebizint.wordpress.com/2007/11/05/oracle-bi-ee-101332-understanding-todate-and-ago-achieving-ytd-qtd-and-mtd/
    Refer the above link for time dimension.
    Award points it is useful.
    Thanks
    satya
    Edited by: Satya Ranki Reddy on May 2, 2012 12:29 AM

  • Chronological key and hierarchy

    Hi Team,
    I have few questions on OBIEE can any body reply please
    Is it possible to create two hierarchy for one dimension table...?
    Can we create one hierarchy for two dimensional table..?
    why we have to enable the cronological key for time series functions..?
    Thanks in advance,

    799666 wrote:
    Is it possible to create two hierarchy for one dimension table...?Yes. You can create multiple hierarchies in one dimension. You can even share parent/child level in across multiple hierarchies. For example, you can create 1. Year - Month - Day and 2. Year - Quarter - Month - Week - Day. Here Day is shared leaf level.
    799666 wrote:
    Can we create one hierarchy for two dimensional table..?I guess not. A dimension can based on only one logical dimension table.
    799666 wrote:
    why we have to enable the cronological key for time series functions..?Chornological key is to let BI server know which columns can be sorted in a Chronological order. These columns need not restricted to date columns, but can be numbers or even varchars. Examples would be Year (like 2006, 2007, 2008…) or Year-Qtr (like 2006-Q1, 2006-Q2 …). These keys are used by BI server to perform Time Series function such as AGO and TODATE.

  • URGENT: Issue with hierarchy level keys and report drill down

    Hi,
    BASIC STRUCTURE:
    I have created a subject area with 3 facts (FACT_A, FACT_B, FACT_C) and 4 dimesnions (TIME_DIM,DIM_2,DIM_3,DIM_4). Each fact table also has additional aggregate tables aggregated along levels of the time dimension. Also our timw dimension has aggregated dimension tables like TIME_DIM_WEEK, TIME_DIM_MONTH, TIME_DIM_QUARTER and TIME_DIm_YEAR.
    GOAL:
    All 3 facts have the same measures M_1 and M_2 in them but may not have data for the same dimension values selected.
    For example
    For month JAN 2000 FACT_A.M1=100$ and no data exists for JAN 2000 in FACT_B and FACT_C. Then in the report
    for JAN2000 it should show FACT_A.M1= $100, FACT_B.M1 = 0 and FACT_C.M1 =0. In this case I should be able to drill down to the lowest level.
    ISSUE:
    The time dimension TIME_DIM has the following levels - Total -> Year -> Quarter -> Month -> Week -> Day
    However I am having an issue with drill down in the reports whenever I pull metrics from more than 1 fact at a time. I have defined the level keys but not sure if I need to do anything in addition since I am using aggregates.
    I have to fix this issue quickly. Please help me.

    Alastair,
    All the fact tables have aggregated facts as sources.
    I have checked the levels set for each of the sources to the time dimesnion table in BMM and they look okay. So the Time dim table in BMM has 4 source tables
    Time_Day (level set to day, table key is "day"),
    Time_month (level set to month, table key is "Fiscal_Month_Code"),
    Time_Quarter(level set to quarter, table key is "Fiscal_Quarter_Code") and
    Time_Year(level set to year, table key is :Fiscal_Year_Code").
    Note: No time week aggregate added as logical source.
    Again the time dim hierarchy based off of this table has levels: Total -> Year ->quarter -> Month -> week -> day
    The levels keys set for each level are
    Year -> Primary key is Year_Name (YYYY)(Checked as chronological key) and another key is Year_Num (YYYY)(Checked as chronological key)
    Quarter->Primary Key is Quarter_Name (YYYY Qn), another key is Quarter_Number (Format n where n can assum values 1,2,3,4). Both keys are set as chronological keys
    Month -> Primary key is Month_Name (MON YYYY), another key is Month_Num (Format n where n can assume values from 1 to 12) Both keys are set as chronological keys
    Week -> Primary Key is week name (YYYY Wk nn, where nn can have values from 1 to 53), another key is week num (nn, where nn can have values from 1 to 53)
    Day -> primary key set to day (date format)
    Issue1: When I try to drill to lower levels it throws out an error saying report cannot find any data because filters may be too restrictive even though I see data at higher level
    For ex: If I drill down to Year: 2010 and Qtr: 2010 Q2 and M1:$100 when I click on Qtr to drll to month level it throws me the error
    Issue2: when I add year and qtr colums to the report I see data as below which is incorrect
    Year_Name Qtr_Name data:FACTA_M1 Data: FactB_M1
    2009 2009 Q1 $10 $5
    2009 2009 Q2 $20 $80
    2009 2009 Q3 $20
    2009 2009 Q4 $30
    2010 2010 Q1 $100
    2010 Q2 $101
    2010 Q3 $102 $230
    2010 Q4 $103
    2011 Q1 $10
    In the above example year_name is not showing up for 2010 Q2 and after. However if I change the primary key for level 'Quarter' by having key consist of year name and quarter name instead of just quarter name the issue doesnt occur and drill down works great. The only issue is when I drill from qtr it first shows year name and quarter name instead of showing the next level which would be month name.
    Sorry about the long message but I thought you might notice something in how I have set up the keys.
    Thanks

  • Chronolgical Key

    Dear All ,
    Cant we prepare the time dimenstion with out having the Chronological key .What is the difference  between the chronological key and logical ley in the time diemnstion.
    Please share these details if any one know about this .
    Thanks

    Hi,
    Typically time dimension differs from all other dimensions in one way and that is, all other dimensions don’t care about the order of the values in it.
    e.g.
    In region dim the values are north, south, west and east. Here nobody wants to see whether north comes first or south comes first. i.e. no order is required here.
    In the case of time dimension there needs to be a particular order for all the values present in it.
      e.g. 2010 is earliest and 2004 is older. Dec-10 is earliest and jan-10 is older. i.e. the values in the time dimension needs to follow a particular sorting order. So the chronological key is the key which tells the obiee that the data is incrementing based on the chronological column.                         
    Here you may get another doubt. i.e. you are having columns like year, half_year, quarter, month, week and day. Here which one should become the chronolgocial key?
    Analyze it yourself. If you kept year as chro key then obiee will be confused whether jan-10 is earliest or feb-10 is earliest. Because it knows only that 2010 is earliest and 2009 is older.                                   
       So always it should be the lowest level of the dimension which needs to be the chronological key. In the above case it should be date.
    Mark If Helpful/correct.
    Thanks.

  • [nQSError: 59014] The  requested column does not exist in this table.

    Hi
    As you know this error has been discussed in other threads.. the difference in mine is that not only the time series measures but all the columns are giving me the error...none of the columns are being displayed... The rpd has no consistency errors. can anyone suggest what may be going on?
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59014] The requested column does not exist in this table. (HY000)
    SQL Issued: SELECT column1 saw_0 FROM Paint3 ORDER BY saw_0
    Thank you
    mm58

    I guess you have the column in RPD, and it is available for queries.
    are you using any time measures? if so check you chronological keys.

  • Comparing successive years in a report

    Hello!
    I've tried to find answers to my dilemma, but so far either I have come up short, the instructions were not quite what I was looking for... or I just didn't understand the instructions.
    My goal is to create a report that looks a bit like this:
    2004 % 2005 % 2006 % 2007 %
    100 NA 105 5% 125 19% 110 -12%
    (Hard to edit it to look right...)
    Anyways. I want to first list the actual values of a given field and then compare the difference to last years value and convert it to a percentage. The problem is that I just don't know how to get the previous year. I can manage to get the years just fine in a pivot table. It's pretty standard really, but the comparison of the two successive years eludes me.
    I have a self created time dimension, which has unique chronological keys for year, month and days.
    The "best thing so far" I did in my opinion was, that I added a new logical column called "edkont", which was supposed to be the sum of the previous years field. I then proceeded to edit the aggregation rule and used the AGO-function like this:
    AGO(Dw_tgt.Kontakti.Edkont, Dw_tgt.AikaDim.Vuosi, 1)
    Converted to english (for clarity) this should look something like:
    AGO(Dw_tgt.Contact.PrevCont, Dw_tgt.TimeDim.Year, 1)
    Now when I put this in the Expression builder, it gives me an error "You must use standard aggregate functions."
    Fair enough, I try to use this:
    AGO(SUM(Dw_tgt.Kontakti.Edkont), Dw_tgt.AikaDim.Vuosi, 1)
    Same error. I even tried the following:
    SUM(AGO(Dw_tgt.Kontakti.Edkont, Dw_tgt.AikaDim.Vuosi, 1))
    This time it just says Invalid Expression.
    So that's my problem. I'd really appreciate any help on the topic.
    Regards,
    Erik

    Okay. I resolved a part of the issue.
    The problem was with the time dimension. I had set up the chronological keys badly.
    Now however I'm faced with a new problem. I've created some new logical columns with the AGO-function and the percentage column also. And they seem to work just fine, yay!! Except for one thing.
    The problem however becomes that when I try to put the percentage columns to a pivot table as a measure, it won't load.
    For example, I can put up the Year Ago Contacts up as a measure column and that's fine, but when I try to put the "change from last year as a percentage" -column... it stops the query when it tries to retrieve the pivot table results and gives the following error message:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 942, message: ORA-00942: table or view does not exist at OCI call OCIStmtExecute. [nQSError: 17010] SQL statement preparation failed. (HY000)
    SQL Issued: SELECT Aika.Vuosi saw_0, Palveluryhma."Palveluryhmä" saw_1, Kontakti."Kontakti lkm" saw_2, Kontakti."Viime vuoden kont sum" saw_3, Kontakti."Viime vuoden kont %" saw_4, Kontakti."Asiakas lkm" saw_5, Palveluryhma."Palveluryhmä nro" saw_6, AGGREGATE(saw_4 BY saw_0), AGGREGATE(saw_5 BY saw_0) FROM Pegasos WHERE (Palveluryhma."Palveluryhmä nro" BETWEEN 1 AND 10) AND (Aika.Vuosi > 2004) AND (Aika.Vuosi < 2009) ORDER BY saw_0, saw_1, saw_6
    I tried to set them up in other pivot tables too and sometimes they work, sometimes they don't. But mostly they just give me the similar error message. Any ideas anyone?
    Regards,
    Erik

  • AGO function is not returning value in OBIEE 11g

    I have 2 tables FIN_MASTER AND FIN_TRANS. 
    FIN_MASTER  is having the following fields org_code, type_code, vr_no, vr_Date, pay_to .FIN_TRANS is having the columns org_code, type_code, vr_no, acct_code. debit, credit.
    PK of FIN_MASTER is org_code, type_code, vr_no
    PK of FIN_TRANS is org_code, type_code, vr_no, acct_code
    I have imported these two tables in to physical layer and created join between these two tables on the following keys. org_code, type_code, vr_no. Then i dragged these two to BMM layer. Now i created 3 new logical columns in DIM_FIN_MASTER as year, quarter, month. These 3 columns are created using the functions year(vr_date), month(vr_date), quarter_of_year(vr_date). Then i created a dimension heirarchy called TIME( structure type is TIME) from this DIM_FIN_MASTER. and set chronological key on month level. Then I applied the AGO function on debit column with month level. After that, repository is uploaded and BI server is restarted. Now amount is not displaying in AGO function column in analytics. That column is appearing as empty. 
    Please advise me.

    Here is the dirty fix, I'm heading off to sleep.
    If the function CurrentAdId doesn't return a number, then
    this will ensure it returns 0 (prevents your error, may not display
    an ad):
    <CFFUNCTION
    NAME="CurrentAdId"
    ACCESS="Private"
    RETURNTYPE="numeric"
    HINT="For internal use. Returns the Id of the current ad in
    rotation.">
    <!--- Return the adId from the current row of the
    GetAdIds query --->
    <cfset var returnVal = ListGetAt(THIS.AdList,
    THIS.CurrentListPos)>
    <cfif NOT IsNumeric(returnVal)>
    <cfset returnVal = 0>
    </cfif>
    <CFRETURN returnVal>
    </CFFUNCTION>

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

  • 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

  • Does ago function works at day level in obiee 11g

    Hi,
    I want to know does AGO function works well at day level in Obiee 11.1.1.6 .
    Edited by: user12635494 on May 8, 2012 2:58 AM

    Yes, it will work. Just double click the Time level (say year/month/week), mark it as a chronological key (on keys tab). Use that in your AGO function

  • Essbase as datasource in OBIEE 11G

    Hi Experts,
    We have OBIEE subject area which has Essbase cube as a data source. We have a time dimension in essbase, same we have imported in rpd and defined the chronological key as well.
    However we are not able to use between function in the time dimension at OBIEE level.
    Can you please help me in this issue.
    Thanks,
    Raja Mohamed

    Expert,
    Can you please share your idea's on the above requirement.
    Thanks,
    Raja Mohamed

Maybe you are looking for

  • How can I open PDF files in Firefox? Nothing works no matter what I try. Other browsers open them fine.

    When trying to open PDF file, screen just stays white and no content is seen. Status says "Done". PDF files will open with no problem in internet explorer, safari, and chrome. Nothing in Firefox which is my preferred browser.

  • What can I do about screwed up transaction?

    I was talking for a lengthy amount of time with a floor cashier about the Transformer Prime and it's compatible docking station/keyboard. She retrieved both the tablet and the docking station and I purchased both. I took them both out of the bag and

  • How to assign  PRT in routing

    hi,    please tell me how to assign  PRT in routing.         Thanks          Parag

  • Salesforce integration with SAP using XI

    Hi Experts, We are evaluating to integrate salesforce with SAP. We can understand more about salesforce through salesforce.com. Can we use XI/PI to integrate SAP with salesforce. Appreciate your help!! Regards, Suraj Kumar

  • Role Assignment Product Functionality

    I am looking for any out of the box functionality to auto assign roles to users in IdM. We could create roles using bulk upload, however I am not sure how we can assign the roles to the existing users in IdM and push that information out to the resou