Intra Day Time Dimension

Hi has anyone had any success implementing a Time Dimension which goes down to HOURS granularity?
So I want Year-Month-Day-Hour.
The only way I think I can achieve this is by creating two physical tables, one containing the DATES (DD-MON-YYYY) and the other containing the TIMES (ie. 24 records 1 for each hour).
I can't find a suitable method for getting them into a single OBIEE hierarchy as my requirement also has to OUTER JOIN so that when there is no FACT DETAIL record I still get the Dates/Times displayed.
If I create two seperate Business Model Dimension Tables (and Dimensions) and have a preferred drill path I am able to see the Outer Join Dates, but as soon as I drill into the detail (Hour) I only see a single Hour record (not 24).
Thanks in advance.

Ok cardinal rule broken, replying to my own thread.
I do have a way of doing this, however I haven't volume tested it!
1) Create 2 Phyiscal Tables DATES and TIMES.
2) Create a View on Top called DATE_TIMES_VW which SELECTS date_col, time_col FROM DATES,TIMES and creates a Cartesian Product.
3) Create Physical Model and joins from DATE_TIMES_VW to FACT
4) Create Business Model and complex join (left outer) from Dimension Tab to Fact Tab.
5) Create Dimension from for full hierarchy.
Step 2) is effectively the same as creating one big Timestamp table on the fly, without having to store a large volume of data.
I'm hoping there is a better OBIEE tool method for achieving the same, which would be more scaleable than this one.
Anybody got any suggestions?

