Error: 38015, Physical tables have multiple joins.

Hi,
I have 5 dimensions and 1 fact table. One of the dimension table have 2 keys, which are referenced with fact table.
I have created aliases for all table on which I have defined joins.
But, It is giving me error like
ERRORS:
GLOBAL:
*[38015] Physical tables "obidb".."ORDER_DETAILS"."FACT" and "obidb".."ORDER_DETAILS"."BILLING_ACCOUNT" have multiple joins.*
Delete new foreign key object if it is a duplicate of existing foreign key.
Please give me any suggestions.....
Thanks.

Hi,
Did your deleted existing foreign key before joining the alis_dim1(fk1), dim1(fk2) to fact join?
double check u r model its comes like circular join so by using alias method u r can resolve that issue.
In your model just check all your FK relation ship here u can find FK ending with #1 (double time just delete them and check metadata consitancey) if its not working delete the dimension and import it newly then create alias of the dim then join each other required fact also check below link
http://mtalavera.wordpress.com/2012/03/29/obieerpd-fails-global-consistency-on-joins-between-tables/
Thanks
Deva
Edited by: Devarasu on Nov 23, 2012 4:44 PM

Similar Messages

  • Error when Check global consistency: Physical tables have multiple Joins

    Hi
    I have a table that have multiple joins with a dimension in the physical layer, this is a fact table and the dimension is a geograhic dimension, and in the fact table I have three codes, customer geography, account geography and office geography. This is a simple model and is correct for my DWH. However when I want to check global consistency the consistency check manager display the next error (three times):
    ERRORS:
    GLOBAL:
    [38015] Physical tables "ODS".."ODS"."FT_INTERFAZ_CICLO_FACTURACION" and "ODS".."ODS"."DIM_GEOGRAFIA" have multiple joins. Delete new foreign key object if it is a duplicate of existing foreign key.
    [38015] Physical tables "ODS".."ODS"."FT_INTERFAZ_CICLO_FACTURACION" and "ODS".."ODS"."DIM_GEOGRAFIA" have multiple joins. Delete new foreign key object if it is a duplicate of existing foreign key.
    [38015] Physical tables "ODS".."ODS"."FT_INTERFAZ_CICLO_FACTURACION" and "ODS".."ODS"."DIM_GEOGRAFIA" have multiple joins. Delete new foreign key object if it is a duplicate of existing foreign key.
    How can I do to solve this error?
    Thanks
    Edwin

    I have one dim table name team.
    In the dim table there are two primary keys like Team key and Team Type key.
    In the Fact table there are 4 foriegnkey like
    a) Sales team key
    b) Sales team type key
    c) Trader team key
    d) Trader team type key
    For this purpose , i am going to create the alias table in the physical layer. Can any body explain to me the whole process

  • How to refresh a table with multiple joins

    Hi,
    First at all, I'm newby in ADF, and my english is no so good, sorry for that...
    I'm using JDeveloper 11g Release 2 (11.1.2.3.0). I have a table created from a view object that have multiple joins with other entities. When I insert a new row programmatically in one of the entities of the joins (not in the entitiy of the view object itself), the new row is created in the database correctly but the table don't show it. What can I do to refresh the table to see the new row created?
    Thanks in advance!

    You have to update the iterator the table is based on for the ui last. You do that by executing the query on the iterator again.
    Timo

  • Can one physical system have multiple logical systems? if yes  why?

    can one physical system have multiple logical systems? if yes  why?
    Regards
    sriman

    Logical system is an ALIAS name for a physical LOCATION. so we may have more than 1 logical system name for a physical location.
    eventhough its allowed,but normally we dont do that.
    you can do this in FILE transaction.
    Regards
    srikanth

  • ERROR IN PHYSICAL TABLES JOIN

    The error i receive while performing global consistency check is : [38091] Physical table 'D_TIME__EVENT_TIME' joins to non-fact table 'FS_IND_SUBS_RGE_ACT' that is outside of its time dimension table source 'D_TIME__EVENT_TIME'.
    I have had this problem for some time and it is getting frustrating. the table D_TIME__EVENT_TIME is an alias of the d_time_event table. i have created a foreign key between both tables D_TIME__EVENT_TIME (time dimension) and FS_IND_SUBS_RGE_ACT in the physical layer. but everytime I check for consistency, i get the error.
    I have created multiple star schemas using the time dimension table There are a couple of other tables that have necessitated creating physical foreign keys with D_TIME__EVENT_TIME but had no errors.
    I have on the side created another alias (d_time_) of the parent table to validate the steps taken. I have created a physical foreign key with the d_time_ table and fs_ind_subs_rge_act table and this was successful.
    I am at loggerheads on what to do next. i need some help any help
    Edited by: 794286 on Sep 20, 2010 11:35 AM

    hi,
    Refer Re: Time Dimension Problem joe mentioned some good points
    thanks,
    saichand.v

  • Physical Tables from multiple connection pools

    Hi all,
    we have in our RPD file two connection pools (let's say A and B), each connecting to a different source DBs.
    Thus, each physical table resides either in source DB A or B (xor).
    The specified connections work in Admin tool, and also direct database requests work in OBIEE 11G if we explicitly
    provide the correct connection pool. The connection pools are specified in order A,B in the Admin tool.
    However, using OBIEE answers always results in following error message if data from the connection pool B
    is to be queried:
    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: 17001] Oracle Error code: 942, message: ORA-00942: table or view does not exist at OCI call OCIStmtExecute.
    [nQSError: 17010] SQL statement preparation failed. (HY000)
    If we exchange the order of connection pools to B,A in Admin tool, we get the same error if we query
    data from connection pool A.
    It seems that each connection pool needs to be able to access all physical tables. Is that correct?
    Thanks, Thomas
    Edited by: user13376481 on Mar 4, 2013 3:08 AM

    Hi Thomas.
    I have the same escenario...
    you tried the solution? worked?
    Thanks.
    Hamilton T

  • Consistency check error 38011: Logical tables from multiple subject areas..

    I received multiple 38011 errors when performing a consistency check after merging repositories:
    For example:
    Logical tables from multiple subject areas associated, OHRP and Enterprise Warehouse
    (OHRP and Enterprise Warehouse refer to different business models)
    I'm really not sure what this means, and Metalink and Google aren't turning up anything.
    Thoughts?
    -John

    John,
    Does it say anything about Assertion Failure? Also, this is straight up from help regarding import (through file menu) "Use this option when the objects you import are unrelated to objects already in the repository such as when the business model and physical layer objects do not exist. If an object of the same name and type exists, the import process overwrites the existing object with the new object. When you import objects from one repository into another, the repository from which you are importing must be consistent."
    Sometimes Merge does bring unexpected (and unwanted results) - especially if there're presentation aliases, duplicate business models, or naming conflicts. If it's not too late, I suggest you use Import,rather than Merge, also, preferably starting with a new RPD file. This would enable you to bring items piece-by-piece and hopefully would allow you to isolate the problem.
    Also, depending on the size - it's sometimes preferable to just reproduce missing part(s). I hope this is helpful.
    Also, I forgot to say - the Import is deprecated and not supported. They suggest you use Project Extract and Merge. If Merge isn't working out for you and Import isn't an option - maybe you could try Project.
    Edited by: wildmight on Mar 9, 2009 7:58 AM

  • ORA-01461 Error when mapping table with multiple varchar2(4000) fields

    (Note: I think this was an earlier problem, supposed fixed in 11.0, but we are experiencing in 11.7)
    If I map an Oracle 9i table with multiple varchar2(4000) columns, targeting another Oracle 9i database, I get the ORA-01461 error (Can't bind a LONG value only for insert into a LONG).
    I have tried changing the target columns to varchar2(1000), as suggested as a workaround in earlier versions, all to no avail.
    I can have just one varchar2(4000) map correctly and execute flawlessly - the problem occurs when I add a second one.
    I have tried making the target column a LONG, but that does not solve the problem.
    Then, I made the target database SQL Server, and it had no problem at all, so the issue seems to be Oracle-related.

    Hi Jon,
    Thanks for the feedback. I'm unable to reproduce the problem you describe at the moment - if I try to migrate a TEXT(5), OMWB creates a VARCHAR(5) and the data migrates correctly!! However, I note from you description that even though the problematic source column datatype is TEXT(5), you mention that there are actually 20 lines of text in this field (and not 5 variable length characters as the definition might suggest).
    Having read through some of the MySQL reference guide I note that, in certain circumstances, MySQL actually changes the column datatype specified either at table creation time or when interfacing with other databases ( ref 14.2.5.1 Silent Column Specification Changes and 12.7 Using Column Types from Other Database Engines in the MySQL reference guide). Since your TEXT(5) actually contains 20 lines of text, MySQL (database or JDBC driver .... or both) may be trying to automatically map the specified datatype of the column to a datatype more appropriate to storing 20 lines of text.... that is, to a LONG value in this case. Then, when Oracle is presented with this LONG value to store in a VARCHAR(5) field, it throws the ORA-01461 error. I need to investigate this further, but this may be the case - its the first time I've see this problem encountered.
    To workaround this, you could change the datatype of the column to a LONG from within the Oracle Model before migrating. Any application code that accesses this column and expects a TEXT(5) value may need to be adjusted to cope with a LONG value. Is this a viable workaround for you?
    I will investigate further and notiofy you of any details I uncover. We will need to track this issue for possible inclusion in future development plans.
    I hope this helps,
    Regards,
    Tom.

  • Error 39008: logical table does not join to fact source

    About to lose my mind over this error!
    I'm told logical table IT_WORK_ITEM_D (a dimension) does not join to any fact source, although it should show as joined to IT_WORK_ITEM_DSNPSHT_F
    - I have verified the physical joins
    - I have verified the business model joins
    - I have created hierarchies for all logical tables joined to the fact (IT_WORK_ITEM_DSNPSHT_F)
    - I have checked the Content tab for the fact table and ensured that the logical dimension is set to the lowset level.
    Suggestions from here?
    -John

    This was helpful, although it did not solve the problem immediately.
    After much consistency checking, I cleared out some of the content assignments and that seemed to work (after having not worked). I still don't feel like I identified the core problem, but it is working now.
    -John

  • How to delete a row from a SQL Server CE Table with multiple JOINs?

    I want to delete a record from a SQL Server CE table.
    There are 3 tables scripts, options and results. I would like to remove a record from the results table. The where clause contains dynamic information which retrieved via other queries to different tables in the same database. These queries work fine and deliver
    the desired data.
    The Compact server is a clone of a remote table created using the sync framework. The same query to the remote table works fine.
    The error I get is:
    There was an error parsing the query. [ Token line number = 1,Token line offset = 10,Token in error = from ]
    The code that throws the exception is as follows:
    Dim connLoc As SqlCeConnection = New SqlCeConnection(My.Settings.ConnectionString)connLoc.Open()     Dim strDel As String = "Delete r from ResultsTable r inner join OptionsTable o ON o.TestName=r.TestName inner join ScriptTable c ON r.TestName=c.TestName WHERE r.TestName = '" & ds1Loc.Tables(0).Rows(0)(1) & "' AND [Index] = '" & lstIndex & "'"Dim cmdDel As SqlCeCommand = New SqlCeCommandcmdDel.CommandText = strDelcmdDel.Connection = connLoccmdDel.ExecuteNonQuery()
    The values held in ds1Loc.Tables(0).Rows(0)(1) and lstIndex are
    correct so should not be the problem.
    I also tried using parameterised queries
    Dim strDel As String = "Delete r from [ResultsTable] r inner join [OptionsTable] o ON o.TestName=r.TestName inner join [ScriptTable] c ON r.TestName=c.TestName WHERE r.TestName = @TestName AND [Index] = @lstIndex"
    Dim cmdDel As SqlCeCommand = New SqlCeCommand        cmdDel.CommandText = strDel       
    With cmdDel.Parameters           
    .Add(New SqlCeParameter("@TestName", ds1Loc.Tables(0).Rows(0)(1)))           
    .Add(New SqlCeParameter("@lstIndex", lstIndex))       
    End With 
    cmdDel.Connection = connLoc        cmdDel.ExecuteNonQuery()
    I have tried replacing the "=" with "IN" in the the WHERE clause but this has not worked.
    Is it the join that is causing the problem? I can do a select with the same search criteria and joins from the same database.
    Also this query works with SQL Server. Is it perhaps that SQL CE does not support the Delete function the same as SQL Server 2008? I have been looking at this for a while now and cannot find the source of the error. Any help would be greatly appreciated.

    Hello,
    In SQL Server Compact, we can use join in FROM clause. The DELETE statement fail may be caused by the FOREIGN KEY constraint.
    Please refer to:
    DELETE (SQL Server Compact)
    FROM Clause (SQL Server Compact)
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • Unable to retrive data from two tables using multiple joins

    Hi,
    Table:   EMP mgr 
    eid              name
    eid mgrid
    1
    A 1
    null
    2
    B 2
    3
    3
    C 3
    3
    i need to get result as:
    eid ename mgrname
    thanks
    AVS

    Sai,
    It would be very helpful if you could mention your table structures a bit more clearly. Would allow for effective replies from fellow users as well. :) 
    However, assuming that your structure would be as follows presenting the query as below:
    DECLARE @Emp TABLE(Eid Int, ename Varchar(50))
    DECLARE @Emp_Mgr TABLE(Eid int, mgrid int null )
    INSERT INTO @Emp select 1,'Ram'
    INSERT INTO @Emp select 2,'Shyam'
    INSERT INTO @Emp_Mgr select 1,NULL
    INSERT INTO @Emp_Mgr select 2,1
    SELECT * FROM @Emp
    SELECT * FROM @Emp_Mgr
    Query to print results as EID, ENAME, MGRNAME
    SELECT em.eid,e1.ename as ENAME,e2.ename as MGRNAME
    FROM @Emp_Mgr em
    JOIN @Emp e1 ON em.eid=e1.eid
    JOIN @Emp e2 ON em.mgrid=e2.eid
    However, as you see this approach of maintaining two tables for preserving the employee-manager data is redundant and makes the queries unnecessarily complex. So, you could opt for the widely used single table format as mentioned by Praveen as well. Check
    if this helps you..
    Recommended Structure
    *Avoidance of redundant storage of data
    *Lesser Joins in queries
    DECLARE @Emp TABLE(Eid Int , Ename Varchar(50) , mgrid int null )
    INSERT INTO @Emp(Eid , ename , mgrid) values(1 , 'Ram' , null) , (2 , 'Shyam' , 1)
    SELECT * FROM @Emp
    Query to print results as EID, ENAME, MGRNAME
    SELECT e.Eid , e.Ename , m.Ename as MgrName
    FROM @Emp e
    JOIN @Emp m On a.mgrid = b.eid
    Thanks,
    Jay
    <If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'>

  • Multiple joins Problem in Physical Layer.

    I have two tables Departments and Employees in the physical layer of admin tool. When i am trying
    to create foreign keys at physical diagram its giving error.
    Scenario:
    Departments                    
    ===========               
    Department_id (PK)               
    Manager_id (FK)                    
    Employees
    ========
    Employee_id (PK)
    Department_id (FK)
    Manager_id (FK)
    1. Manager_id of Departments table references Employee_id of Employees table
    2. Department_id of Employees table references Department_id of Departments table.
    3. Manager_id of Employees table references Employee_id of Employees table.
    I have done 1st one. After 2nd one i have tested for consistency check, the following error is coming:
    [38015] Physical tables "Oracle DB Connection".."HR"."EMPLOYEES" and "Oracle DB Connection".."HR"."DEPARTMENTS" have multiple joins.
    Delete new foreign key object if it is a duplicate of existing foreign key.
    How to solve this?
    How to do 3rd one also?
    Please clarify.
    regards
    chandra kanth
    Edited by: Chandra kanth on 08-Dec-2011 01:47

    Hi,
    I have created two alias tables (E1 Employees, D1 Departments) for Employees, Departments tables.
    I have created foreign key joins as follows:
    D1 Departments:
    EMPLOYEES.EMPLOYEE_ID = "D1 DEPARTMENTS".MANAGER_ID
    E1 Employees:
    EMPLOYEES.EMPLOYEE_ID = "E1 EMPLOYEES".MANAGER_ID
    and it is consistent also. Please let me know whether the above approach is right or not.
    regards
    chandra kanth.

  • Error 38015

    Hi all,
    I have a modeling problem.
    Suppose that there i a fact: RELATIONSHIP using twice the dimension NODE.
    The dimension NODE is a factless fact merging other dimension: role, product, sw, hd, version, area, etc.
                        +--- SW
                        |
    RELATIONSHIP ===== NODE --- ROLE
                        |
                        +--- PRODUCTWhen I try to link the fact twice with the dimension NODE, OBIEE return error 38015 (have multiple joins. Delete new foreign key object if it is a duplicate of existing foreign key).
    So I should create an alias for the NODE (NODE_ORG, NODE_DST) and for all other dimensions related
                      +--- SW_ORG                      +--- SW_DST
                      |                                |         
    ROLE_ORG --- NODE_ORG  ----- RELATIONSHIP ----- NODE_DST --- ROLE_DST
                      |                                |          
                      +--- PRODUCT_ORG                 +--- PRODUCT_DSTIn my case there are several dimensions and NODE is shared with other facts. So I must duplicate everything connected to NODE.
    Is there an elegant solution for bypassing the problem in OBIEE?
    Riccardo

    If a dimension NODE is joined with diferent facts like F1,F2 etc no need to go with alias for NODE.
    If the NODE wants to join with same fact F1 for different join conditions then you have to go alias for NODE.
    As per the consistence check rpd will allows a single join between the physical layer objects, so as per the best practices we go for alias tables for each leaving original tables a side.
    hope this helps

  • "Select" Physical table as LTS for a Fact table

    Hi,
    I am very new to OBIEE, still in the learning phase.
    Scenario 1:
    I have a "Select" Physical table which is joined (inner join) to a Fact table in the Physical layer. I have other dimensions joined to this fact table.
    In BMM, I created a logical table for the fact table with 2 Logical Table Sources (the fact table & the select physical table). No errors in the consistency check.
    When I create an analysis with columns from the fact table and the select table, I don't see any data for the select table column.
    Scenario 2:
    In this scenario, I created an inner join between "Select" physical table and a Dimension table instead of the Fact table.
    In BMM, I created a logical table for the dimension table with 2 Logical Table Sources (the dimension table & the select physical table). No errors in the consistency check.
    When I create an analysis with columns from the dimension table and the select table, I see data for all the columns.
    What am I missing here? Why is it not working in first scenario?
    Any help is greatly appreciated.
    Thanks,
    SP

    Hi,
    If I understand your description correctly, then your materialized view skips some dimensions (infrequent ones). However, when you reference these skipped dimensions in filters, the queries are hitting the materialized view and failing as these values do not exist. In this case, you could resolve it as follows
    1. Create dimensional hierarchies for all dimensions.
    2. In the fact table's logical sources set the content tabs properly. (Yes, I think this is it).
    When you skipped some dimensions, the grain of the new fact source (the materialized view in this case) is changed. For example:
    Say a fact is available with the keys for Product, Customer, Promotion dimensions. The grain for this is Product * Customer * Promotion
    Say another fact is available with the keys for Product, Customer. The grain for this is Product * Customer (In fact, I would say it is Product * Customer * Promotion Total).
    So in the second case, the grain of the table is changed. So setting appropriate content levels for these sources would automatically switch the sources.
    So, I request you to try these settings and let me know if it works.
    Thank you,
    Dhar

  • Performance Issue with Multiple Joins :-)

    Hi there! I have a dilemma over using multiple joins...and I am not sure whether there is any alternative to this. Please help me out if you can..
    I have a table DATA having 100 columns and 2 million records and I have another metadata table Code_Mappings. The issue is with migration of this data from upstreams to downstreams.
    Columns of DATA table is
    a,b,c,d,e,f,g,h.......ca.cb.cc.cd.....dz.
    Code_Mappings table is
    Source_code |Target code | category
    The problem arises when I join the metadata table for multiple joins..
    Around 75 columns out of 100 are category questions i.e I need to replace all Source codes in the data of those category columns with target codes WRT categories..
    Suppose A, C,D,I,J,K,L,W,X,Z,AA,BH are country category.
    My query to fetch data from DATA for column A would be
    Select decode(d.A, cm.source_code,cm.target_code,d.A) from DATA D,Code_Mappings CM where cm.category like 'country' and d.A=cm.source_code;
    In the similar way, I may have to join the same table for category 'country' for n no of columns if those columns have category as 'country'.
    Is there a alternative to use this table once and use the decode, mapping logic multiple times on columns..? Please let me know if there is anyways I can do it so that performance is enhanced in a significant manner.
    Another Issue is:
    Whenever the Column value is some junk, that record doesnt get fetched. In the above query, you can see that where clause has a condition of "d.A=cm.source_code" which not only filters out these required records but also avoids cartesian product.
    The basic requirement is all records should get fetched. I do not want to filter out anything.
    Please help me out.
    Thanks
    Mahesh

    1) I'm not a JD Edwards person, but I would wager that if you're to the point where you have consolidated all the schemas to a single instance that it would be possible and preferrable to consolidate everything further into a single schema. I have to believe that JD Edwards provides tools to restrict what bits a particular branch can see without requiring separate instances.
    2) What data are you accessing exactly? Are you always accessing data for a particular branch? Or do you need information from every branch?
    3) Is your application logging in as a single user? Or will there be 1 application user for every JD Edwards schema?
    4) Are you deploying your PL/SQL into 10-20 different schemas? Or into just 1?
    Whether or not you are explicitly using the schema name, Oracle will have to do a hard parse of every logically distinct SQL statement. Two SQL statements that access different tables that happen to share the same name are logically distinct, so your shared pool will end up with 10-20 copies of the "SELECT * FROM <<some table name>>" SQL statement if it is executed against every instance of <<some table name>>.
    The question may be whether it is better to explicitly provide the schema name or to rely on synonyms. You generate the same number of hard parses either way, but explicit schema names may improve latch contention during parses if Oracle has to do a lot of synonym resolution. Not many people/ applications are really hurt by this latch contention, though, so it is very hard to say whether this is a legitimate concern.
    Justin

Maybe you are looking for

  • Are there any standard 'out of the box' Portal applications eg forum, chat etc.

    Rather than developing applications that are probably a standard requirement for every Portal site, are there applications available from Oracle or other suppliers to add routine functionality such as discussion forums, chat etc?

  • DVD Burn Fail

    I have a mac book pro. This is my like fourteenth mac, and I use them professionally everyday. Over the years, I have noticed that on occasion the DVD burners will fail, and fail for a variety of reasons. I know this is fairly common once the compute

  • All event listeners and models in one file?

    I have one java file for all my event listeners of a programm and one java file for all my models. Is this good? I create instances with new AllInOneHandler.MouseHandler() for example. Or should I have one file for each event and each model?

  • Please help ..is there a virus problem?

    Hi all New to this forum so sorry for any gaffs I make! I have been sent a spoof email from 'ebay' asking me to log in, like a fool I filled in my login and password then twigged what was going on. A scam to get my details. I have changed passwords (

  • I keep getting mail that says it's from no address

    And there is no message of the body of the email. I get them every day. Can anyone tell me why?