One Dimension with Facts at different levels

I currently have a single dimension with 5 levels. I have two fact tables that both connect to the dimension table but at different levels.
For example. If we have a Dimension Country -> Region -> City and then two fact tables. One that has facts at the Region level and one that has facts at the City level.
Is there a way to be able to have an answer that contains facts from both fact tables. So if there was a fact from City and the Region level? Everything I seem to try does not work. Would I have to create an additional aggregate table that aggregates the City level data up to the Region? Or is there a way to show the data at the lowest level and show either nulls or duplicate values for the additional records.
Any help is greatly appreciated

This has helped a little. I am now getting values from both levels. However, because i am summing the two values. The value from the upper level is now summing duplicate values. For example.
Value 1 on its own
Level1 Level 2 Level 3 Value 1
1234 10 10 13.05
1234 20 10 70.00
1234 20 20 70.00
1234 30 10 105.00
1234 30 20 105.00
Value 2 on its own
Level1 Level 2 Level 3 Value 2
1234 10 10 0.50
1234 20 10 2.00
1234 20 20 2.00
1234 30 10 3.00
1234 30 20 3.00
What I am getting
Level1 Level 2 Level 3 Value 1 Value 2
1234 10 10 13.05 0.50
1234 20 10 140.00 2.00
1234 20 20 140.00 2.00
1234 30 10 210.00 3.00
1234 30 20 210.00 3.00
Desired Outcome
Level1 Level 2 Level 3 Value 1 Value 2
1234 10 10 13.05 0.50
1234 20 10 70.00 2.00
1234 20 20 70.00 2.00
1234 30 10 105.00 3.00
1234 30 20 105.00 3.00
Now, the problem with this is that Value 1 is a fact at Level 2 and Value 2 is a fact at Level 3. I have one dimension table and two fact tables. The join between the fact table for Value two and the dimension table is the same as the join between the dimension table and Value 1 only it is missing the last level of detail.
I have then set the logical table source content tabs for each fact table to the corresponding levels.
I thought this would be enough but i still don't get the desired result. I am not sure if this is possible with one dimension table.
Any ideas would be greatly appreciated.
Edited by: user10800227 on Jan 11, 2010 12:43 PM

