OBIEE 10G outer join

Hi, I am new to OBIEE 10G.
I have a DimA (dimension), FactA (fact). I mapped foreign key relationship between DimA and FactA on DimA.A = FactA.A in BMM, the relationship is inner and greyed out, so I can't change it to outer join.
So in the answers report, it only shows data of the inner join of the two tables. What I want is to show all items in DimA and related items of FactA or 0 for those not related.
I have posted a similar question here before https://forums.oracle.com/thread/2596618
But I still can't modify the relationship (still greyed out) even if I opened a offline repository.
And what I am thinking is is there an option in answers to dynamically control the join (inner or outer). For example, sometimes I want to show only matched DimA and FactA , sometimes all DimA and related FactA or 0, so that I don't have to modify the BMM in repository every time if the requirement changes.
What's the best practice for this case?
Thanks.

Hi SriniVEERAVALLI,
Thanks for the reply. I have found that I might haven't created the relationship between dimension and fact tables correctly.
I initially created the foreign key relationship (instead of creating complex join) in physical diagram between the dimension and fact table. And the relationship type is hence greyed out.
I have deleted the foreign key relationship in physical diagram. Then
1. In physical diagram, create complex join between dimension and fact . The relationship is 'inner' and can't be changed.
2. In Logical table diagram, create foreign key between dimension and fact . The relationship can be changed (inner, outer, etc).
Is this the correct way?
I tried these on two newly created dummy tables and it worked.

