Invalid data from serveral fact logical table sources after upgrade to 11g

Hi,
We have a situation after upgrade from 10g to 11g. Answers' querys works fine in 10g environment, but in 11g, generated SQL is not correct.
Our example is something like that: we have orders fact table, customers and time dimensions. Customer have an hierarchy like: Customer Total -> Customer Country -> Customer Region -> Customer Detail (each level in one different physical table).
Order's logical table source has two table sources. One sets to Customer Country level, second one Customer Region level, both with different WHERE clauses in Content tab inside LTS configuration. Both at same level of Time dimension.
The issue is that, at dimension level, SQL is getting correct table to resolve Customer data (Customer Region level), but then, is getting the WHERE clause sets in LTS set to Customer Country level, so we are getting error data. Priority is the same to both LTS at fact table, sets to 0 (default).
How to know the way Oracle BI Server takes one LTS instead of another one? It's supposed to take the LTS defined at the same granularity level... but is not correct this case.
Thanks.

Can you try one of these options:
Try to set the priority group of lowest granular dimension to 1
or disable the LTS that is getting the where clause and check if it works fine and then enable again.

Similar Messages

  • Max number of logical table sources

    Hi,
    I have one logical table based (a fact table) on 8 logical table sources. This is done to simulate some partitioning as my customer does not have an partition set up on data base level.
    Anyway my challenge is that a request fired in answers does not seem to take all logical table sources into account when building the physical SQL.
    The missing logical table source (the one not being part of the physical SQL) does not differ from the other logical table sources.
    Is there a limit of how many logical table sources BIEE can handle under one logical table?
    BIEE version: 10.1.3.4

    Alastair,
    thanks for replying.
    The logical tables sources partition the data by year. The aggregation level is the same for all LTS, the check for using this with other sources at this level is set and I've tried to force a result from every LTS (not combined but each LTS for itself). Forcing the results is done by using a dashboard prompt in answers filtering on year.
    The whole 'LTS-setup' works in combination with Oracle Warehouse Builder. What I mean by this is the following: In OWB I split the data from one table into 8 different tables, each containing 3 years of data (except for the oldest data where the number of years and amount of data will grow over time).
    This is done by comparing values of a year column with the actual year. E.g. the most actual table would contain data for the years 2010 - 2008, the next would contain data for 2007 - 2005, and so on.
    Now as the years in the different tables will change, I decided to establish an equaly changing counterpart in BIEE. Basically I defined some repository variables: actaul_year, three_years_ago, six_years_ago, 9_years_ago, etc.
    The fragmentation content of the different LTS is defined like this:
    most actual data: MyModel.Year.Year >= VALUEOF("3_years_ago")d
    next table: VALUEOF("3_years_ago") > MyModel.Year.Year AND MyModel.Year.Year >= VALUEOF("6_years_ago")
    next table: VALUEOF("6_years_ago") > MyModel.Year.Year AND MyModel.Year.Year >= VALUEOF("9_years_ago")
    etc.
    The funny thing is that the missing table is the one containing years 13 - 15. All the other tables (e.g. 16 - 18 years and 19 - 21 years) are represented in the physical SQL. This particular table is not even represented in the physical SQL.
    I haven't yet tried to take one of the 'working' tables out to see if this helps (getting an idea if there is a limit on number of LTS per logical table).
    Any idea?
    Thanks
    regards
    Andy

  • Question on Logical table Sources

    Good day!
    I would like to ask for your advice on an bottleneck I am experiencing in a repository implementation in Siebel/OBIEE.
    I am to create a logical table which sources comes from two different tables(Physical table A and Physical table B).
    I am trying to union the contents from table A and table B so I planned to use fragmentation content.
    My problem is that there is no way to distinguish the difference between the records coming from physical table A and table B.
    I created two logical tables sources and specified the same condition for both but the server would automatically choose the first one and would not include the records from the second logical table source.
    Is there any other way I could combine the records from table A and table B in Business Model and Mapping layer?
    Please, I would like to know your thoughts.
    Thanks,
    Ivan

    Hi Ivan,
    I dont think there is other way which is equable to fragmentation content functionality.
    I would suggest to try with any column is not null or most satisfied condition so that both contents present in the query.
    If helps pls mark

  • No Fact table Exists and [nQSError: 14070] Cannot find logical table source

    Hi,
    I have 3 tables A(fact),B(dim) and C(dim). there are some other dims. i am getting Errors here.
    A is joined with B and B is joined with C .
    1) In report if i pull columns from A and B its giving data. If i include C table Columns in the report i am getting Error like
    No Fact table Exists.
    2) If i pull the C table columns only in the Criteria i am getting error [nQSError: 14070] Cannot find logical table source
    How can i resolve this.
    Thanks

    In Logical table B source properties general tab ->Click on Add button and add table C and pull required columns from Physical layer table C.
    If helps mark for any issues let me know.
    Edited by: Srini VEERAVALLI on Feb 13, 2013 6:42 AM

  • Incorrectly defined logical table source (for fact table X

    Hi!
    Imagine the following Physical Diagram:
    - Dim A
    - Dim B
    - Fact A
    - Fact B
    Joins:
    - Dim A is parent of Dim B
    - Fact B has a FK to Dim B
    - Fact A has a FK to Dim A
    Business Layer:
    - Logical Table Dim A
    - Logical Table Dim B
    - Logical Table Fact A
    - Logical Table Fact B
    Joins:
    - same joins (not FK Joins) that Physical Layer
    When we build a report that only has one column of Dim A and one column of Dim B (A is parent of B), the following error appears:
    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 "Fact A") does not contain mapping for [Dim A.col1, Dim B.col1]. (HY000)
    What is wrong?
    Help!
    Thanks.

    Hi,
    The joins of dimensions go via a fact table. In your case there is no common fact table.
    You can solve this by drag/drop a field from the physical table Dim B on the displayed logical table source of the logical table Dim A.
    Now the BI Server knows that Dim A and B have a physical relationship.
    Regards

  • Incorrectly defined logical table source (for fact table Facts) does not

    Hi,
    I have two Dimensions A and B. A is joined to B by a foreign Key.
    The report works if I pull B. Column1, A.Column2.
    The report is throwing an error if i try to change the order of the columns like this. A.Column2, B. Column1.
    error : Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    File: odbcstatementimpl.cpp, Line: 186
    State: S1000. Code: 10058. [NQODBC] [SQL_STATE: S1000] [nQSError: 10058] A general error has occurred. [nQSError: 15018] Incorrectly defined logical table source (for fact table Facts) does not contain mapping for B.Column1
    I am not sure where it is going wrong.
    Thanks
    jagadeesh
    Edited by: Jagadeesh Kasu on Jun 16, 2009 4:22 PM

    did you make joins in LTS or on the physical table.
    try to make join in LTS if they are not there.

  • Question related to Logical table source

    Hi All,
    I have very basic questions -
    (1) When do we create multiple logical table sources within a dimension?
    (2) If a dimension has more than one logical table sources , when do we need to map the underlying table to other underlying table of logical table sources.
    For exp consider these tables XLE_Entity_Profile, XLE_REgistration , AP_Invoice_ALL
    AP_Invoice_All is a fact table. relationship between XLE_Entity_Profile & XLE_REgistration is (1:M).
    Join info is as below -
    (a) XLE_Entity_Profile.Legal_entity_id = AP_Invoice_ALL.Legal_entity_id
    to get the registration of LE the where clause is as below-
    (b) XLE_Entity_Profile..Legal_entity_id = XLE_REgistration.Source_id and XLE_REgistration.Source_table = 'XLE_Entity_Profile'
    I have created the alias of XLE_REgistration as XLE_REgistration_LE.
    With in a dimension , i have 2 logical table source - XLE_Entity_Profile & XLE_REgistration_LE.
    logical table source 'XLE_REgistration_LE' has where clause 'XLE_REgistration.Source_table = 'XLE_Entity_Profile'
    When i query , LE name , LE Registration Name, i get error like -
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 14070] Cannot find logical table source coverage for logical columns: [LE_NAME]. Please check more detailed level keys are mapped correctly. (HY000)
    Le Name is from XLE_Entity_Profile and LE Registration Name is from XLE_REgistration_LE.
    But when using the properties of logical table source ' XLE_REgistration_LE' , i map it to 'XLE_Entity_Profile' ,i get the correct result.
    I am not able to understand why am i getting error in first way of modeling.
    Thanks , Ashish

    Hi Ashish,
    first about logical table sources (lts): you can create different lts for aggregation and/or fragmentation. Aggregation means that data is aggregated on another level among different physical tables. Fragmentation means that the content is different over different tables (other rows).
    In your case, I think the problem is that your dimension is not denormalized, which results in a snowflake.
    What I understand is that you have the following (physical diagram):
    Invoice (fact table) >----- Entity (Dim) >----- Registration (Dim)
    You have the following joins:
    invoice.entity_id = entity.entity_id
    and entity.entity_id = registration.source_id and registration.source = 'something'
    First idea:
    I would create the following join (in physical diagram):
    Invoice (fact table) >---- Registration (Dim)
    Where:
    invoice.entity_id = registration.source_id and registration.source = 'something'.
    Then in your Entity dimension you should create a hierarchy:
    Grand Total Level
    Entity
    Registration.
    In your dimension you should create the first lts: Entity
    Set the aggregation content of this lts to Entity.
    This lts contains only one physical table.
    Map only the entity columns to the Entity physical table.
    Then create the second lts:
    Entity and Registration.
    Set the aggregation content of this lts to Registration.
    This lts must contain two physical tables, Entity and Registration.
    Map the entity columns to the Entity physical table and the registration columns to the registration physical table.
    Let me know if it works or not.
    Regards,
    Stijn

  • Financial Analytics -- Multiple logical table sources

    we have two logical sources for Fact table. The two sources are Aggreates - one is at Invoice level and other one is at Supplier level. Each column in the fact is the derived column and is getting mapped to both the tables. My problem is when i use supplier name and invoice amount and other fact columns data , one of the fact column comes as Zero even though the back end query that BI server is firing is returning expected result. But some how when it comes on the report the data becomes zero. This doesnot happen when we specifically add a filter on the table at lower level of Aggregation (Invoice). This tells Bi server to fetch the data from table lower level of Aggregation .
    The RPD that we are using is OOTB.

    Scenario # 1: In BMM the two tables form a logical table called CUSTOMER with 2 different logical table sources which are CUSTOMER & ADDRESS.
    -->In this case; based on the columns select source is defined in the physical query
    possible case would be CUSTOMER , ADDRESS, and CUSTOMER & ADDRESS
    -->Used in DE-normalized scenarios
    --> BI uses intelligence based on content tab settings
    Scenario # 2: In BMM the two tables form a logical table called CUSTOMER with 1 logical table source called CUSTOMER only.
    -->In this case; CUSTOMER properties->General tab used both CUSTOMER & ADDRESS, in your physical query both tables present irrespective of column selection
    -->Used in normalized scenarios
    -->Forcing BI to follow our way, since we wont set content tab settings
    Hope this helps

  • [nQSError: 15018] Incorrectly defined logical table source

    Hi,
    I have two fact tables and a type dimension.
    business model / physical
    fact1 /fact1
    fact2 /fact2
    type /type
    now I have them joined up on the physical layer with foreign keys AND on the business model layer.
    Nevertheless I still get this error whenever I mix and match the columns.
    [nQSError: 10058] A general error has occurred. (for fact table WABFact) does not contain mapping for [Dates.FLIGHTDATE [ ] ]. (HY000)

    Hi,
    The error "Incorrectly defined logical table source (for fact table XXX) does not contain mapping for YYY" means that the BI Server cannot reach from table XXX to table YYY. It can happen because of two reasons: The first one is that there are no relationships defined in the logical or the physical layers (or maybe both). Note that the connections can be indirect. The second one is that the relationships doesn't makes sense. For example, going from a fact table to a dimension table through many-to-many table cannot happen. You'll see this error many times as a beginner and it can be quite frustrating at first. You need to understand that the BI Server can only understand simple and classic star schemas. More complex ERDs need to be split by using alias tables.
    Thanks to-Miki
    Regards
    MuRam

  • Incorrectly defined Logical table source

    Hi all,
    I have two facts(F1& F2) and two  confirmed dimensions(D1,D2) for the facts F1 and F2.
    F1
    F2:LTS1,LTS2
    D1
    D2
    When I query columns from D1,D2,F1,F2 LTS1 result is coming
    But, when I query from D1,D2,F1,F2 LTS2 it is throwing incorrectly defined logical table sources.
    Please help me in understanding this error

    Here's what the OP wrote:
    Hi all,
    I have two facts(F1& F2) and two  confirmed dimensions(D1,D2) for the facts F1 and F2.
    Granted, people seem to insist on saying "confirmed" instead of "conformed" (ref. http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techn…) but he's clearly asking for a perfectly normal and standard situation of two facts with two conformed dimensions.

  • Repos - logical table source does not contain mapping

    Hi,
    I have a repository question?
    I do not have a fact table in my physical layer. Do I have to have one? I thought the fact table got created in the BM.
    I do have a date table in the physical layer, but it isn't joined to any other table.
    I added the PK from the date_dimention to my logical fact table.
    when I open the properities of my logical date table it is mapped to the physical date table.
    Now in answers, I can query the date_dimension without error.
    But, when I query the fact table using the date key, I get this error.
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    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 CRTK_FACTS) does not contain mapping for [CRTK_FACTS.MASTER_AI_ID, CRTK_FACTS.INT_DOC_ID, CRTK_FACTS.DATE_KEY]. (HY000)
    SQL Issued: SELECT CRTK_FACTS.MASTER_AI_ID saw_0, CRTK_FACTS.INT_DOC_ID saw_1, CRTK_FACTS.DATE_KEY saw_2 FROM CRTK ORDER BY saw_0, saw_1, saw_2
    Anyone have any suggestions on what I am missing?
    thanks,
    Kathy

    I don't have a fact table in the physical layer. Do you mean join between the date table and other dimension tables?
    or do I have to build the fact table in the physical layer?
    I have not built any hierarchies yet, working on it.

  • Logical table source

    Hello!
    Can someone please explain difference between dragging and dropping a physical column from a table in Physical Layer to a Logical Table in BMM layer and ragging and dropping a physical column from a table in Physical Layer to a Logical Table Source? When to use these two options?
    Thanks,
    -D

    Hi,
    First you have to read the OBIEE Administrator concept and will clear you doubt,
    OBIEE Administrator, Windows based client tool to develop and manage Metadata repository. Repository changes can be done in either online or offline mode.
    Online mode is when BI Server is actively reading the repository file (when a user is logged in).
    Offline is when BI Server is idle. Best practice is to develop in Offline mode.
    Minor changes can be made when in online mode. Administrator uses ODBC connectivity to connect to physical data sources, uses Native Drivers for Oracle and DB2.
    OBIEE defines three layers of abstraction.
    Physical Layer – connections to physical data sources (OLTP, OLAP, Flat Files, Oracle, SQL*Server, Teradata, etc.).
    Business Model Layer – Brings together data elements from Physical sources into a logical Star-Schema representation. This is where business rules and definitions are setup.
    Presentation Layer – An abstraction from the Business Model, defines exactly how users will see tables and fields.
    Connection Pool is a connection to a Physical data source. Multiple connection pools can be created to the same source to improve end-user query performance.
    All tables in the Physical layer must have a Primary Key column. Column properties can be edited to set the Primary Key. Physical joins need to be established between tables, using Foreign Keys and Primary Keys. Right-click on Connection pool to create the Physical diagram joins.
    A Business Model can be created by drag and drop of objects from the Physical Layer. It’s a logical Star-Schema representation of the Physical objects. Tables from different sources can be merged to form one Logical table. These sources are called Logical Table Sources.
    Logical Fact tables hold Metrics; every Metric must have an aggregation rule. Hierarchies can be setup on dimensions for drilldown functionality.
    It is important to join logical Facts and Dimensions together, much like the Physical Diagram. Right-click on Model, click Business Model Diagram to create joins. Use Complex joins in the Business Model.
    Presentation Layer is exactly what End-Users will see in BI Answers, contains multiple Subject Areas that answer specific Business questions.
    Thanks,
    Balaa...

  • Logical table source in BMM

    Hello,
    I am using obiee 11g.
    I have few doubts In RPD with respect to logical table Source.
    Consider i have tableA,tableB,tableC in PL.
    Now in my BMM i dragged tableA now i want one column from the tableB.
    So which method is correct?
    1>
    Go to the logical table source properties of tableA->then there + sign click and then add tableB left outer join with tableA.
    Here in the logical table source we see only one table tableA.
    2> Drag the tableB column so that we have 2 logical table source.
    Now what i am more interested is which method is selected on what basis?
    Any help?
    Thanks

    Thanks a lot for the reply
    Second case can u just elaborate more.
    First case i think i understood.
    My main confusion is ok ill explain my situation.
    I have tableA,TableB,TableC all are connected.
    Now i have one fact table.In that fact table i would like to create 10 measures.5 From tableA,3 from tableB and 2 from tableC.
    So
    First i created 5 measures from tableA.
    Second i created 3 measures from tableB.
    Third i created 2 measures from tableC.
    Till now i have 3 logical table source sources in one LTS.
    Now in my report when i combine columns from tableA and tableB , tableB column shows no data.
    When i see in the sql i see tableB col is not taken itself.
    Then i need to go to tableB,then go to General tab and then click + sign add tableA and then go to column mapping and map atleast one col of tableA here.
    So on what basis here i should do mapping.
    Since i have 3 logical table source sources in one LTS.Each time i click on sources->tableB->i could see even the
    tableA columns but not mapped?
    Is that every column from tableA should be mapped to tableB and tableB to tableC and tableC to tableA?I mean in the column mapping
    This is something which i am feeling very difficult to understand?
    Pls help me out?
    Thanks

  • OBIEE: Incorrectly defined logical table source doesn't contain mapping

    In OBIEE 10.1.3.2 I have a very simple thing but cannot get it to work. Hopefully someone can point out the mistake. I have the same schema on two different database that I want to compare data.
    The schema is simple. Table (dimension) A has two columns: id and name. Table (Fact) B has two columns: id and value. Table B.id is a foreign key to A. I imported two database schema into the physical layer and for each database, I built the foreign key relationship between table A and B. In the logical layer, I have two logic tables, one to represent A (Dimension) and the other B (Fact) with a logical join. Each logical table has two data sources. For the dimension tables, both id and name columns have two sources. For the fact table, the id has two sources and for the value, I created two separate columns, one called value1 and the other value2 with one from one database's B table's value column and the other from another database's B table's value. They then were made available at presentation layer.
    Now in the Anwser, I can build a query with id from dimension and value1 from fact; it displayed fine. Same with a query with id from dimension and value2 from fact, it displayed fine. However, if the query is id, value1 and value2, I got the following error
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 15018] Incorrectly defined logical table source (for fact table B) does not contain mapping for [B.value1 [ ] , B.value2 [ ] ]. (HY000)
    Is there something I have to do additional to make both values appearing the same time.?
    Thanks for your help
    Ralph

    Hi, Siddhartha P
    I don't think I understand your information. I couldn't find connection pool at the business mapping layer. I only see it in the physical layer. Do you mean to do the mapping at the logical source table? That's only places I see any mappings and I don't see complex join there (only inner join, left outer, right outer and full outer) What mappings should I need to create between table B (fact table) of database 1 and table B (fact table) of database 2. I thought they don't have any relationship other than join through a dimension table which has columns that map to both table A (dimension table) of database 1 and 2. Then the logical fact table has 3 columns, one is id (to join to Dimension table) with two mappings (one to table B of database 1 and one to table B of database 2) and one column value1 which maps only to table B's value of database 1 and another column value2 maps to table B's value of database 2. That seems to be done correctly because I can pick column id and value1 or column id and value2 and have them displayed correctly but not all 3. I thought if it can display the two separately correctly, they should be able to display all 3. no?
    I am not getting any inconsistency error.
    There must be something I still don't understand. If you don't mind give me a little more direction, that would be great.
    Thanks
    Ralph

  • Incorrect Logical Table Source getting picked

    Dear All,
    Can you please help me with my query.
    I have 2 logical table sources for my fact table
    LTS1 --  L1 with some number of levels mappings
    LTS2-    L2 with same number of level mappings as L1 with one extra level mapped
    now when i query on the columns w.r.t to LTS1, though my LTS 1 is in the higher level in the order of LTS's for fact table, the obiee query is hitting the LTS2 and hence we are getting wrong results.
    Can you please suggest on my query.Appreciate your help.
    Best Regards,
    Achala

    I have found the solution. The dimensional hierarchy associated with the Dimension of  LTS2 of fact had wrong count set for "Number of elements at this level" in the hierarchy.
    the below info from http://gerardnico.com/wiki/dat/obiee/level_number_element
    helped me figure out this.
    "Fact sources will be selected on a combination of:
    the fields selected as well as
    the levels in the dimensions to which they link.
    For example, when aggregate navigation is used, multiple fact sources exist at different grains. The Oracle BI Server multiplies the number of elements at each level for each qualified source as a way to estimate the total number of rows for that source.
    Then, the Oracle BI Server compares the result for each source and selects the source with the lowest number of total elements to answer the query. The source with the lowest number of total elements is assumed to be the fastest.
    By adjusting these values, you can alter the fact source selected by Oracle Business Intelligence in some cases."
    Thank you all,
    Achala

Maybe you are looking for