Similar Messages

  • 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

  • Place one order with Products from different sales orgs

    Hello,
    We are in CRM 7.0 EHP2 connected to ECC 6.0. We have Internet
    sales/Webchannel Application.
    We are rolling out Internet sales for a new country but they want the option to
    place one single order with products from different sales
    organizations.
    Currently Customers send fax/email to customer
    representative(CR) with list of products. The CR identifies and places
    multiple orders if products belong to different sales orgs.
    Currently customers don't have idea about sales orgs and they don't
    have a clue which product belongs to which sales orgs. So, for them to
    use Internet sales, we have to provide them an option to place one
    order with products from different sales orgs.
    I understand SAP doesn't support this. But, is there any way we can achieve this through some custom/out of the box solutions?
    Thanks,
    Ravi

    Hi Ravi,
    Please have a below help link, it may help you to explain the role of Distribution Channel and if it fits to your requirement.
    Organizational Data Determination in CRM E-Commerce - E-Commerce - SAP Library
    Thanks,
    Hamendra

  • Execute one cursor with and without different filter condition

    I want to execute one cursor with and without different filter condition
    example :-
    if the account no is null;
         cursor cur is select * from account_master;
    if account no is not null
         cursor cur is select * from account_master where account_no = p_acc_no;

    Braam wrote:
    I want to execute one cursor with and without different filter condition
    example :-
    if the account no is null;
         cursor cur is select * from account_master;
    if account no is not null
         cursor cur is select * from account_master where account_no = p_acc_no;Use Refcursor:
    DECLARE
      refCur     SYS_REFCURSOR;
    BEGIN
      open refCur for 'select col1, col2 from your_table';
      loop
      --Your process logic here
      end loop;
      close refCur;
      open refCur for 'select col1, col2 from your_table where some_condition = is_satisfied';
      loop
      --Your Process logic here.
      end loop;
    END;

  • One DIMENSION, Two FACT Tables - One WEEKLY grain, one DAILY grain

    All the OBIEE gurus, thanks for checking out this post.
    Background: We have a common DIMENSION referencing two FACT tables having different granularity.
    DIM = Customer Dim
    FACT = Forecasting (Weekly granularity)
    FACT = Sales (Daily granularity)
    There is a need to report from the Customer Dimension table AND access the Forecasting FACT (weekly grain) & Sales FACT (daily grain).
    Example of query is listed below:
    Give me customer = 'ABC' and the forecast and sales for a specific time period.
    What will be the best way to handle something like this? I have seen examples of handing multi-fact table access in OBIEE but the granularity of both the FACT tables is different (weekly vs. daily).
    Any help with an example is greatly appreciated.
    Thanks,
    Sunshine

    Hi.
    This one:
    Joining different level aggregation measures together into a single logical fact table
    http://108obiee.blogspot.com/2009/07/joining-different-level-aggregation.html
    Regards
    Goran
    http://108obiee.blogspot.com

  • OBIEE Facts at different levels.

    Hi,
    I am bringing columns from three tables: Two facts and one Dimension table to create a OBIEE Report.
    The fact tables Workforce Event Fact and Employee Daily Snap Fact are at different levels, but both of them have proper joins with Dimension Employee Dim.
    When i am pulling columns from D1 and any one of these two facts, i am not facing any problem in seeing results. But when i bring columns from all of these three tables, i am getting this error,
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 15018] Incorrectly defined logical table source (for fact table Workforce Event Fact) does not contain mapping for [Employee Daily Snap Fact.Exempt Indicator]. (HY000)
    Is there anything i have to do in Business Model layer to avoid this error. Many people suggesting to assign an aggregation level for these two facts. But i am not having any Dimensional Hierarchy defined.
    Thanks
    Swami

    Hi swami,
    Many people suggesting to assign an aggregation level for these two factsThis is a workaround i think where you need to create aggregate tables(not levels) and then use them for your purpose.(OR) you dint define the logical source table properly either correct it.
    Another work around i could suggest is,take the 2 fact tables columns needed into one alias table and make it as fact and join this fact table to dimension table and you can get all columns.
    Hope it helps you.
    Best Wishes,
    Kranthi.

  • Relating facts to different levels of a dimention

    Dear All,
    I need to relate a fact to optionally different levels of a hierarchy in a dimension
    that's sales plan may be put on the level of a salesman or a distributor or a channel and so on ...
    I think that it could be implemented by adding a dummy record in a each level that represent the parent .. but i don't konw how to add this dummy record in owb ...
    can you help ..
    Regards,
    Shaimaa

    Hi Shaimaa,
    this is actually a very difficult business question. Technically, it's straightforward.
    The easy part is to create one fact table per dimension level where you have a plan. So, you would have a SalesPersonPlanFact, a SalesManagerPlanFact, and so on. That will work technically . . .
    But it won't really work. :-(
    The reason is that the way these plans are created. Typically, the Boss and his guys work out a master plan. Then it gets broken into bits, and each department does their own sub-plan. All the way down, until it gets to individual sales plans. And at every step of the way, the plan gets tweaked, modified, 'special cases' put in.
    The result is that they never add up. How you resolve that is a business issue, not a technical one.
    Me? What I do is tell people that they won't add up, and then say that it doesn't matter anyway. The reason I give is that the purpose of the plan is to measure actual sales performance against plan, and that we can do. Sales take place at the most atomic level for which there is a plan, and these we can match and consolidate plan against actuals. The consolidated results are then MVed and thus present a high-performance single picture of 'the truth'.
    Realistically, you're building a second-level snapshot (could be aggregated, could be periodic, could be both), and that's your reporting structure.
    I suspect you may need to go and have a re-think about your value chain, and do much communication with your sponsors so that they understand what's achievable and of real worth to the business. After all, your business as a data warehouse architect is to ensure you're publishing the right data.
    Cheers,
    Donna

  • OBIEE report from multiple facts at different levels

    Currently we need to develop a report with columns from 3 different facts surrounded with conformed and non conformed dimensions at different levels.
    After setting the hierarchial levels and putting the facts into single logical table with different sources OBIEE is generating 2 different queries and does a full outer join.
    I would like to know how we can do a left outer join instead of full outer join between the 2 queries based on a common column?
    Thanks in advance.

    Hi Vinod,
    The scenario provided in the link above doesnt match to my issue.
    We need to develop a report from multiple fact tables at different levels with conformed & non conformed dimension columns.
    I have 7 dimensions D1, D2, D3, D4, D5, D6 and D7 & two fact F1 and F2 tables.
    F1 is tied to dimensions D1,D2,D3,D4,d5
    F2 is tied to dimensions D3,D4,D5, D6 and D7.
    In my report I have columns from D1, D2, D3, D4, D5, D6, D7, F1 and F2.
    So OBIEE generates 2 queries with columns from D1,D2,D3,D4,d5 & F1 measure and another query with D3,D4,D5, D6, D7 and F2 measure.
    and then does a cross fact join out of box between 2 queries.
    But I need to do a left outer join between the 2 queries on a common column instead of cross fact join. I would like to know how we can achive this.
    Thanks.

  • How to find share/rank of one dimension with another

    I am working on OLAPTRAIN schema.
    I would like to find out the share of a product within certain geography. I want to know the share of an item or a category within a country or certain region.
    I am using AWM11.2.0.1.A.

    Create a share type calculated measure in the product dimension (e.g., share to parent, share to total). When you report, the share will be calculated for whichever geographies (and any other dimensions) that you happen to be reporting on. If you are reporting at, for example, a Region level the calculation will apply to those members at that level. If you drill to, for example, a country the calculation will apply to the countries in the report. That's the beauty of the Oracle cube. You just define calculations once and they work anywhere within the cube.
    You can make share calculations in the calculated measure GUI in AWM. Here are two examples:
    Share to Total:
    SHARE(SALES_CUBE.SALES OF PRODUCT.STANDARD TOP) * 100
    Share within parent:
    SHARE(SALES_CUBE.SALES OF PRODUCT.STANDARD PARENT)
    You can specify that the measure to be calculated using specific value of a dimension using the (...) button in the calculated measure GUI. For example, if you wanted the share to parent calculation to be calculated based on the value for North America regardless of what geographies you are reporting on, you can add that to the expression. For example:
    SHARE(SALES_CUBE.SALES[OLAPTRAIN.GEOGRAPHY='North America'] OF HIERARCHY PRODUCT.STANDARD PARENT)
    Note that in this expression I've substituted 'North America' for the actual dimension member '-11' for readability purposes.

  • Oracle Administration Tool (RPD) One Dimension linked with many fact tables

    How to connect One dimension with many table facts in the Lgical level of RPD without having an error about connection between table facts?

    It's not about "linking two catalogs". That's Siebel Marketing stuff. Forget about it. Just create your models and put them in their respective presentation catalogs.
    Whatever you fire from answers will hit that specifc presentation catalog and search its way through the metadata to contruct the query.
    Hence conforming dimensions as a technical concept are definitely the thing you want...not the rpd object type "conformed dimension links".

  • Aggregation mode along one dimension (product) different than along the time dimension

    Dear All,
    In IBP S&OP, Is it possible that the aggregation mode along one dimension (product) could be different than along the time dimension?
    For a demo, a customer has an input at the product family level (vehicle production) which we just “copy” for disaggregation purposes, to the product level (parts), see attached. So for aggregation we used average.
    However, time-wise, we need to sum it up.
    Thanks for your insight and help.
    Kind Regards,
    Omar

    Hi Omar,
    Yes it is possible.
    1. Create a new planning level (say PERPRODCUST1) which will be a copy of PERPRODCUST (you base planning level).
    2. In the PER section of PERPRODCUST1, do NOT mark any period attribute as root. In other words, the roots for this PL will only be PRDID and CUSTID.
    3. Now your KF calculations will be:
    VEHICLEPRODUCTION@PERPRODCUST1 = SUM(VEHICLEPRODUCTION@PERPRODCUST)
    VEHICLEPRODUCTION@REQUEST = AVG(VEHICLEPRODUCTION@PERPRODCUST1)
    Since your KF is editable, it is worth mentioning that, following the above steps has trade-offs. Since your KF is editable, you will have issues with disaggregation when you enter the values at an aggregated level of both time and other attributes. My recommendation (for your configuration) is that this will work fine as long you enter the values at the root level of you time attribute.
    Hope this helps,
    Chendur

  • Time Dimension with Hourly base level

    Hi all
    I need to analyze data at Hour, Day, Month, and Year levels. The data in the fact and dimension tables are at the 'Hour' level with DATE datatype, such as:
    02-SEP-10 10:00:00 AM
    02-SEP-10 11:00:00 AM
    To use Time-Series type calculations, I understand that I have to create an OLAP dimension of type 'TIME' (and not 'USER') and map it to the populated relational time dimension table. My questions are:
    1) Can I have the primary key for 'Hour' level as the actual base level value of datatype DATE (eg. 02-SEP-10 10:00:00 AM) ?
    2) For the END_DATE and TIME_SPAN attributes at the 'Hour' level, what should I use?
    The documentation is only available for minimum 'Day' level hierarchies, which allows setting END_DATE and TIME_SPAN to the actual 'Day' value and 1, respectively.
    3) For the END_DATE and TIME_SPAN attributes at the 'Month' level, do I need to supply the last-date-of-each-month and number-of-days-in-that-month, respectively?
    Please bear in mind that I am relatively new to Oracle OLAP. Any assistance will be appreciated.
    Cheers.

    Thank you Szilard and Adnan for the very prompt and informative responses.
    I managed to follow the advice on the oracleolap.blogspot link and created a time dimension with members at Hour level loaded into the dimension in character format: TO_CHAR(hour_id, 'DD-MON-YYYY HH24')
    The problem now is the maintenance (loading) of the dimension is taking an abnormally large amount of time (over 1 hour) as opposed to when the members were being loaded in DATE format (5 minutes). The mapping table only as 10,000 entries.
    Why is these such a big difference? Is it normal? Is there a way to speed up the maintenance time?
    FYI, I have not created any indexes on any of the attributes.
    My platform is:
    11.1.0.7.0 DB
    11.1.0.7.0B Client

  • Multiple Joins from one Dimension Table to single Fact table

    Hi all,
    I have a single fact table with attributes as such:
    Action_ID
    Action_Type
    Date_Started
    Date_Completed
    and a Time Dimension to connect to the fact table. Currently the 2 Date columns in my fact table are in the format of 20090101 (which is the same as my key in the time dimension), if it means anything. I've tried to create multiple joins but have been getting error messages. What is the easiest way to link the time dimension with the two date columns in my fact table? Thanks.

    hi..
    it seems to be, you need to use between operator to join time dimension with fact (i.e. Non-equi join)
    If it's then you should create complex join in physical layer by connecting dimension with your fact.
    select columns and operators in such a way that it resembles something like the below.
    timeDimension.timeKey BETWEEN FactTable.Date_Started AND FactTable.Date_Completed

  • Time dimension with Hourly base time periods

    Hi all
    I need to analyze data at Hour, Day, Month, and Year levels. The data in the fact and dimension tables are at the 'Hour' level with DATE datatype, such as:
    02-SEP-10 10:00:00 AM
    02-SEP-10 11:00:00 AM
    To use Time-Series type calculations, I understand that I have to create an OLAP dimension of type 'TIME' (and not 'USER') and map it to the populated relational time dimension table.
    1) Can I have the primary key for 'Hour' level as the actual base level value of datatype DATE (eg. 02-SEP-10 10:00:00 AM) ?
    2) For the END_DATE and TIME_SPAN attributes at the 'Hour' level, what should I use?
    The documentation is only available for minimum 'Day' level hierarchies, which allows setting END_DATE and TIME_SPAN to the actual 'Day' value and 1, respectively.
    3) For the END_DATE and TIME_SPAN attributes at the 'Month' level, do I need to supply the last-date-of-each-month and number-of-days-in-that-month, respectively?
    Please bear in mind that I am relatively new to Oracle OLAP. Any assistance will be appreciated.
    Cheers.

    Thank you Szilard and Adnan for the very prompt and informative responses.
    I managed to follow the advice on the oracleolap.blogspot link and created a time dimension with members at Hour level loaded into the dimension in character format: TO_CHAR(hour_id, 'DD-MON-YYYY HH24')
    The problem now is the maintenance (loading) of the dimension is taking an abnormally large amount of time (over 1 hour) as opposed to when the members were being loaded in DATE format (5 minutes). The mapping table only as 10,000 entries.
    Why is these such a big difference? Is it normal? Is there a way to speed up the maintenance time?
    FYI, I have not created any indexes on any of the attributes.
    My platform is:
    11.1.0.7.0 DB
    11.1.0.7.0B Client

  • Comparing facts of different dimension levels - drilldown problem.

    With our customer, we do a lot of comparisons of sales budgets vs. actual sales. The sales budgets are given per month, like this:
    Sales budgets: Jan 09: 40,000 EUR, Feb 09: 45,000 EUR, Mar 09: 20,000 EUR... and so on.
    There is a time dimension (year -> quarter -> month -> day). Since BI does not seem to allow binding facts to other dimension levels than the lowest one (day in my example), I used a trick and modelled these sales budgets as a fact table: (expected sales, last_day_of_month)
    So I have this:
    Sales budgets: 01/31/09: 40,000 EUR, 02/28/09: 45,000 EUR... and so on.
    This way, I can connect both actual sales and sales budgets to the same time dimension. With this, I can create an answers report that compares the two facts easily.
    The problem is now that the customer wants to drill down. This is no problem with year->quarter->month. But then, BI naturally allows to drill further to day, and in this case, BI compares the sales budget of 01/31/09 with the sales on 01/31/09, producing wrong values.
    I either need a solution to prevent BI from drilling down from the month level in this special answer report, or maybe I am making an error with my modelling. Are there any ideas on how to do this better?

    Hi,
    I'd model the repository differently, by modeling the actual sales fact on the lowest day level, and sales budget fact on monthly level. That's how I've understood the data really is defined, right? (Lowest level physical time table you already have but for sales budget you need to create also a physical time table which is on the month level. First define the correct physical joins. Then define the logical table sources in the BM layer accordingly.) In order to be able show the sales budget together with lowest level you can create the sales budget measure as a level based measure (fix the measure to the level month in the column properties-->Level in the Administration tool).
    If you just want to prevent users from drilling-down on a specific dashboard report you can go to properties of the column(s) in that report and set the interaction type for both title and values to "No interaction" in the second tab of the properties menu in the front-end.
    Hope this helps!
    Cheers,
    Ilmari