Similar Messages

  • How to understand the way OBIEE implements outer joins?

    Hello guys
    I have a few scenarios where I have to implement outer joins and inner joins between dimensions and facts..
    There are 2 ways as far as I know that allows me to implement outer joins in BMM layer.
    1, Join the Logical dim table A to Logical Fact table B using outer join. The modeling will look like the below:
    A Dim ---outer------B fact -----------inner----C Dim
    By this design, the query that selects columns from all 3 tables will look at this:
    select columns from ((B fact inner joins C on key1 = key2) left outer joins on A dim) on key3=key4)..
    2, Join logical dim table A to fact table B inside the LTS of fact B by mapping the LTS B to dim A using outer join. then join fact B to C:
    B fact (mapped to fact B outer join Dim A) ------------inner -------C dim
    By this design, the query that selects columns from all 3 tables will look at this instead:
    select columns from C, B left outer join A on key1=key2 where key3=key4
    Comparing these 2 queries, the first one seems to do inner joins first and then outer join the result set to Dim A, the second query seems to outer join Dim A first and the result set inner joins to Dim C..
    I ran the same report using these 2 different designs, and the data comes out very different. The report of the first query is much smaller than the report of the second query...
    Can anyone help me understand how OBIEE understands outer joins? The second query is so far giving the right result, however, I can't get rid of the outer join in the query even if not selecting columns from Dim A, which is impacting the performance of other reports without Dim A.
    Your inputs will be greatly appreciated
    Thanks
    Edited by: user7276913 on Apr 20, 2010 9:31 AM
    Edited by: user7276913 on Apr 20, 2010 9:31 AM

    Xcode is the IDE.
    Objective-C is the language typically used.
    There's lots of getting started stuff at https://developer.apple.com

  • Equal Join and Outer Join in OBIEE

    Hello expert,
    I think the default join in OBIEE is Outer Join. So no matter what join conditions that I specify on the physical layer, the result that I get in the presentation layer is still outer join.
    How to specify the equal join or inner join in Business and Logical layer?

    Hello,
    Thank you for your reply. However it does not work. I got the following message:
    [nQSError: 32005] The object "Fact - Fruit" bc if type 'LOGICAL TABLE SOURCE': is missing a foreign key or a complex join in the join graph.
    The situation that I have is:
    Fact table: "Fact - Fruit"
    List of value table (look up table): "dim_list_of_values"
    I am only interested in the type in the "dim_list_of_values" table where equals to "Apple". So I only want to join the "Fact - Fruit" and "dim_list_of_values" with those records with "Apple" type.
    It sounds to me that I am unable to define a freign key.

  • OBIEE 10g How ADD new report and use outer join

    Hi,
    I have to add a new report that use a new view...(just created in db)
    I'm new in OBIEE.. can you explain how can i do it?
    Actually:
    1. I opened administrator tool and import new view (and created an alias) in physical
    2. I built a logical table in BMM
    3. I built a new presentation table in presentation
    problem: the table in BMM have yellow icon like a fact table.. why??
    can you explain me what i have to do?
    thank you
    Edited by: 1006028 on 15-mag-2013 2.54

    By default OBIEE 10g considers a table as fact table that is dragged from physical to BMM layer. That's why you see the yellow color icon.
    If it is a dimension table, you will have to join this table with a fact table in BMM layer. After this the yellow color icon will go away.
    Pls mark correct/helpful.

  • Outer join style report - OBIEE 10g

    Hi All,
    I have a requirement to generate a report for product & sales. I have two dimensions and various fact data elements.
    Some products may not be sold on a month but still i want to display them in the report with 0 value. I have tried this by creating a Left outer join in RPD, since we are using some other dimension in the fact calculation (calculated column) so that also comes in to the left outer join group and that mess with the results.
    So am looking for the better approach to bring the results through answers. Here is the data and expected results
    Data
    Product | Month | Sale | Margin
    Fridge | May | 100 | 20%
    Coolers| May | 50 | 4%
    Laptop| Jun| 300 | 15%
    Now am filtering the report for the month of May, my results should be looks like
    Product | Sale | Margin
    Fridge | 100 | 20%
    Coolers|50 | 4%
    Laptop| 0 | 0%
    Can anyone provide a solution for this ?
    Thanks,
    Ugser

    One possible solution is based on the fact, that OBIEE is combining (=outer joining) measures from two different fact tables by their commonly shared dimensions. What you have to do is:
    Physical layer:
    - create a new dummy fact table in the physical layer (e.g. using a view like Select 1 from dual;)
    - join all required dimension tables to the dummiy fact table using a complex foreign key. Make sure it evaluates always to true, e.g. 1=1.
    BMM:
    - create a new logical fact table for the dummy fact and join all required logical dimension tables to it using complex joins. Set the levels in content tab of LTS same way as for your other fact.
    Presentation layer:
    - expose the dummy fact column
    Answers:
    - Drag the dummy fact into your report. You might want to hide it because for a normal user it is confusing and meaningless since it will always show 1.
    - Filtering should work fine now.
    The dummy fact column will cause OBIEE to create a cartesian join, i.e. all combinations of dimension attributes used in the report will be created. Then the result of the second fact (in your case sales) will be added. In your example it will create a record for each Month for each Product. Sales and Margin will be only added for those Month and Product combinations where there are data in the sales fact.
    Hope this helps.
    Cheers,
    Peter

  • Issue on left outer join query in 10G

    Dear Mr./Mrs./Ms. Oracle expertise,
    The following query structure can function properly in Oracle 9i, but not work in Oracle 10G.
    Please kindly advise what happened in Oracle 10G?
    Is it a bug in 10G? If yes, any patch for it?
    select a.col1,
    a.col2,
    a.col5,
    b.col3,
    b.col4
    from t1 a
    inner join t2 c on c.col1 = a.col1
    left join (select col3
    col4
    from t3) b
    on b.col1 = a.col1
    and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
    where a.col5 = 123;
    Purpose of above SQL
    ====================
    Only those records from t1 table with a.col2 = 'Y' will
    do the left outer join to "b" table and get the columns b.col3 and b.col4
    Result set in Oracle 9i
    =======================
    col1 col2 col5 col3 col4
    AAA N 111
    BBB N 222
    CCC Y 333 XYZ OOO
    DDD Y 444 QPR 111
    Result set in Oracle 10G
    ========================
    col1 col2 col5 col3 col4
    AAA N 111
    BBB N 222
    CCC Y 333
    DDD Y 444
    Rgds,
    Ken Chan

    Dear Schneider,
    Sorry that there was a typo in my query.
    Below is the revised query.
    select a.col1,
    a.col2,
    a.col5,
    b.col3,
    b.col4
    from t1 a
    inner join t2 c on c.col1 = a.col1
    left join (select col1,
    col3,
    col4
    from t3) b
    on b.col1 = a.col1
    and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
    where a.col5 = 123;
    Thanks.
    Rgds,
    ken Chan

  • How to implement SCD and outer join in OBIEE

    Hi Experts,
    1.How we can implement SCD1 and SCD2 in OBIEE.
    2. How to implement outer join..? Can we implement outer join in physical layer.?
    Regards
    Frnds

    1. Better to implement this as a part of data warehouse/ETL. If you insist there is explanation on how to work with SCD's in Administrator in some Oracle University Student Book, I think it's for Siebel Analytics version.
    2. Implement outer joins using complex joins in BMM (type option). It's possible to implement in physical layer only in obiee views (new physical table/table type - select), otherwise not, you cannot specify outer join in the physical layer using complex joins.
    Regards
    Goran
    http://108obiee.blogspot.com

  • OBIEE - Outer Joins

    Hi,
    I have create a foreign key join between dimension and fact table in the physical layer. Is it possible to create an outer join on the columns, the option (driving and type) in the properties is greyed out and defaults to 'inner'. How can this option be enabled?
    Thanks

    Hi,
    You can create outer joins in Business layer but OBIEE outer joins are not like SQL outer join. They can lead to strange errors.
    Its better to do these things in ETL.
    Thanks
    Sandeep

  • Apply filter before Left Outer joins in OBIEE.

    Hi Experts,
    I have an user requirement where a filter need to be applied before the Left outer join applied on the OBIEE generated query.
    But obiee normally applies the filters on the resulted data after the Left outer join applied which eliminates some required data.
    Is there any way to achieve this at the RPD level.
    Thanks
    Swami

    Swam,
    your syntax for sql is not correct.
    you are doing outer join and filter I am not sure what you are trying to achieve here
    assume T1 is fact table and T2 is time dimension
    T1 left outer T2 means you are trying to pull all the records from fact irrespective of the date filter!!
    you will see all the records.
    Please manually write the Sql and we have lot of ways  to force that in to OBIEE.
    Thanks
    NK

  • Left outer join usage in obiee BMM layer

    Hi All,
    We lately started using left outer join in our bmm layer , to meet the requirement expectation .
    problem : We have two tables  Fact A , Dim B . There is an join int_id column to join them . Problem is... in table Dim B , we have 3 millions rows of Int_id and in fact table it is loaded for only data available(1 million rows).
    Due to this we are dropping rows  in the report ..as it is only getting data where fact.int_id = dim.int_id. So we used left outer join to solve to one particular report .(we know we can do ETl to load dummy int_id and make it null , but it is huge effort ..so we did left outer join)
    These days , same kind of reports are in requirement . if i keep on doing same left outer join to meet the requirement in BMM layer ? is there any disadvantages due to this ? any performance degrade due to this ? please throw few lines on left outer join and its usage ?
    Thanks,
    Sri

    Remodel your tables that might be a partition or any other way and follow in BI as per your new model.
    Simply: Go for ETL kind of solution

  • OBIEE not applying outer join syntax to filters

    (Note: I've already thoroughly searched the forums before posting this. Thanks)
    My problem is the following:
    I'm trying to build a report that is a count from my fact table, grouped by month from my date dimension for a given year, resulting in 12 data points. The problem is that not all months have actual data, but I still need those months to show on the report with a count of zero. Typical simple reporting requirement.
    I have already done the obvious and within my business layer made the join between my fact table and my date dimension an outer join on the fact side, just like you'd do if writing the query by hand. And when tested by hand this includes all dates for the year anyway, and when coupled with the appropriate null test on the count measure I'd get my 12 data points with zeros were appropriate.
    The problem is that there are additional filters I need to apply on the fact data (there are a couple text-based code values that didn't warrant full tables themselves so are just degenerate dimensions directly on the fact table.)
    When these filters are applied at the Answer level, I'm only getting back the months that actually have data, and lose the months where the count should be zero. A check of the session log for the query that was generated shows the problem. While OBI properly generates the outer-join syntax for the join itself between the two tables (my date dim and fact table) it does NOT apply the outer-syntax to the constant-based filter against the fact, effectively negating the outer join.
    Actual query from the log (I simply changed the table aliases from the ugly T##### stuff OBI generates to something more readable for posting here):
    select D.DT_MONTH_NAME as c1,
    D.DT_MONTH_NUM as c2,
    I.INC_TYPE as c3,
    I.INC_EMP_GROUP as c4,
    sum(case when I.INC_KEY is null then 0 else 1 end ) as c5
    from DATE_DIM D, INCIDENT_F I
    where ( D.DATE_KEY = I.DATE_KEY (+) ) and ( D.DT_YEAR = 2010 and I.INC_EMP_GROUP = 'CONTRACTOR' )
    group by D.DT_MONTH_NUM, D.DT_MONTH_NAME, I.INC_TYPE, I.INC_EMP_GROUP
    order by c2
    You can see that the outer syntax (+) is applied to the join, but not to the filter on I.INC_EMP_GROUP. If I take this query and drop it in something like SQL Developer, it only returns the months with data. If I throw the (+) after I.INC_EMP_GROUP like I'd do if writing this by hand, the desired zero-months results pop back in.
    I have already searched the forums and while lots of people seem to have asked this question, the only solutions involve things like trickery in the business layer using dummy fact tables followed by manipulations at the report level etc. Unfortunately I can't rely on these as the system is eventually to be turned over to users who can't be expected to apply various hacks to write reports.
    Anyone ever get to the bottom of getting OBI to apply outer join logic in filters as well, when the filtered table is meant to be outer-joined to?
    Any comments are appreciated.
    John

    I know that this thread is a bit old thought it might be helpful to some one...
    The Issue is, when using Degener@teDimen$ion ( this is !nner joned to FACT tables in BMM) and if any of the dimensions {other than theDegener@teDimen$ion (Let us say Dim X) } have an ()uter join to any of the fact tables, and you were doing your analysis using Degener@teDimen$ion,  Dim X, Measure value you will face the following issues.
    when filtering the analysis on the ()uter join dimension ( Dim X), the IN filter will not work. Reason is that the filter is getting applied to both the Dimension and FACT tables and the values that exist in Dimension Dim X but not in FACT table wont show up.
         The above issue can be fixed by changing the join between the fact and Degener@teDimen$ion from inner to outer. I think this is a bug.. because  it is supposed to filter the fact  table after the entire outer joined result is obtained but not filter the fact table for the Dim X values and do a outer join. I think the BI should be intelligent enough.

  • Left Outer Join In OBIEE

    Hi,
    I have two Oracle tables in the physical layer: a fact table and a dimension table.
    The fact table (FACT_TBL) like this:
    CURR_MTH | PREV_MTH | CURR_GRADE | PREV_GRADE | CITY | VALUE
    Jun | May | B | A | X | 5
    Jun | May | A | A | Y | 10
    Jun | May | C | C | X | 15
    Jun | May | D | C | Y | 20
    And the dimension table (GRADE_TBL) like this:
    GRADE | GRADE_NAME
    A | A
    B | B
    C | C
    D | D
    I joined those two tables above in the physical layer using GRADE field. Then, I created a business model using those two tables. I want to create a 4x4 matrix report with PREV_GRADE as the first column and the CURR_GRADE accross to the right like this:
    CURR_MONTH PROMPT = Jun
    PREV_MONTH PROMPT = May
    CITY PROMPT = X
    PREV_GRADE | A | B | C | D |
    A | (null) | 5 | (null) | (null) |
    B | (null) | (null) | (null) | (null) |
    C | (null) | (null) | 15 | (null) |
    D | (null) | (null) | (null) | (null)|
    The problem is that I couldn't show all grade (A to D) in the PREV_GRADE column in that table. Every time I filter the CITY in the prompt to X, I always get only A and C. The B and D rows are suppressed. How do I achieve the left outer join that I wanted above? Thanks a lot for the help.

    hi,
    this can be done in BMM layer.
    select the required BMM model. Right click and select "Buisness Model Diagram" and "whole diagram" .
    now double click on the joining link and specify the type of join here. (assuming you have used "New Complex join" to join these tables).

  • EPMMaster.rpd Fusion Pack migration from OBIEE 10g to 11g

    We have successfully installed OBIEE 10g and 11g on Windows 2008 32bit servers. On the 10g Installation, we have applied the Fusion Pack EPMMaster RPD file and it connects successfully to our EPM warehouse. We want to migrate the Fusion pack to 11g which is also setup on the same platform. Per the instructions in the documentation, we have copied the files (RPD file and Webcat folder) to the 11g server. We run the UA.bat file and it proceeds to start copying the files over fom the RPD and WebCatalog to the new system. It completes this process, but then hangs on starting the Oracle BI server - it never gets beyond that.
    We will be purchasing the EPMMaster RPD and know it is not available yet for 11g – however we’re trying to get ahead of the curve a bit and manually fix the items in the presentation layer that will not render correctly in 11g
    upgrade exception occurred
    Unable to start process: instance1: coreapplication_obis1
    One thing that I noticed – Since the UA tool does not completely finish --
    RPD size on 10g – 42,675KB; 11g – 6,375KB
    I manually change the webcat in Enterprise Manager to the EPMMaster catalog -this actually caused additional errors on restart.
    Has anyone attempted upgrading a delivered RPD to 11g?
    Thanks in advance -

    This is a known issue that we have worked through with Oracle tech support. The Dimension Deduction.Deduction Sid causes an error that prevents the UA tool from completing the upgrade process. There are a couple of ways around this, but the fastest is to simply delete the Dimension, the two related hierarchies and the fact table that is joined to this dimension. Physical table do not need to be touched however. There are still issues once it’s moved to 11g, but those can be addressed post migration. Thanks much to the Oracle support team for helping us out with this issue!

  • Bridge Table check box in OBIEE 10G

    Hi,
    In BMM layer of OBIEE 10G, we see a Bridge Table check box when we double click on each table.
    What is the difference it makes if we check that VS don't check that. Is it mandatory to check it?
    There are 2 ways to model many-to-many relationships.
    1. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact and Dimension tables. Do an inner join between Bridge-->Dimension and join the Dimension to the Fact.
    Question:- In this case do we need to check the Bridge Table check box on the Dimension table?
    2. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact, Bridge and Dimension tables. Fact-->Bridge and Bridge-->Dimension.
    Question:- In this case do we need to check the Bridge Table check box on the Bridge table?
    Thanks,
    Anilesh

    Hi,
    My question is -->What is the difference it makes if we check that VS don't check that. Is it mandatory to check it?
    And we are following the first approach out of the 2 approaches listed below.
    There are 2 ways to model many-to-many relationships.
    1. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact and Dimension tables. Do an inner join between Bridge-->Dimension and join the Dimension to the Fact.
    Question:- In this case do we need to check the Bridge Table check box on the Dimension table?
    2. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact, Bridge and Dimension tables. Fact-->Bridge and Bridge-->Dimension.
    Question:- In this case do we need to check the Bridge Table check box on the Bridge table?
    Thanks,
    Anilesh

  • Left outer join in presentation layer

    Could I do left outer join in presentation layer? I have 2 reports. They both have a common column - "Month". The first report have columns - "Month" and "Measure1" and the second report have columns - "Month" and "Measure2". I would like to put them together so the final report would have "Month", "Measure1" and "Measure2".
    Thanks,
    Ted

    Ted,
    It is not clear to me, why you want to do an outer join. If the dimension Month is shared by both "Measure1" and "Measure2", then it will work without any problem (assuming the RPD is configured correctly).
    An outer join comes into play if you need to preserve the dimension records. Let's assume you want to run an analysis like "Show me all months were there was no sales". In plain SQL you would to do a left-outer join between the Month dimension table and the sales fact table. If you want to know how this can be achieved in OBIEE you might want to have a look here [Outer join style report - OBIEE 10g|https://forums.oracle.com/forums/message.jspa?messageID=9805768#9805768]. This should be still valid for OBIEE 11g.
    Best regards,
    Peter

Maybe you are looking for

  • Is there a way to change the timeout setting for iCal / Calendar in 10.8?

    I have a user connected via iCal to an overworked old CalDAV server (running OS X Server 10.5.8) who was doing fine in OS X 10.6.8. The data (from a number of groups, and his own individual calendar) would sometimes take a while to refresh, but it al

  • How can I update my app on  itunes 10.3 3

    I just updated my itunes to the latest version, and I also want to update my apps, but I don't know how to do it in the new itunes..

  • Session in Java.

    Hi every body: Who can tell me how to disconnect Session, when I close IE? If you have code, that will be more better .

  • Access to ServletContext

    I want to read files and directories within the web application. For that I need to know the 'real path' of context directory in which the JSF application is installed. This information I normally get from the ServletContext: String filename = getSer

  • Cannot Rename in Bridge

    Suddenly I cannot rename or even delete RAW files downloaded from the camera card.  I have checked and have the latest versions of Bridge and Photoshop CS6.  I am running Windows 7 in 64 bit.  I have no problem opening the files through ACR.  If I lo