Similar Messages

  • How to create a working day/holiday attribute in Time Dimension with OWB ?

    Hello everybody,
    I am trying with no success to create a Time Dimension (with the wizard it would be easier...) with a working day or holiday attribute (0 or 1) to be able to calculate measures only on working time !!! I am totally sure it's possible, obviously, but I found nothing on forums... Could you help me ??
    I use OWB 11g, I need all fiscal year/quarter/month/week and all calendar year/quarter/month/week attributes so without any wizard it would be quite impossible... thank you for your help !
    NB: of course I know how to define if a day is a working one or not, but I currently can't add any columns in Time dim created with wizard...
    Francois
    Edited by: [email protected] on Jun 15, 2009 8:24 AM

    Hi,
    First of all, thanks everyone for your help.
    I did several tests this morning.
    First of all, i've tried with time_from = 000000 and time_to = 235959 (23:59:59 CET) and the activity has been created with Time From = 04:00:00 and Time To = 03:59:59
    Strange no ??
    I've also tried with 230000 for time from and time to but the activity has been created with Time From = 03:00:00 and Time to = 03:00:00
    I cannot understand the logic behind....
    Thanks,
    Johnny Baillargeaux

  • Time Dimension Working Days

    Hi i have a calendar table
    Has Year , Month, Week, Date and a flag for a working day or not..
    Is there anyway i can use this working day flag in my Time Dimension Hierarchy so that under Date i can have another drill Working Days ...
    (Non working day is where flag = 'Y')
    Year - Month - Week - Day - Working Day
    or Even
    Year - Month - Week - Working Day
    Cheers
    Bibi

    Year - Month - Week - Working Day
    You could acheive this by putting a filter on your logical table source to exclude non-working days. Or maybe just remove the non working days from the source table
    The trouble with trying to put an extra level in beneath Day is that your primary key, I.e. your lowest level for the date dimension in this case is Day. Working Days won't roll up into Days as they are at the same level.

  • Date and Time dimensions

    After reading the following article, I have decided to use SSAS dimension wizard for generating our Date dimension, which creates a DATETIME PK.
    http://www.made2mentor.com/2011/05/date-vs-integer-datatypes-as-primary-key-for-date-dimensions/ 
    I have also created a separate Time dimension as granularity of an hour is required.
    The Time dimension is very simple and only contains a surrogate key (INTEGER) and actual time in hours (VARCHAR).
    DimTime(TimeKey, TimeInHours)
    Our Fact table will now have a link to both the Date and Time dimension using the PK's.
    Our analysis is required by hour, day, week, month and year.
    My query is; Will this current structure cause any problems when creating MDX scripts to analyse our data (i.e. drilldown and rollup queries) Hour - Day - Week - Month - Year

    Hi Darren,
    According to your description, there a day and hour granularity in your fact table, so you want to a hierarchy like Hour - Day - Week - Month - Year, right?
    In your scenario, you created a time table that only contains a surrogate key (INTEGER) and actual time in hours (VARCHAR). We cannot create a Hour - Day - Week - Month - Year hierarchy without ant relationship between date table and time table. As per my understanding,
    you need create a foreigner key in time table, and join those table in the data source view, then you can create such a hierarchy. Here are some links about create time dimension, please see:
    http://www.ssas-info.com/analysis-services-articles/59-time-dimension/1224-date-and-time-dimensions-template
    http://www.codeproject.com/Articles/25852/Creating-Time-Dimension-in-Microsoft-Analysis-Serv
    Regards,
    Charlie Liao
    TechNet Community Support

  • Getting error while deploying a cube with time dimension

    Hi,
    I created a time dimension using WB with Cal yr and day heirarchy. Designed a cube using both and tried to deploy it. I got the following error.
    Appreciate your help..
    Name
    Type
    Status
    Log
    TIME_CUB1
    Cube
    Success
    VLD-0001: Validation completed successfully.
    TIME_CUB1
    Description : Runtime User : OWB_REP_OWNER Started : 2006-12-13 15:37:17.0
    Name
    Action
    Status
    Log
    TIME_CUB1
    Create
    Error
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "OLAPSYS.CWM2_OLAP_CUBE", line 394
    ORA-06512: at line 5

    Hi,
    I'm having problems to deploy this cube (this was the origin of my problem), when I change it to "Deploy Data Object Only", It don't generate code and the cube is not created. This is what I get:
    -- Product : Oracle Warehouse Builder
    -- Generator Version : 11.1.0.6.0
    -- Created Date : Wed May 12 08:41:59 CST 2010
    -- Modified Date : Wed May 12 08:41:59 CST 2010
    -- Created By : edennis
    -- Modified By : edennis
    -- Generated Object Type : TABLE
    -- Generated Object Name : FACT_TMP_SALDOS
    -- Comments :
    -- Copyright © 2000, 2007, Oracle. All rights reserved.
    WHENEVER SQLERROR EXIT FAILURE;
    Ideas?
    Thanks for your help!

  • ERROR while loading time dimension table

    i need to load time dimension from csv to oracle table, while loading i got the error.
    my source data type is date and target is date.
    ODI-1226: Step sample day fails after 1 attempt(s).
    ODI-1240: Flow sample day fails while performing a Loading operation. This flow loads target table W_SAMPLE_DATE.
    ODI-1228: Task SrcSet0 (Loading) fails on the target ORACLE connection Target_Oracle.
    Caused By: java.sql.SQLException: ORA-30088: datetime/interval precision is out of range
    while creating c$ table
    create table WORKSCHEMA.C$_0W_SAMPLE_DATE
         C3_ROW_WID     NUMBER(10) NULL,
         C1_CALENDAR_DATE     TIMESTAMP() NULL,
         C2_DAY_DT     TIMESTAMP() NULL
    )

    check the source data and use the correct function eg TO_DATE(SRC.DATE, 'MM?DD/YYYY') use NVL if required.

  • Creating Time dimension in BW data model. - like seen in logical data model

    Hello all,
    I have been struggling with this thing and I am looking for some help from anyone on this forum.
    We are trying to create a logical data model of our bw system. We are going live next month with Student module for universities. We have multiple Infocubes and DSO and since there is so much crossing over in between them most of the reporting is done on infosets.
    One of the thing we were thinking; is it possible to create something like a common time dimension table for every infoprovider. Basically when we are providing the reports to the end user can we give them a drop down menu which gives a time frame for reporting rather than selecting.
    Example: Like can we create something which looks in the drop down like current month data, last months data, three months ago, four months ago, five months ago, one year ago, two years ago. Can we make like these data slices in our cube and deliver it to the end user?
    We have in our cube a few date infoobjects, like receipt date, decision date, cancellation date and like wise.
    Please let me know if any one has done any similar thing, it will be very helpful.
    Thank you so much in advance.

    if you add your common time dimension to your data model, first identify for each infoprovider the time against which 'current month' and other frames should be applied and map them to your dimension.
    just a question... are you not using time dimension in cubes ? ideally this should be your time dimension llinking all.
    when you use time dimension which uses 'current month' , 'current year' , you will have to address their historisation as well. (because current month now will not be so current after 2 months).
    so in data load procedure every day these values need to change (meaning drop and reload).
    and routines to populate these values based on reporting date.
    Edited by: hemant vyas on May 6, 2009 1:56 PM

  • Time Dimensions and Logical dimension "..that not join to any fact source"

    Hi Guys,
    I get the following error on the ANSWERS front end:
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 14026] Unable to navigate requested expression: ToDate(SPECIFICG:[DAggr(RFACT.SPECIFIC [ ] by [ EFact.NO [ ] , Year.ID [ ] ] )], [Level Years]). Please fix the metadata consistency warnings. (HY000)
    SQL Issued: SELECT EFact.NO saw_0, Fact.YTD_E saw_1, EFact.MTD_E saw_2 FROM "E#1" ORDER BY saw_0
    The consistency manager shows no errors and the tables are physically joined up via foreign key i.e.
    fact year monthday
    data - date - date
    year month
    day
    [see screen print|www.metallon.org/test/foreign.jpg]
    I would be thankfull for any suggestions!

    Hello wildmight.
    I followed this tutorial:
    http://www.rittmanmead.com/2007/04/30/obi-ee-time-dimensions-and-time-series-calculations/
    Why should this layout not work?
    Do you have a better idea?
    When you say "it has to be one table" do you mean
    that quartermonthday and year need to be ONE?
    I just rememered that Oracle Hyperion Planning has to have
    time and months seperated.
    Hello mod100.
    What do you mean hierachy over the time dimension?
    Is it not obvious from the screen print that I have a hierachy
    i.e. yeartotal - years and
    quarters - months- days.
    I read that by default the LEVELS are set to the lowerst. so thats fine. I set them by myself to the lowest as well but the ERROR is still the same.
    no, I have not set the levels as in
    http://obiee-tips.blogspot.com/2009/10/logical-levels.html

  • How do I include 'Time' in a time dimension?

    I have a requirement where I need to classify the data in the warehouse based on date and time (example : between 10 am to 11 am, 3.00 pm to 6.00 pm like that).
    The time dimension created by OWB contains only the date part and when I load the data I use the expression TO_NUMBER(TO_CHAR(input,'YYYYMMDD')) to populate the date.
    But I would like to include the time also in the expression like 'YYYYMMDDHHMISS'. But unfortunately the OWB generated time dimension does not have data in this format.
    How do I do that? Any pointers?
    thanks in advance

    You rather create 2 dimensions: Time and TimeOfDay. The first one will have all the date values with it characteristics. The second one will hold the all the possible HH24:MI:SS values with it's characteristics, for example which hour and which part of the day it is (Morning, Afternoon, Evening, Midnight or whether it's lunch time or not), depending on the requirements.
    If you try to combine them both into 1 dimension you will get 86400 dimension records every day. Your dimension table will probably will become bigger than the fact tables.

  • Setting date ranges when Time dimension includes Period instead of Month

    I hope I am missing something simple here - we are on OBIEE 10g, and I have a Time dimension defined as follows:
    Year > Quarter > Period > Week > Day
    A "period" is not equivalent to a calendar month - a period can include either 4 or 5 weeks, and always starts on a Sunday. Fiscal years start on the first Sunday in July.
    I need to create a graph that shows Total Sales for the previous 13 periods (not including the current period). This needs to be a rolling 13 periods based on the current period.
    Since this is Period and not Month, I am unable to use the Month(CURRENT_DATE) functionality. Do I need to have repository variables defined for the current period? Is there another way to calculate what the current Period in my Time dimension is in a filter SQL?
    So I want to do something like "Where period between [current_period - 14] and [current_period -1] as the filter for Period.
    Thanks in advance for any assistance.
    Rhonda

    Sorry about that...
    Periods are 1-12 (numeric).
    Period 4 of FY 2012 for example has a begin date of 10/02/2011 and end date of 11/05/2011.
    Right now we do not have unique combos created (like 4/2012, 5/2012, etc) so to get a unique value I have to specify both a year and period.
    So on my dashboard today I will need to create a graph that covers FY2011 periods 6-12 and FY2012 periods 1-6 (translates to 12/5/2010 - 12/31/2011).
    I haven't created repository variables before, but as the Period parameter will be used often I guess I will find out how.
    Thanks in advance for the help.
    Rhonda

  • Time Dimension and database 8.1.7.3

    Hi,
    I imported owb_bp project that is located in: <OWB install directory>\owb\misc\time directory into my OWB. Then i copied the standard time dimension and mapping from that project to my project. I changed the necesary things(removed day level, did reconcile inbound on a dimension in a mapping with "match by bound name" strategy) in the dimension and mapping and when i tried to deploy the mapping i got an error:
    VLD-3268: A mapping can be deployed only if the database version is Oracle 9.2 or higher.
    Is it true that you need Oracle 9.2 or higher for deploying this kind of time dimension. If that is so, how can i create a time dimension that is going to work with Oracle 8.1.7.3
    Thx

    Thanks for your answer Igor.
    The problem is that we cant upgrade our database to 9.2, becouse our customers dont use it, so we are stuck with 8.1.7.3, which by the looks of things doesnt support a lot of things in OWB 9.04.
    So I would really appreciate it if someone could give me some pointers as to how to generate data for time dimension, thats going to work on database 8.1.7.3.
    Thanks you all for your time.

  • Time Dimension not loaded correctly when imported to 10.2.0.3 database

    Dear All,
    I created a Time dimension using the wizard that contian both Normal and Fiscal hierarchies on a repository created on 10.2.0.1 DBMS
    I exported the poject in mdl and imported it in repository on 10.2.0.3 DBMS ... the Time dimension in the new poject wasn't loaded correctly
    the Rows of the Day level contain information about the upper fiscal levels' columns while the columns of the normal hierarchy containd null
    Can you help me to solve this problem ???? !!!!!...
    Best of regards,
    Shaimaa

    Your quote comes from the OBIEE Plug-in user guide (http://www.oracle.com/technetwork/database/options/olap/awm-plugin-user-guide-for-obiee10g-303148.pdf)
    So, yes, you can only use this if you are using database 11.1.0.7 or later and if you are creating an 11g style AW.
    You can map 10g style AWs to OBIEE, but it is a manual and complex task. You would need to start by generating views using (for example) the      OLAP View Generator (10.2.0.3) available on http://www.oracle.com/technetwork/database/options/olap/olap-downloads-098860.html . After this you would need to manually create the mapping metadata in OBIEE.

  • Setting up a TIME dimension in OBIEE

    Hi,
    We have an Oracle OLAP Cube built using AWM v10.2.0.3A. We have also created a relational view for this cube (using the OLAP view generator) and are now using this view as a data source in OBIEE v.10.1.3.3.2.
    As part of defining the Time dimension in the Business Model Layer of OBIEE repository, we have done all the relevant mappings to the TIME dimension as in the AWM Cube and have marked the dimension as type 'TIME'. Also, for the TIME logical table, we have defined each level (All Years, Year, Month, Quarter, and Day) to have its own chronological key with unique values at all levels. The primary key for our TIME table in the business layer is 'Day'. This level 'Day' is mapped to TIME_DAY_LVLDSC column of the relational view created over the AWM cube. The data type for this column is "VARCHAR". (We basically picked up all the 'Description' columns while creating the view over the cube!)
    With this background of the TIME dimension structure, here is the problem scenario:
    When we try to create a report with one AGO and one TODATE function defined over the "Day" level (both are defined as logical columns), then the report takes forever to run and never comes back with any data/error even for a handful of rows. We are seeking the forum's help on the following:
    1. Is it necessary for the primary key 'Day' of the TIME logical table to be of type DATE? If yes, does this mean that we have to change the column data type in our cube (or select a 'date' type column to be a part of the view and then redo the mapping in the repository) or do we just make a change to the column data type in the physical layer of OBIEE repository?
    2. Going by the description above, is there something missing (other than point 1. above) in the setup of the TIME dimension in OBIEE so as to make it usable for Time Series type of calculations/functions?
    Any help is much appreciated.
    Thanks and Regards,
    Piyush

    Hi Wildmight,
    Thanks a lot for your kind inputs.
    1. No, VARCHAR is fine. You should have also defined unique time keys in your time dimension (Quarter Year, Month Year) and check box 'time dimension' in the properties of your time dimension.
    -->> The Time dimension that we have defined in the Business layer of the repository is mapped to the respective level columns in the AWM cube and has already got unique members at each level. We are using the "Description (LVLDSC)" columns for each level and have defined the "Description" column to have unique values at each level. A sample data set looks like :
    Year:
    2007
    2008
    Quarter:
    QUARTER1 2007
    QUARTER2 2007
    QUARTER1 2008
    QUARTER2 2008
    Month:
    JANUARY 2007
    FEBRUARY 2007
    JANUARY 2008
    FEBRUARY 2008
    Day:
    Monday, January 1st 2007
    Tuesday, January 2nd 2007
    So in the above case, do we still need to define a unique key for each level like Quarter Year, Month Quarter, etc.? (Please note that the check box for 'TIME' dimension is checked !)
    2. Is your AGO based on TODATE? or your TODATE based on AGO?
    -->> I am not sure what this really means - however I can tell you that we have created two new logical columns (in the fact table in Business Layer) : one to show the measure as TODATE for Day level, and the other to show the measure as Day Ago.
    So it means that we are trying to create two reports with three columns as below:
    - Day     Measure on Day     Measure Todate (Day)
    - Day     Measure on Day     Measure Day Ago (Day, 1)
    I hope I have been able to clarify the problem scenario with this. Does this setup seem correct to you?
    Many thanks for your help.
    Best Regards,
    Piyush

  • Time Dimension - Additional Attributes..

    Hi
    We are building a Financial Services BI Applications. In one of my Cube, for Time Dimension, i need to add more attributes like
    for Month Level i need the following
    a) End Date of the Month
    b) No of Days in the Month
    at Quarter Level
    a) End Date of the Quarter
    b) No of Days at the Quarter
    and likewise.
    I can do this in AWs using attributes, however in essbase since i have to tag the TIME dimension as DENSE, it is not allowing me to create any attributes. Has somebody solved this problem in the past. Please help.
    Thanks
    bala

    Any more recommendations please..
    I cannot use UDAs as it expects that the consumer of the UDA knows the value set.
    i.e. in Time Dimension assume the leaf is
    200701 (UDA 31)
    I would want something like this
    if provided 200701 then the server should return 31 as the number of days.. However if i use UDA then i can only check (if @UDA(200701) = 31) then
    here it assumes that i know the attribute value before hand which i would not know..
    Please help as we are reaching a critical stage in our project
    Thanks
    bala

  • Discoverer Condition on Time Dimension table

    Hi,
    We have a time dimension table TIME_DIM like this:
    DATE_ID, YEAR, QUARTER, MONTH, WEEK, DAY
    1, 2005, 1, 1, 1, '01-JAN-2005'
    2, 2005, 1, 1, 2, '02-JAN-2005'
    3, 2005, 1, 1, 2, '03-JAN-2005'
    4, 2005, 1, 1, 2, '04-JAN-2005'
    5, 2005, 1, 1, 2, '05-JAN-2005'
    6, 2005, 1, 1, 2, '06-JAN-2005'
    7, 2005, 1, 1, 2, '07-JAN-2005'
    8, 2005, 1, 1, 2, '08-JAN-2005'
    9, 2005, 1, 1, 3, '09-JAN-2005'
    10, 2005, 1, 1, 3, '10-JAN-2005'
    The week starts from a sunday and there are 52 weeks in a year. So, in 2005,
    Week 52 will have all th days starting Dec-18 till Dec-31.
    DATE_ID, YEAR, QUARTER, MONTH, WEEK, DAY
    352, 2005, 4, 12, 52, '18-DEC-2005'
    353, 2005, 4, 12, 52, '19-DEC-2005'
    354, 2005, 4, 12, 52, '20-DEC-2005'
    355, 2005, 4, 12, 52, '21-DEC-2005'
    356, 2005, 4, 12, 52, '22-DEC-2005'
    357, 2005, 4, 12, 52, '23-DEC-2005'
    358, 2005, 4, 12, 52, '24-DEC-2005'
    359, 2005, 4, 12, 52, '25-DEC-2005'
    360, 2005, 4, 12, 52, '26-DEC-2005'
    361, 2005, 4, 12, 52, '27-DEC-2005'
    362, 2005, 4, 12, 52, '28-DEC-2005'
    363, 2005, 4, 12, 52, '29-DEC-2005'
    364, 2005, 4, 12, 52, '30-DEC-2005'
    365, 2005, 4, 12, 52, '31-DEC-2005'
    The condition we would like to have defined is as follows:
    Last week(Or Previous Week)
    If today is Jan-10, 2005. Current week number is 3 and hence Previous week is 2. So, i should get a condition as follows:
    DATE_ID in (Select Date_ID from TIME_DIM where week=(select week - 1 from TIME_DIM where day = sysdate))
    Discoverer does not allow subqueries in conditions. How to implement this?
    Any help will be appreciated.
    The problem is similar to accounting periods that do not correspond to the Gregorian calendar. For gregorian calendar, we can use the date functions to acheive the functionality.
    Regards,
    Ramesh

    The best soultion would probably be to create a database function and register it through Discoverer Administration edition. You can then call the funciton in your condition, to replace the need for a sub-query

Maybe you are looking for