Maybe you are looking for

  • Getting filename using file technology

    Hi, i am not able to understand below code, select     C1     C1_C1 from      TABLE /*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=FileNameSNP$CRLOAD_FILE=#Default_location\<%=odiRef.getContext("CTX_NAME")%>\cm_mstr.txtSNP$CRFILE_FORMAT=DSNP$CRFIL

  • Problem when Entering Decimal Values at Input Ready Query

    Hi Everyone, I have created Input ready query but when I am going to enter decimal values in input cell it takes as a round of value. Example:- If I enter 1.234 value at input cell it takes as a 1 or if I enter 1.789 value then it takes as a 2 at cel

  • Cannot connect to JDBC data source

    We are trying to configure Visual Composer to connect to the backend BI-ABAP BI database which is DB2, from the Visual Admin on the windows box. Downloaded the driver for DB2 JDBC from IBM website (ibm_data_server_driver_package_win64_ALL_LANG_v97.ex

  • Random MovieClip script not selecting from all possible outcomes

    i have a collection of movie clips (mc0, mc1, mc2...etc etc), and when motion is detected on a webcam, one of these clips is shown on the stage. however, for some reason only mc0, mc1 and mc2 are being displayed, and i cannot get mc3, mc4 or any more

  • Meterialize view backup.

    Hi, Is it possible to take export and import of Meterialize Views using datapump of 10g? If possible then please give me the example code. Thanks, Faziarain