Samp App V207 - joins F10 to time dimensions

Hi everybody,
I just had a look at the BIEE Sample App V207 and noticed that the physical fact table 'F10 Billed Rev' is joined to 3 Time dimensions:
'D01 Time Day Grain'
'D02 Time Month Grain'
'D03 Time Quarter Grain'
What's the idea behind this - performance improvements when doing time series calculations?
Thanks for your input
Regards
Andy

Hi Andy,
Here it is maintaining three different levels so it can be helpful for aggregation tables and maintaining multiple LTS in BMM layer. The main purpose is for performance tuning, the server hits any of this tables based on the time level used in analysis.
For ex: If the analysis is based on month level then the server will hit Month level table.
Please mark if it is helpful/correct.
Revert me for any queries.
thanks,
Tinku

Similar Messages

  • Advice needed: join fact to time dimension with between clause

    Hi All,
    I've got 1 dimension and two fact tables. The 1 dimension could serve as a time dimension.(not specifically marked as this is a time dimension)
    My Tables look like this (simplified)
    Dim1:
    date_pk (unique identifier)
    date
    month
    year
    fact1:
    iid_date (foreign key to date_pk)
    fact1_amount
    Fact2:
    begin_date
    end_date
    fact2_amount
    In the physical layer i have a complex join between fact 1 and dim1 (date_pk = idd_date) and a complex join between fact2 and dim1 (dim1.date between fact2.begin_date and fact2.end_date and dim1.date <= CURRENT_DATE). In the business model i have complex joins between fact1 and dim1 and a complex join between fact2 and dim1 without further specification.
    What I would like to achieve in Answers is that I select a Year and a Month from dim1 and add fact1_amount and fact2_amount to the same report and that the report shows both amounts. I would like some advice on how to set this up. Further more how to add a drill from year to month to date and what should I do when I'm willing to add more facts joined to the same Dim1
    Any Advice is greatly appreciated
    Gilles

    Hello MMA1709,
    You're right, this setup works!
    But...
    When you add an hierarchy and mark it as a time dimension it doesn't work anymore. It gives the following error in the consistency checker:
    [38086] Physical table Dim1 in the time dimenison table source Dim1 is part of a complex join condition
    And that means you cannot use any timebased calculations (AGO and TODATE). When I just create an hierarchy and do not mark it as a time dimension the hierarchy works well.
    Any suggestions?

  • Display all dates between date range (Time Dimension left outer join Fact)

    All,
    I have done some searching around this issue but within all the posts regarding date variables, date prompts and date filtering I haven't seen one exactly answering my issue (maybe they are and I just dont have my head around it correctly yet).
    My report requirement is to allow a user to select a start day and an end day. The report should show all activity between those two days - AND display 0/null on days where there is no activity. That second part is where I am getting hung up.
    The tables in question are:
    TimeDim
    EventFact
    CustomerDim
    My BMM is setup as follows:
    TimeDim left outer join EventFact
    CustomerDim inner join EventFact
    If I run a report selecting DAY from TimeDim and a measure1 from EventFact with day range 1/1/2010 - 12/31/2010 .. I get a record for every day and it looks perfect because of the left outer join between TimeDim and CustomerDim.
    But .. if I add in a field from CustomerDim, select TimeDim.DAY, CustomerDim.CUSTNAME, EventFact.MEASURE1, OBIEE only returns records for the days that have EventFact records.
    This is due to the fact that the TimeDim is still outer joined into EventFact but adding in CustomerDim makes OBIEE setup an inner join between those tables which then causes only data to be returned where EventFact data exists.
    There is a way around this in this simple case and that is to define the relationship between CustomerDim and EventFact as an outer join as well. This will give the desired effect (but an outer join between these two tables is not the true relationship) and as I add additional dimensions and add additional logical sources to a single dimension in the BMM it gets complicated and messy.
    Ive also messed with setting the driving table in the relationship, etc.. but it has not given the desired effect.
    Has anyone ever encountered the need to force display all dates within a specfied range with a fact table that may not have an entry for every date?
    Thanks in advance.
    K
    Edited by: user_K on Apr 27, 2010 11:32 AM

    It worked!!!* Even my time drill downs and date based filtering still work!
    That is awesome. Never would have thought of that intuitively.
    Now, just need a little help understanding how it works. When I run my report and check the logs I can see that two queries are issued:
    Query 1: Joins the fact table to all the associated dimensions. I even changed all the relationships to inner joins (which is what they truly are). And calculates the original measure. If I copy and paste this query into sql developer it runs fine but only returns those rows that joined to the time dimension - which is what was happening before. It is correct but I wanted a record for every time dimension record.
    Query 2: Looks like the following:
    select sum(0)
    from timedim
    where date between <dateprompt1> and <dateprompt2>
    group by month *<--* this is the time dimension level specified in Query 1, so it knows to aggregate to the month level as was done in query 1
    Final Question: So what is OBIEE doing ultimately, does it issue these two requests and then perform a full outer join or something to bring them together? I couldn't see anywhere in the log a complete query that I could just run to see a similar result that I was getting in Answers.
    Thanks for all the help .. Id give more points if I could.
    K

  • Time dimension different granularity

    Hi, i have two facts tables. The first is the sales table and i receive the data each day. So the join with the time dimension is at the day level. The second is the costs level and here the data regard stuff like salaries, so clearly is a monthly input. In this second case with OWB i don't manage to join the fact table with the month id of the time dimension. I can't also create another time dimension starting at the month level.
    What can i do?
    thanks. Emilio

    Emilio,
    I guess what you can do on the short term is create a separate time dimension with month as the lowest level. We are working on a completely new dimensional design implementation that would enable you to implement your requirement. This will be available in the next major release (but that may take a while...).
    Thanks,
    Mark.

  • Time Dimension Qn

    Hi All,
    In the current project am working contrary to the regular day 00:00 to 24:00 the transaction day is divided into two shifts; Shift A: 06:00 to 21:00 Shift B: 21:00 to 06:00 the following morning.
    The client want to run reports on transactions happening in a single day that spread across the two shifts and would then like to generate MIN, MAX, AVG times. My time dimension currently has the following columns:
    Timestamp
    Year
    Month
    Week
    Day
    Not sure how to accommodate the transaction date which is a "single day" that falls under "two calendar days".
    Any help is greatly appreciated.
    Regards
    B

    Hi B,
    I hope you are not using W_DAY_D / W_MCAL_DAY_D as the granularity of that is Date and not Time. You mentioned you have Timestamp in your Time Dimension so I will provide the solution accordingly.
    Add two columns in your Time Dimension. One for Transaction Shift and other for Transaction Day. Your ETL should populate these columns accordingly as you have mentioned the logic. If you have a similar logic for Transaction Week / Month / Year you should add columns accordingly.
    Now once you expose these columns in Presentation layer and users query your fact metrics against Transaction Day, you will get your desired results. Please note that your fact should be joined to the time dimension at Timestamp level and not date level.
    Please let me know if this resolves your issue.
    Thanks,
    Nabhanil

  • 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

  • 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

  • Creating Time Dimension from date columns in fact tables.

    I remember watching a demo from a BI Tool a couple years ago, wich I swear was OBIEE, and the presentator stated it was possible to create a Time Dimension in the admin tool, based on a date column in other table.
    Can you guys tell me if there's such functionality in OBIEE?
    If so, how could I achieve that?!
    Thanks in advance!
    Marcos

    hi,
    You are trying to make Fact table as Dim table ???
    Fact table has some dim columns??
    We can do this by making a fact table as dim table ,create a dim hierarchy on that table
    Year level :Extract(year from fact_date_column)
    Month and year  level:CAST (Extract(month from fact_date_column) As CHAR(5) ) || CAST (Extract(yearfrom fact_date_column) As CHAR(5) )
    Like this
    But,be careful while doing this make sure that all joins and content levels are good
    As per my knowledge this is not a good way,Experts can add some words lets see!!!!!! :-)
    thanks,
    saichand.v

  • Using time dimension in materialized view

    Do anybody has an example of using Time dimension in MVIEW?. The time tablke has no relation with oder object (ex. i will join the time table with sales table, which has no relation with each other.
    Thanks in advance
    Mehdi

    Hi
    Check the foreign key on the fact table to see how it is related to the time dimension table.
    Cheers
    David

  • How to time dimension

    How do you link a time dimension to the fact table?
    If the time dimension has a sequence as the PK then
    the following columns:
    year
    month
    quarter
    day
    time
    etc..
    How is the fact table connected to the time dimension if the fact table has the
    primary key as a FK in the fact table?
    -Jim

    Hi Ragnar
    Because a date is in fact stored as a number you don't need a surrogate key for your time dimension. You can make the primary key the date itself. Then you just join from the fact to the time dimension on the date.
    Oh yes, you would need to populate the time dimension before loading the fact table. But then this is true of all star schemas. You must populate the dimensions before you populate the facts.
    However, in the case of time, because it never changes over time (pardon the pun) you could load years of dates way out into the future. Then you would never have to worry about it for a while.
    I have customers who are using E-Business Suite where the time dimension is fed from GL_PERIODS and BOM_CALENDAR_DATES. Because the periods are entered once per year in most cases then they only need to run the load once per year. Matrialized vieww of time work well too.
    Hope this helps
    Regards
    Michael

  • Date time dimension solution

    I'd like to have a date and time dimension where i can drill down to hours and quarters. What i don't want is one large dimension ( too many rows :-). Getting a date and a time dimension linked from the fact table is another solution, but i don't know if i can drill down with this solution.
    My solution is creating a datetime dimension that is clustered with a date dimension and a time key and time table. What are the downgrades when i implement this? Probably creating a view wherein i join the cluster? And can i drill and create a single dimension using this implementation?

    I suspect that your chief problem is a forum mismatch
    ?

  • Time Dimension Type allows different values in attributes - Bug or Feature?

    Not sure if this is a bug or a feature.
    But if one has multiple hierarchies on a Time dimension. You have the ability to specify different values for member attributes in different hierarchies.
    Example.
    Hierarchy A has MIN_ID for it's Member and uses MIN_END_DATE for it's END_DATE
    Hierarchy B has MIN_ID for it's Member and uses SESS_END_DATE for it's END_DATE
    As per this post and David Greenfield's comment:
    Dimension Sort issue when multiple mappings for different hierarchies
    "Are you attempting to map the same attribute, SORT, to different columns in the two hierarchies? Put another way, do you expect the same member to have different values for the attribute in the two different hierarchies? If so, then this is a problem since a member must have the same value for the attribute regardless of the hierarchy."
    Unlike a user dimension, a time dimension appears to allow this and it appears to work as intended. Is the behavior in this case intended to be different between a user and time dimension?

    I think that this is not a bug. There is an incompatibility in design which prevents you from using the same attribute differently for both hierarchies.
    NOTE: Unlike parent relationship which depends on <dimension, dimension hierarchy>, Dimension Attribute is dependent on <dimension> alone, not dependent on <dimension, dimension hierarchy> combination. Hence it can only take on 1 value for 1 dimension member.
    I think that the time dimension only appears to allow this. The key thing to check is for Time Dimension members which are common to both the hierarchies. Only one of the mappings will take effect (usually the hierarchy which is loaded last will remain in the aw/usable for queries, reports.. it would have over-written the earlier attribute value loaded as per the earlier hierarchy load).
    Visualize a dimension as a long list of members which are built up contiguously on a per hierarchy, per level process using the mapping information saved. Once a member is defined (created) via Hierarchy A, it wont be created once again while loading Hierarchy B but is instead updated or redefined based on Hierarchy B's mapping info.
    Assuming the dimension load attempts to load Hierarchy A first and then Hierarchy B,
    * Dimension load for Hierarchy A will define the various members using MIN_ID and set the END_DATE attribute to value=MIN_END_DATE
    * Dimension load for Hierarchy B will re-define the various members using MIN_ID and re-set or over-write the END_DATE attribute to value=SESS_END_DATE
    * In this case, it looks like all members are common for both hierarchies (as both members are mapped to same column MIN_ID) and you would end up with END_DATE=SESS_END_DATE.
    Actually whether all members are common to both hierarchies or not depends on the quality of data in your snowflake/star table: if parent level for Hierarchy A as well as Hierarchy B is setup fine then the members will be same set (overlapping in whole). If some rows for MIN_ID have parent column for Hierarchy A setup correctly but parent column for Hierarchy B =null or invalid value then that member will exist in Hierarchy A alone and would contain END_DATE=MIN_END_DATE as the corresponding update along Hierarchy B would fail due to hierarchy data quality issues (join from current level to parent level).
    As regards a solution to your problem, you should not use the same attribute "SORT" for dual purpose (both hierarchies). Instead define attributes SORT_A and SORT_B and make them enabled for Hierarchy A, Hierarchy B respectively and map/use them appropriately in your reports.
    HTH
    Shankar

  • OBI 10g merge 2 time dimensions on the same table/graph in analysis

    Hi,
    My problem is: I have 2 different analyses (working fine) (using OBI 10g), they both use a different time dimension:
    time_dim_1 | fact1
    time_dim_2 | fact2
    I want to merge them to have something like the following:
    time_dim | fact1 | fact2
    What I managed to get so far is something like this:
    time_dim1 | time_dim2 | fact1 | fact2 (with, if we suppose there are 12 rows in time_dim1 and time_dim2, 12*12 = 144 rows instead of just 12)
    Here is some more explanations about how I set my repository:
    My fact table "issues" is made of the following columns:
    issue_id, issue_type, issue_create_date, issue_end_date
    I also have a table "calendar" with year, quarter, month and full_gregorian_date.
    In the physical layer I created 2 aliases for the "calendar" table to join with the fact table using "issue_create_date" and "issue_end_date".
    In the business model I created the 2 related time dimensions.
    Everything is working fine so far, I was able to get 2 different analyses :
    - time dimension (joined with "issue_CREATE_date") | count of issues (with aggregation rule "count" on issue_id)
    to see how many new issues are CREATED through time (are there more issues created or less)
    - time dimension (joined with "issue_END_date") | count of issues (with aggregation rule "count" on issue_id)
    to see how many new issues are ENDED through time (when are more issues ended)
    What I want is a third analysis like this:
    - time dimension | count of created issues | count for ended issues
    Thanks for your help.
    Florence

    did you set the content level as well?

  • Modelling Time Dimension with Fact Table containing Start Date and End Date

    Hi Gurus,
    I have a time dimension with Year till Date. I have a fact table which consists of Start Date, End Date, Person ID, Department ID.
    How do i design Time dimension with fact table the below scenario
    In the dashboard i have start Month and End month as prompts.
    In the report i need to display Count(Person ID) > Start Date and < End Date along the trend.
    For instance, i have selected Jan-2009 as start date and Apr-2009 as End Date, then i need to display Count(Person ID) of Jan-2009, Feb2009, Mar-2009 andApr-2009.
    I Can not connect Time dimension with only Start Date or only with End Date to get the trend along the months.
    Please advice on the issue which i am having.

    Hi,
    Thanks for the response, Infact i tried using Complex join in physical layer. I have considered Time table joined with Fact table, and used >= and took and alias of the Time table and joined fact table using <=. When coming to BMM, i am not knowing how do i design this as if i merge the both the time dimensiona and its alias into single table, values will not be correct and if i make them as seperate columns. i can not show the trend as both are different columns.
    Can you please let know where i am going wrong.
    Thanks

  • Best Practice for Time Dimension

    I am designing a new outline. I need to set up a time dimension for every day, perpetually. In the past I would set up one member for years i.e. 2010, 2011, 2012... and a second dimension with the days i.e. Jan 01, Jan 02.
    Is there a better way than this? I would like to do it in one dimension if possible.

    If you create a new ASO (remember, this does not work in BSO) database, right click in the outline (okay, the completely blank outline).
    You should see a pop up menu with "Create date-time dimension..."
    I should also note that you have to click on the word "Outline: dbname" to do this.
    I wonder if you are trying to do this in a BSO app as that will make the menu item show up unselected.
    Regards,
    Cameron Lackpour

Maybe you are looking for

  • Error while renewing the certificate in SSLM

    Hi, While renewing the certificate on SSLM I am getting the following error % failed to parse or verify imported certificate. I am able to upload root certificate successfully. I am sure that I renewed the certificate using the correct parameters. Pl

  • I can't fix my current version of Reader 8.1 and I can't seem to be able to replace it.

    My current version 8.0 of reader keeps blowing up whenever I try to use a PDF function. It kicks me out of the net when I try to call up any data in a PDF format.  I tried several times to install a newer version but kept triping over a msg "Action F

  • Nokia 5800 - Loses the wireless connection

    Hello. I have a Nokia 5800 cellphone from a week ago. I have a problem with the WIFI (Wireless connection). If I connect to a WIFI, in approximately 5 minutes the connection hangs, losing the connection. It seems random hangs. It happens in all appli

  • Strange noise

    hi, I have got an intel based iMac with 2.4ghz core two duo, 2 gb ram and an upgraded 750gb HD. Coming to the point, when i run windows xp on bootcamp, and i play need for speed under ground two which doesnt use alot of the hardwarr resource, i hear

  • SQL command editor doesn't take more than 1 insert command

    i am trying to copy whole table from a text file with creat table command and insert in to (with data) in the same table but SQL command editor giving me error and only allow me to enter one row of data at a time, any help would be much appriciated.