Load fact table with null dimension keys

Dear All,
We have OWB 10g R2 and ROLAP star schema. In our source system some rows don’t have all attributes populated with values (null value), and this empty attributes are dimension (business) keys in star schema. Is it possible to load fact table with such rows (some dimension keys are null) in the OWB mappings? We use cube operator in mappings.
Thanks And Regards
Miran

The dimension should have a row indicating UNKNOWN, this will have a business key outside of the normal range e.g. -999999.
In the mapping the missing business keys can then be NVL'd to -999999.
Cheers
Si

Similar Messages

  • Join fact table with higher dimension level

    how do i join fact tables with higher dimension levels with discoverer?
    fact with detail at level C
    measure X
    dimension with
    D->C->B->A
    E->C
    level
    A B C
    1------1------1
    2------2------1
    3------2------1
    join between fact X and dimension level C
    X=3*C because of sum(X) in discoverer and 3xC in dimension
    is there a way to get correct values for X without creating a dimension like
    D->C
    E->

    another way of asking this is whether you can create a summary table in Discoverer at a higher level than a dimension's fundamental grain. In other words - the summary examples in the documentation all describe leaving out one or more of your dimensions... they are either left in or completely taken out. But, some of the most effective summarization occurs when you summarize daily data to a monthly level. Assuming that I have a sales table (at a daily level, and a key value sales_date), and a table date_dim (primary key sales_date), I would like to create a summary sales_month_summary where the sales are grouped on month_year (which is a field in the sales_date table).
    How is this done? I suspect that we can't use the date_dim table with the summary (due to the problems noted by the poster above). Do we have to create another table "month_dim"? Do we have to fold all of the desired date attributes (month, quarter, year) into the summary? Obviously we'd like to re-use all of the pertinent already existing date items (quarter, month, year, etc.), not recreate them over again, which would result in essentially two sets of items in the EUL. [One used for this month summary, and another used for the detail.]
    I searched the forum - someone asked this same question back in 2000 - there was no answer provided.
    The only other thought I have is to "snowflake" the date_dim into two tables and two folders, one at a date level, another at the month level. Then the detail tables can connect to date_dim (which is linked to month_dim), while the summary data can connect directly to month_dim.

  • Joining two fact tables with different dimensions into single logical table

    Hi Gurus,
    I try to accomplish in Oracle Business Intelligence 11.1.1.3.0:
    F1 (D1, D2 and D3)
    F2 (D1 and D2 and D4)
    And we want to build a report F1 F2 D1 D2 D3 D4 to have data for:
    F1 that match only for D1-D2-D3
    and data for
    F2 that match only D1-D2-D4
    all that in one row, so D3 and D4 are not common dimensions.
    I can only do:
    F3 (D1, D2)
    F4 (D1, D2 and D4)
    And report
    F3 F4 D1,D2,D4 (all that in one row, and only D4 is not a common dimension)
    Here is the very good example how to accomplish the scenario 1
    http://108obiee.blogspot.com/2009/08/joining-two-fact-tables-with-different.html
    But looks like it does not work in 11.1.1.3.0
    I get
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 14025] No fact table exists at the requested level of detail: [,,Clients,,Day,ROI,,,,EW_Names,,,,,,,,,,,,,,,,,]. (HY000)
    I am sure I set up everything correctly as advised in the blog but it works with only one not a common dimension
    Is it a bug in 11.1.1.3.0 or something?
    Thanks,
    Kate

    Thanks for all your replies.
    Actually, I've tried the solutions you guys mentioned. Generally speaking, the result should be displayed. However, my scenario is a little bit tricky.
    table Y's figures are not the aggregation of table X for D dimension. Instead, table Y's figures include not only D dimension total, but also others (others do not mean A, B, C dimension). For example, table Y stores all food's figure, while table X stores only drink's figure. D dimension is only about drink's detail. In my scenario, other foods' figure is not provided.
    So, even if I set D dimension to all/total for table X, table X's result is still not the same as table Y.
    Indeed, table Y does not have a column key to join to D dimension's key. So, if I select D dimension and table Y's measures at the same time in BI Answer, result returns no data. Hence, I can't compare table X and table Y's results with selection of D dimension.
    Is there any solution to solve this problem?
    Edited by: TomChan on Jun 3, 2009 9:36 AM

  • Two fact tables with same dimensions

    Good Morning,
    I am just assigned to a new project. This is my first maintenance request: two fact tables F1 and F2 that shares same set of dimemsion tables D1 and D2. In the Answers report, if I use a foreign key in either F1 or F2, for example F1.k1, I get an error of meta data inconsistency. But if I use same column from dimension table D1.k1, then no error.
    Your help is very much appreciated.
    May

    This is proberly #3 on the most popular topics list, behind SSO and a variables. Please use the search, what you need to do to set up conformed dimensions with multiple facts in the same report has been covererd many times.

  • Issue using one 2 Fact tables with one dimension Table.

    Hi,
    I have 1 Dimension table X and 2 Fact tables A and B
    X is joined to Both A and B for Loan Amount ( with A) and for colleatral amount (with B) when I am selecting the X.Product_Name, A.Loan_Amt, B.Collateral Amount, it is giving an error message
    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 EIP Collateral FACT) does not contain mapping for [EIP Reporting FACT.PD ID]. (HY000)
    Any clues???
    Is there a Inner or Outer join which needs to be created or set in the RPD to get the desired results???

    Ok..
    I have one table which is Porfolio Details which has Portfolio name, Product Category , Product Name, Product ID, Product sources code.- This is my Dimension table.
    I have another 2 set of fact tables : EIP Reporting FACT and EIP Collateral FACT..
    These two tables are joined to Portfolio Details table.
    EIP Reprting FACT gives portfolio wise Loan Amount
    and EIP Collateral FACT gives Portfolio wise Collateral Amount details for same set of customer..
    Now, I am selecting Portfolio Name, Product Category, Product Name,SUM( EIP Reporting FACT.LOAN_AMOUNT), SUM(EIP Collaetral FACT.Collateral_Amt) in a report
    Now, on selecting these columns I am getting that error message which is related to mapping.
    If I take any column from Portfolio details table and any column from EIP Reporting FACT- It works.
    If I take any column from Portfolio details table and any column from EIP Colletral FACT- It works.
    But if I take any column from portfolio table and columns from both FACT tables it gives mapping error...
    Hope I am able to explain the issue in a better way now..
    Edited by: help-required on Mar 11, 2010 6:53 PM
    Edited by: help-required on Mar 11, 2010 6:53 PM

  • Fact table with 2 time keys, measures showing together in the same report

    Hello,
    I am using OBI EE and I have the following scenario: a fact table hold information about enquiries. An enquiry may or may not generate an appointment. So in my fact table I have two date columns: enquiry date and appointment booked date (not the date of the appointment itself, but when it was actually booked).
    This raises a couple of questions. First question is: I can only have one logical FK to the Times table, how to create two LFKs for those 2 dates? Should I create a logical copy of the Times table in the BMM, along with another time dimension?
    Second question is how to display both pieces of data in the same report. For instance, in a summary report per month I want to see the number of enquiries made and appointments booked in each month. Most likely they will be different numbers and refer to different rows in the database. What is the best way to model this in the BMM?
    For instance, in October there were 10 enquiries, 8 of them were converted into appointments along with 3 enquires made in September. So, the report should show for October: number of enquires: 10, number of appointments: 11 (8 from October + 3 from September)
    Sorry if this is a basic question but I couldn't find around any examples of this scenario.
    Thanks,
    Luis

    Genius, that works perfectly, thanks!
    Just one issue that I noticed... I have other dimensions on that fact table, one of them is "channel". Channel is linked to a column in the original fact table, as is Number of Enquiries.
    If I include Channel in a report that shows Number of Enquiries and Number of Appointments, the Number of Appointments column only shows zeros, while the Number of Enquiries column still shows the correct numbers:
    Month    Channel   Enquiries   Appointments
    Jan 09   Email      100           0
             Phone      120           0
    Feb 09   Email       87           0
    ...Then I figured out that I needed to add a PFK for all dimensions to the aliased fact table, not only for the times dimension.
    Thanks again
    Luis

  • Problem with loading fact table in OWB3i

    Hi,
    I have a problem while trying to load a fact table using OWB 3i. Let me explain the situation :
    I have 2 dimensions: Customer, Product say.
    I have loaded the dimension tables separately, successfully using different mappings from source tables.
    Now I want to load the fact table with the corresponding warehouse keys from these dimension tables through lookup transformation.
    When I try to bring to lookup transformations for the 2 dim. tables, it gives an error--"Source and target are bound to different data providers". Using 1 dim table and 1 corresponding lookup transformation , the fact table is successfully loaded.
    How to load a fact table when there are more than 1 dim. tables using lookup ?Is there any other way of solving the same problem?
    Any suggestion will be highly appreciated.
    regards
    Dipanjan

    Simply, try joining source tables with the join operator. In wich way you can create a single source object into the mapping suitable to be connected with yours fact tables.
    Greetings

  • Logical fact table with fragmented data sources with different dimensions

    Hello.
    I have a logical fact table with four logical table sources. Three of the LTS's share the same dimensions, but the fourth LTS has one dimension (called Dim_A) less. In the physical layer the dimension Dim_A is joined to the first three physical fact tables, but not to the fourth fact table (since it doesn't have that dimensionality). In the BMM layer the logical fact table is joines to the logical dimansion Dim_A.
    When I run an analysis on this RPD the measures from the logical fact is aggregated correctly (union of all four table sources) as long as I doesn't include Dim_A, but as soon as I include dimension Dim_A I get the error message:
    +State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 14052] Internal Error: Logical column Dim_A.Column_X has no physical sources that can be joined to the physical fact table source [Logical table sources (Priority=0): Fact_B.Fact_Y]. (HY000)+
    I would like a solution where the analysis returns correctly aggregated measures also for the LTS with the "missing" dimension, but with a dimension value NULL for this LTS. Or something like this.
    Is there a way to set this up in the RPD.
    Thanks,
    Henning Eriksen

    The SQL could look something like this.
    SELECT dim_a.col_1, fact_a.measure_1
    FROM db.dim_a
    JOIN
    db.fact_a
    ON fact_a.col_2 = dim_a.col_2
    WHERE fact_a.date = '28-nov-2012'
    UNION ALL
    SELECT dim_a.col_1, SUM (fact_b.measure_1)
    FROM db.dim_a
    JOIN
    db.fact_b
    ON fact_b.col_2 = dim_a.col_2
    WHERE fact_b.date = '28-nov-2012'
    UNION ALL
    SELECT dim_a.col_1, SUM (fact_c.measure_1)
    FROM db.dim_a
    JOIN
    db.fact_c
    ON fact_c.col_2 = dim_a.col_2
    WHERE fact_c.date = '28-nov-2012'
    UNION ALL
    SELECT NULL, SUM (fact_d.measure_1)
    FROM    db.fact_d
    WHERE fact_d.date = '28-nov-2012'
    I would appreciate if you could give me some hints for the RPD.
    Thanks,
    Henning

  • Fact tables with common and uncommon dimensions

    Hi -
    I have 2 facts:
    F1 with Dimensions D1, D2, D3, D4
    F2 with dimensions D1, D2, D5, D6
    If I create a report with F1, F2, D1, D2 then 2 queries are created and the report is correct. Why am I not able to create a report with F1, F2, D1, D2, D3?
    Thanks !

    Hi Veeravalli -
    I found this blog helpful as it details out how to establish the relation. http://108obiee.blogspot.ca/2009/08/joining-two-fact-tables-with-different.html
    I had a little difficulty in understanding what you wanted to say or implement. Now, after reading it 3-4 times I figured out that you mean 1. what the blog says 2. possibility of combining the facts as different source.
    As a newbie it was difficult to understand it clearly.
    Thanks !

  • Modelling 2 Fact Tables with Non-Conforming Dimension in OBIEE 11g

    Hi all,
    I have two fact tables (Fact 1 and Fact 2) and two dimension tables (Product and Rule). The Product dimension table is a conforming dimension and is used in both fact tables, but the Rule dimension is a non-conforming dimension which is used only one fact table. I'm using OBIEE 11g (11.1.1.6.0).
    ====
    Fact 1
    ====
    Sales ID | Product ID | Quantity | Sales Description | Sales Status
    S001 | P001 | 100 | bla bla bla bla bla | N
    S001 | P002 | 200 | bla bla bla bla bla | N
    S002 | P001 | 200 | lab lab lab lab lab | Y
    S002 | P003 | 250 | lab lab lab lab lab | Y
    Notes for Fact 1:
    - One Sales ID can have multiple Product IDs
    - Sales Description and Sales Status are the same for one Sales ID (repeating Sales Description and Sales Status for the same Sales ID)
    ====
    Fact 2
    ====
    Sales ID | Product ID | Rule ID | Score
    S001 | P001 | R001 | 2
    S001 | P001 | R002 | 3
    S001 | P002 | R003 | 1
    S002 | P001 | R003 | 1
    S002 | P003 | R002 | 2
    S002 | P003 | R004 | 5
    Notes for Fact 2:
    - One combination of Sales ID and Product ID can have multiple Rule ID
    I'm wondering how best to model these tables so that I can create this report (number of the dimension and fact tables created in the business model, level mapping, aggregation rule, etc)? Any suggestion/advice on how to achieve this?
    Sales ID | Product ID | Quantity | Sales Description | Sales Status | Rule ID | Score
    S001 | P001 | 100 | bla bla bla bla bla | N | R001 | 2
    S001 | P001 | 100 | bla bla bla bla bla | N | R002 | 3
    S001 | P002 | 200 | bla bla bla bla bla | N | R003 | 1
    S002 | P001 | 200 | lab lab lab lab lab | Y | R003 | 1
    S002 | P003 | 250 | lab lab lab lab lab | Y | R002 | 2
    S002 | P003 | 250 | lab lab lab lab lab | Y | R004 | 5
    Thank you very much!

    Hi Dhar, thanks for the suggestions.
    I tested what you suggested, but the result is not as per my expectation mentioned above. Here's what I did:
    1. In physical layer:
    - I joined Fact 1 table with Product dimension table only
    - I joined Fact 2 table with Product and Rule dimension tables
    2. In business model layer:
    - I created 3 logical tables: Fact, Product, and Rule
    - The Product table contains the Product ID and Product Name from the Product dimension table in the physical layer
    - I created the hierarchy (logical dimension) for Product with only ProductTotal level (as the grand total level) and ProductDetail level that contains Product ID and Product Name
    - The Rule table contains the Rule ID and Rule Name from the Rule dimension table in the physical layer
    - I created the hierarchy (logical dimension) for Rule with only RuleTotal level (as the grand total level) and RuleDetail level that contains Rule ID and Rule Name
    - The Fact table contains 2 logical tables sources: Fact 1 (which logical level in the Content tab is mapped to ProductDetail and RuleTotal) and Fact 2 (which logical level in the Content tab is mapped to ProductDetail and RuleDetail)
    - The Fact table contains Sales ID logical column (mapped to both Fact 1 and Fact 2 logical table sources)
    - The Fact table also contains Sales Description and Sales Status logical columns (mapped to only Fact 1), which aggregation rule is the default to None
    - The Fact table also contains Quantity logical column (mapped to only Fact 1), which aggregation rule is set to Sum
    - The Fact table also contains Score logical column (mapped to only Fact 2), which aggregation rule is set to Sum
    OBIEE returns the expected result when I retrieve the report:
    Sales ID | Product ID | Quantity | Sales Description | Sales Status
    However, OBIEE returns an error when I retrieve the reports:
    Sales ID | Product ID | Quantity | Sales Description | Sales Status | Rule ID
    or
    Sales ID | Product ID | Quantity | Sales Description | Sales Status | Rule ID | Score
    The error is:
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 14020] None of the fact tables are compatible with the query request FACT.SALES_STATUS. (HY000)
    And the Score column is blank when I retrieved this report:
    Sales ID | Product ID | Quantity | Sales Description | Sales Status | Score
    Any suggestion anyone? Please help. Thanks a lot!
    Edited by: stewartlife on Nov 29, 2012 4:01 PM

  • Resolving loops in a star schema with 5 fact tables and 6 dimension tables

    Hello
    I have a star schema, ie 5 FACT tables and 7 dimension tables, All fact tables share the same dimension tables, some FACT tables share 3 dimesnsions, while other share 5 dimensions.  
    I did adopt the best practices, and as recommended in the book, I tried to resolve them using Context, as it is the recommended option to Alias in a star schema setting.  The contexts are resolved, but I still have loops.  I also cleared the Multiple SQL Statement for each context option, but no luck.  I need to get this resoved ASAP

    Hi Patil,
    It is not clear what exactly is the problem. As a starting point you could set the context up so that it only covers the joins from fact to dimension.
    Fact A, joins Dim 1, Dim 2, Dim 3, and Dim 4
    Fact B, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 5
    Fact C, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 6
    Fact D, joins Dim 1, Dim 2, Dim 3, Dim 4 and Dim 7
    Fact E, joins Dim 1, Dim 2, Dim 4 and Dim 6
    If each of these are contexts are done and just cover the joins from fact to dim then you should be not get loops.
    If you could lay out your joins like above then it may be possible to specify the contexts/aliases that should work.
    Regards
    Alan

  • Multiple 'logical joins' between a fact table and one dimension table

    It appears that one cannot create multiple ‘logical joins’ between a fact table and one dimension table in OBIEE using the Oracle BI Administration Tool. For example, considering a Business Model with a dimension table TIMES and a fact table FACT containing START_TIME and END_TIME, we would like to create separate logical joins from FACT to TIMES for the START_TIMEs and END_TIMEs? Obviously, the underlying foreign keys can be created, but as far as I can tell the Oracle BI Administration Tool doesn’t support this. The workaround would be to replicate the TIMES table, but that’s ugly.
    I seek an alternative approach.

    Try this. Create an two aliases for the TIMES dimension (Start & End) in the Physical Layer and then remove foreign key to the "Parent" Times dimension. Create the Foreign Key in the Physical Layer to the new aliases and then create the complex joins in the BMM Layer to the new aliases as well. This will allow you to present both dates within the same table in the Presentation Layer. Not the most elegant solution but it works.

  • Select count from large fact tables with bitmap indexes on them

    Hi..
    I have several large fact tables with bitmap indexes on them, and when I do a select count from these tables, I get a different result than when I do a select count, column one from the table, group by column one. I don't have any null values in these columns. Is there a patch or a one-off that can rectify this.
    Thx

    You may have corruption in the index if the queries ...
    Select /*+ full(t) */ count(*) from my_table t
    ... and ...
    Select /*+ index_combine(t my_index) */ count(*) from my_table t;
    ... give different results.
    Look at metalink for patches, and in the meantime drop-and-recreate the indexes or make them unusable then rebuild them.

  • Insert values of form on a table with compound primary keys in APEX

    Good evening,
    I have a table with compoud primay keys. On ER model I had a many to many relation and when I coverted to relational model I've got a table with the primary keys of the two entities.
    My problem now is that I am trying to build an APEX application with a Form/Report and I want to insert a tuple both on the "entity" and on the table with two primary keys.
    I created a trigger with
    CREATE OR REPLACE TRIGGER ins_key_elem
    INSTEAD OF INSERT
    ON v_key_elem
    REFERENCING NEW AS NEW
    FOR EACH ROW
    BEGIN
    INSERT INTO elem_type (elem_key, type_key)
    VALUES (:NEW.elem_key, :NEW.type_key);
    INSERT INTO elem(elem_key, name)
    VALUES (:NEW.elem_key, :NEW.name);
    END;
    Is that ok? If it is, now how I can use that trigger to do what I need? i.e. insert the tuple on the two tables when I use the create button of the form
    Edited by: 934530 on May 15, 2012 2:36 PM

    Nevermind...figured it out. Was able to set the value on the Report Attributes page.

  • Updating a table with no Primary key

    What I am trying to find out is if you can uniquely update a single record in a table that has no primary key. I see no way to reference the record I want, other than specifying all the field values in a where clause. This is a problem though, because if I have another record with the same field values, that will get updated too. (I know its a bad database design, but some people do it and I need to work around it!!!), there are some situations where you would have identical records as far as a where clause is concerned, for example, you cant use a blob in a where clause so that might be where your records differ...
    In SQLServer 2000, Enterprise manager throws an error if you have a table with no primary key and duplicate records that you try to update through the GUI. EM uses stored procedures to execute updates, and it rolls back ones which result in more than one update result.
    Im not too familiar with Cursors in SQL, only that they are quite slow and not implemented on all DB products. But I think that they might be able to solve the problem (but I dont logically see how).
    Can anybody explain this to me?

    another record with the same field valuesIf you have two records and all the field values are the same then the records are logically the same anyways, so it shouldn't matter if you update both (one would question why there are two records in the first place.) In other words there is no way, either computationally or manually to tell them apart.
    I suspect that that is rather rare. Instead what is more likely is that you are only using some of the fields. So just keep adding fields until it is unique.

Maybe you are looking for