Joins between Fact

Hi Naveen\Gurus,
i joined three Fact table to one fact in one of subject area and that three facts are connected to 10 dimesnsion tables each ,now how to write it in design doc and what would be the tab and description.Any sample document for support thensend it on ([email protected])
thanks

In an ideal world, you don’t join 2 (or more) fact tables directly. If you need to join them, you need to join them through a common dimension. Find the common dimension table(s) to which all these four fact tables are joined .

Similar Messages

  • Best Practice - Outer Join between Fact and Dim table

    Hi Gurus,
    Need some advice on the below scenario
    I have an OOTB subject area and we have around 50-60 reports based on it. The related subject area Fact and Dim1 table are having inner join.
    Now I have a scenario for one report where outer join has to be implemented between Fact and Dim1. Here I am against changing the OOTB subject area join as the outer join will impact the performance of other 50-60 reports.
    Can anyone provide any inputs on what is the best way to handle this scenario?
    Thanks

    Ok. I tried this:
    Driving table : Fact, Left outer join -- didnt work.
    Driving table: Dimension D left outer join -- didnt work either
    In either the case, I see physical query as D left outer Join on Fact F. and omitting the rows.
    And then I tried this -
    Driving table: Fact, RIght outer join.
    Now, this is giving me error:
    Sybase][ODBC Driver]Internal Error. [nQSError: 16001] ODBC error state: 00000 code: 30128 message: [Sybase][ODBC Driver]Data overflow. Increase specified column size or buffer size. [nQSError: 16011] ODBC error occurred while executing SQLExtendedFetch to retrieve the results of a SQL statement. (HY000)
    I checked all columns, everything matched with database table type and size.
    I am pulling Fact.account number, Dimension.account name, Fact.Measures. I am seeing this error each time I pull Fact.Account number.

  • Join between fact table and master data table

    Is it posible to join a Cube with a Characteristic? This is exactly what i need:
    - In my cube i have date (0CALDAY) and (among others) a characteristic (ZCHAR) and a key figure (ZKEYF).
    - I added a key figure (ZKFAT) as an attribute to ZCHAR. So the tables look something like this:
    Fact table:
    <b>0CALDAY | ZCHAR | ZKEYF</b>
    12.10.2006 | CHAR1 | 10
    12.10.2006 | CHAR2 | 20
    12.10.2006 | CHAR3 | 30
    Master data table for ZCHAR:
    <b>ZCHAR | ZKFAT</b>
    CHAR1 | 1000
    CHAR2 | 2000
    CHAR3 | 1500
    I need to make a query with a table that looks like this:
    <b>0CALDAY | ZCHAR | ZKEYF | ZKFAT</b>
    12.10.2006 | CHAR1 | 10 | 1000
    12.10.2006 | CHAR2 | 20 | 2000
    12.10.2006 | CHAR3 | 30 | 1500
    Finally, the query should result in something like this:
    <b>0CALDAY | ZKEYF | ZKFAT</b>
    12.10.2006 | 10 | 1000
    12.10.2006 | 20 | 2000
    12.10.2006 | 30 | 1500
    Adding KFAT to the fact table is not an option, i need to read this information directly from ZCHAR.
    I've tried using MultiProviders but didn't get the result i need.
    Is there any way to achieve this? Please advice.
    Thank you,

    Thank you Ram C. i've tried your solution and it may be it, but i'm having one problem:
    Since i'm reporting in web, i used the second solution you offered and almost got the desiered result. The problem is that some entries are correct but others ar duplicated! Using same example, my result table looks something like this:
    <b>0CALDAY | ZKEYF | Calculated KF (from ZKFAT)</b>
    12.10.2006 | 10 | 1000
    12.10.2006 | 20 | 4000
    12.10.2006 | 30 | 1500
    Second row should be 2000, but instead it shows 4000. I added ZCHAR's attribute ZKFAT as a display attribute in order to compare the results. I found that the display attribute is correct (2000) but the Calculated KF still showed duplicated data (4000).
    By the way, when i execute the query, i get this warning message:
    "Calculated key figure ZRT_C02_2_CKF004 is not defined correctly"
    Any ideas why this could be happening?
    Thank you for your help.
    Message was edited by: Gerardo Gaona

  • Outer join between logical tables

    Hello,
    This question is likely to be asked many times, but I failed to find the proper thread in the forum.
    Assume there are 2 logical tables "Fact" and "Dim".
    "Fact" has 1 LTS which consists of physical tables F, FX1, FX2 which are inner joined.
    "Dim" has 1 LTS which consists of physical tables D, DX1, DX2 which are inner joined.
    F and D tables are also joined together on physical layer.
    I define left outer join between "Fact" and "Dim" on logical layer.
    I create a request in Answers, querying columns from "Fact" and "Dim" which map to physical tables F and D only.
    I expect OBIEE to build SQL query which uses F and D tables only, outer joined.
    Instead of that all the physical tables used for logical tables "Fact" and "Dim" are joined together in a form like:
    SELECT F.col, D.col
    FROM (F inner join FX1 inner join FX2) left outer join (D inner join DX1 inner join DX2)
    Is there any way to avoid this behavior or build data model in different way?
    Thank you!

    Hi Alex,
    In BI Applications you never have a null in a facts foreign key to the dimension. Instead there is always a zero row wi record inserted with 'Unspecified' in all the columns. When the fact table is populated in the ETL, if the fact record doesn't have a corresponding dimension record the WID is poulated with zero.
    This removes the problems with outer joins and helps considerably with performance.
    This could be one practice you take from BI Apps and put into your own ETL's and data model.
    Regards
    Robin

  • 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.

  • Forcing full outer join between two facts according to common dimensions

    Hi everyone,I have an issue with the way obiee "joins" 2 fact tables regarding according to common dimensions.
    Let's assume 2 fact tables F1 and F2 and 2 dimension D1 and D2.
    Fi is joined to Dj thanks to IDs.
    F1 and F2 have got aggregates sum(mes1), respectively sum(mes2).
    The group by is performed on dim1 for D1 and dim2 for D2.
    The following 2 queries work fine...but separately:
    select dim1, dim2, sum(mes1) from F1, D1, D2 where ... group by dim1, dim2; //7 lines
    select dim1, dim2, sum(mes2) from F2, D1, D2 where ... group by dim1, dim2; //8 lines
    When I try to select dim1, dim2, sum(mes1) and sum(mes2), the following sql is created by the BI server:
    WITH SAWITH0 AS (
    select dim1, dim2, sum(mes1) c3 from F1, D1, D2 where ... group by dim1, dim2
    ), SAWITH1 AS (
    select dim1, dim2, sum(mes2) c3 from F2, D1, D2 where ... group by dim1, dim2
    select ... dim1,
         ... dim2,
         ... SAWITH0.c3,
         ... SAWITH1.c3
    FROM SAWITH0 LEFT OUTER JOIN SAWITH1
         on SAWITH0.dim1=SAWITH1.dim1 and SAWITH0.dim2=SAWITH1.dim2
    I get only 7 lines. It means I miss one line from the second query on F2.
    The solution is to perform a full outer join. (I tried in TOAD and changing LEFT by FULL is ok)
    How can I force the full outer join?
    Thanks a lot!

    If you use the fact vertical capabilities of OBIEE, it will normally perform a full outer join :
    http://gerardnico.com/wiki/dat/obiee/logical_sql/obiee_full_outer_join
    Check here for an example (replace the fact cross join by your second fact table F2)
    http://gerardnico.com/wiki/dat/obiee/bi_server/design/obiee_densification_design_preservation_dimension
    Cheers
    Nico

  • How to provide joins between oracle tables and sql server tables

    Hi,
    I have a requirement that i need to generate a report form two different data base. i.e Oracle and Sql Server.
    how to provide joins between oracle tables and sql server tables ? Any help on this
    Regards,
    Malli

    user10675696 wrote:
    I have a requirement that i need to generate a report form two different data base. i.e Oracle and Sql Server. Bad idea most times. Heterogeneous joins do not exactly scale and performance can be severely degraded by network speed and b/w availability. And there is nothing you can do in the application and database layers to address performance issue at the network level in this case - your code's performance is simply at the mercy of network performance. With a single glaring fact - network performance is continually degrading. All the time. Always. Until it is upgraded. When the performance degradation starts all over again.
    If the tables are not small (few 1000 rows each) and row volumes static, I would not consider doing a heterogeneous join. Instead I would rather go for a materialised view on the Oracle side, use a proper table and index structure, and do a local database join.

  • Join Between W_PERSON_F and W_POSITION_D

    Hi,
    I want to join W_PERSON_F fact table and W_POSITION_D dimension table. Database: Siebel DB.
    Is there any direct join or we want to join through some other table?
    Thanks,
    Satheesh

    As per my knowledge there is no direct join between w_person_f and w_position_d
    but you can create an alisa of w_person_d as contact(w_person_d) and join with w_person_f
    as below
    contact(w_person_d).row_wid = w_person_f.contact_wid
    please mark the ans if it is correct.
    Thanks

  • Join a fact to dimensions it's not directly joined to through another fact

    Hello Experts,
    I have a fact1 table with 2 dimensions
    those 2 dimensions join to another fact2 table that is connected to 4 another dimensions.
    How is possible to navigate fact1 through the other 4 dimensions?
    simplification:
    Fact1>----Dim1----<Fact2>----Dim2
    I want to navigate through Fact1 using Dim2
    is there a work around this configuration in the repository?
    Thank You
    Regards

    Hi,
    You need to create a join between a fact and dimension.If you want to navigate fact 1 through other 4 dimensions that are not joined to fact1 then you need to find out some join condition.If you have thought of a report based out of fact1 and those 4 dimension then you should be able to find out some join between these tables.
    What exactly you want to do.
    Can you please elaborate.
    Regards,
    Sandeep

  • Bridge table between fact/dim table

    My requirement is to create a relationship between fact (service request) and dim (timesheet) table.
    Many rows of dim table is related to a record in Service request. Hence i created a bridge table to join them.
    I imported the bridge table into physical layer. Then created two foreign key between the bridge table, dim/fact tables.
    Then pulled the bridge table into the dimension logical table source. Then created a new logical join between the fact and dimension table.
    When i want to count the nbr of service request, my query is not hitting the service request fact.
    Is there any step missed to create the relationship between the fact and dimension for introduction bridge table.
    Pls any one provide the step by step for this process. This is little urgent.
    Thanks

    Just continue on Marks blog...he put it all together nicely:
    http://www.rittmanmead.com/2007/06/19/obiee-data-modeling-tips-1-integrating-1-1-and-1-many-source-tables/
    and
    http://www.rittmanmead.com/2007/09/16/obiee-dimension-data-modeling-redux/
    Cheers,
    C.

  • [nQSError: 14044] Missing join between logical tables

    Hi All,
    I have three physical tables:
    A- Dimension (Contact) B- Helper (Con-Prod) C- Dimension (Product). 'A' joins to facts.
    Relationships are:
    A:B=1:M and B:C=N:1
    Currently a column of B table has been implemented as MLOV. As a result now I have one additional MLOV physical table 'D' that joins to 'B' (Since its B.MLOV_WID=D.MLOV_WID , its not a foreign key join).
    The Logical Layer has three Logical tables: A, B and C as in the Physical Layer. B table has got one new LTS for 'D'.
    Now the Problem is when I take a column that is sourced from D and another from C, it generates an error in Answers: Missing join between logical tables B and C. I have verified that the Logical and Physical joins exist.
    I think this is something with the Logical level setup. So here's some more information on hierarchy setup. I have one Hierarchy (Contact) for all those Logical tables. I have setup Level for the MLOV column. I don't have level setup for most of the non-MLOV columns.
    Can you please share your thoughts? I would like to avoid implicit join method.

    Hi,
    It seems like you are pulling a report from 2 tables with NO physical join.
    Please check the physical layer diagram and join the 2 tables.
    Thanks,
    Vineeth

  • Multiple foreign key joins between two tables

    Hi,
    I have a question about building a repository.
    I have a date dimension and one fact. The fact table has about 10 foreign key columns that link to the date Dimension.
    In this case should I create 10 aliases to create joins in the Physical and BMM layer or is there any other way to handle this situation.
    I am asking this question because 10 aliases can get very confusing for me at the later point of time while creating reports.
    Using OBIEE 10.1.3

    Hi
    I have a follow up question on this.
    I am okay with not seeing the different date tables under the Subject area. Even if it just shows a it as a Simple DATE Dimension I am good with it.
    In this case which is the efficient way, creating 10 aliases or creating 10 joins in the physical layer. I just figured out that we can create multiple joins between the same set of two tables but do not know how will that effect the way BI server works.
    Please help me in understanding this concept.
    thanks
    This request id for OBIEE 10.1.3

  • Multiple Joins Between Folders

    Hi Gurus,
    I have a fact table which contains multiple candidate fields that can be joined to a lookup table
    2 folders
    fact_table
    lookup_table1
    2 Joins are possible between the two folders
    fact_table.code_combination_id -> lookup_table1.code_combination_id
    fact_table.accrual_code_combination_id -> lookup_table1.code_combination_id
    When I try to create a workbook and include fields from the fact table, then include fields from the lookup table it asks me to choose the join.
    If I then want to add fields based on the second join it won't ask me which join to use in future. It appears to assume the first join is still in affect between the two folders for the report. I know I can create another folder using the same lookup table and move one of the existing joins from the current folder to the new folder. Am I missing something or is this the only way to go?
    Regards,
    John

    Hi John,
    Interesting issue. This is how we resolved it in my last job.
    Folders created:
    Fact table: AR Fact
    Lookup folder: Code Combination Lookup
    Lookup folder: Accrual Code Combination Lookup
    Then join AR Fact to each lookup folder. Generally, point the lookup folder to the AR Fact folder when creating the joins. Discoverer will like that direction best. As additional code combination types are referenced, add additional code combination folders. All of those folders come from the same lookup table. The only thing that is different is the column joined to in AR Fact.
    So, in the end, your joins would be:
    Code Combination Lookup.code_combination_id -> AR Fact.code_combination_id
    Accrual Code Combination Lookup.code_combination_id -> AR Fact.accrual_code_combination_id
    Hope this helps.
    Regards,
    Nancy

  • Error while joining 2 facts

    Hi ,
    i am getting error while joining 2 facts
    relation is sales-------time---------sales1 in physical layer and then drag sale1 in sales and given time-----------sales
    [nQSError: 46030] Field descriptor id 0 is beyond the maximum field count 0. (HY000)
    thanks

    Hi master,
    I am referring to sh schema in which
    customer,times are joined with sales table
    sales1(new table created from sales and imported)
    for an example sales1 is only joined with times table and there is no join between any other table
    so the requirement is that
    customer city year month sales sales1 required in the report how will get these 2 facts in the report when there is no joined
    when it is tested from sales with sales1 it shows black data in the same report
    is there any solution where it can map with time dimension with other dimensions as well
    thanks

  • How can we make an outer join (+) between 2 Queries

    in the data model, i have 2 queries
    i.e
    Q_master and Q_detail
    i want to make a data link between
    these two queries and
    also make an outer join between these
    two queries(i.e. to display all the detail
    records, whether they have details or not)
    please reply is it possible ?
    if yes then how?
    plz write.
    [email protected]
    null

    Hello,
    Left outer join behavior is what you get by default with a link between two queries in Reports.
    If you want a full outer join behavior, you'll need to create a third query that selects the detail records that have no corresponding master, and also create an extra layout region to display them in as a default group left or group above won't pick up these extra records.
    If you want right outer join behavior, you'll need to put in a summary in the master query that counts the rows in the detail, and then put in a format trigger in the master repeating frame that suppresses printing when there are no detail records. And you'll also need the third query and layout section as in the full outer join case.
    Regards,
    The Oracle Reports Team --skw                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for

  • Oracle apps 12.1.3 login issue

    Hi , The user has encounetered the below error when he logged into the oracle applications instance unable to generate forwarding URL.Exception: oracle.apps.fnd.common.AppsException:oracle.apps.fnd.common.PoolException:Exception creating new poolable

  • Repeat Output-Type determination

    Dear all, We have a new output-type for printing invoices. Now we have to reprint a lot of "old" invoices with this new output-type. Is there a possibility to repeat the output-type determination for a big quantity of invoices (like mass change)? Tha

  • Success in importing Corel Draw X4 files into CS6?

    I've inherited CorelDRAW X4, and we're about to upgrade to CS6 (a really big jump). I'm trying to make sure that my files will cleanly import into Indesign/Illustrator CS6. I've downloaded the trial in advance of our upgrade, but both the support & s

  • [SOLVED] "Loading console font" fails at boot

    Hello everyone, At each boot, the line where it loads the console font fails. The font configured in rc.conf is "161", it's the one by default on installation. /var/log/boot Loading Console Font: 161 ^[[231G [BUSY] ^[[231G [FAIL] It's a fresh install

  • How do you open recovered files after using data rescue II?

    i installed data rescue II because i had to restart my hard drive and my information did not transfer properly to the external hard drive. im pretty sure data rescue recovered all of my files but the manual and help windows will not scroll down so i