Joining Multiple facts to the multiple Dimension tables

Hi All,
We have multiple fact tables which are Joined to common Dimension tables. We join them in physical layer and maintain Left outer join in the BMM. I do not get any consistency errors. But when I run report I get error.
"could not find level detailed enough for group by clause" any suggestion on the same.
The join Strucutre is as follows.
Facts - F1, F2, F3
Dim - D1, D2, D3
F1 --> D1, D2, D3
F2--> D1, D2,
F3--> D1, D2, D3
We cannot combine F2, F3 into F1 using multiple Logical Table Source.
What is the best way to achieve the above mentioned functionality.
Please advice.
Regards,
Narendra Shetty.

Check this
OBI Error While Running Query
Update us back with solution, if helps pls mark
Edited by: Srini VEERAVALLI on Dec 20, 2012 7:13 AM

Similar Messages

  • Best approach to join multiple statistics tables into one

    I have read different approaches to join multiple statistics tables into one, they all have a column "productobjectid".
    I want to get all data for each product and put it to excel and output a jpg statistic with cfchart.
    How would you do this, the sql part?
    Thanks.

    A couple suggestions:
    1) when joining tables, its best to list both table/fields that you are joining in the FROM clause:
    FROM shopproductbehaviour_views INNER JOIN shopproductbehaviour_sails ON shopproductbehaviour_views.productobjectid = shopproductbehaviour_sails.productobjectid
    2) You add tables to a SQL join by placing another join statement after the SQL above:
    SELECT *
    FROM TableA INNER JOIN TableB on TableA.myField = TableB.myField
    INNER JOIN TableC on TableA.anotherField = TableC.anotherField
    3) If you have columns in the tables that are named the same, you can use column aliases to change the way they appear in your record set:
    SELECT TableA.datetimecreated 'tablea_create_date', TableB.datetimecreated 'tableb_create_date'
    4) Certainly not a requirement, but you might want to look into using <cfqueryparam> in your where clause:
    WHERE shopproductbehaviour_sails.productobjectid = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#all.productobjectid#">
     You might want to consider checking out one of the many tutorials on SQL available online.  Many of the questions you posed in your post are covered in pretty much every basic SQL tutorial.  Alternately, a good SQL book is worth its weight in gold for a beginning web applications developer.

  • How to find the common dimension tables used in Finance AR/PR and GL,

    Hi All,
    I need to find the common dimension table used in the Finance modules (AP,AR,PO,GL...), Since separate teams are working on populating each modules, and we need to find the dependency so that our loads shouldn’t impact others.
    Thanks!
    OBI

    Hi Guys,
    Thanks for all your answers.
    Yes....You are all right. We can list out the used tables upto certain extent. Anyhow, I have done some R&D to derive the SQL's which is given below:
    SELECT TABLE_NAME FROM USER_TABLES
    MINUS
    SELECT DISTINCT UPPER(REFERENCED_NAME)
    FROM user_dependencies
    where
    referenced_type='TABLE' and UPPER(NAME) in
    select distinct UPPER(object_name) from user_objects where UPPER(object_type) in
    'MATERIALIZED VIEW',
    'PACKAGE',
    'PACKAGE BODY',
    'PROCEDURE',
    'TRIGGER',
    'VIEW',
    'FUNCTION'
    UNION
    SELECT UT.TABLE_NAME FROM
    SELECT TABLE_NAME FROM USER_TABLES
    MINUS
    SELECT DISTINCT UPPER(REFERENCED_NAME)
    FROM user_dependencies
    where
    referenced_type='TABLE' and UPPER(NAME) in
    select distinct UPPER(object_name) from user_objects where UPPER(object_type) in
    'MATERIALIZED VIEW',
    'PACKAGE',
    'PACKAGE BODY',
    'PROCEDURE',
    'TRIGGER',
    'VIEW',
    'FUNCTION'
    AND REFERENCED_OWNER=(SELECT sys_context('USERENV', 'CURRENT_SCHEMA') FROM dual)
    ) UT,
    ( SELECT * FROM USER_SOURCE
    WHERE NAME IN
    ( SELECT DISTINCT NAME FROM USER_SOURCE
    WHERE TYPE NOT IN ('TYPE')
    AND
    UPPER(TEXT) LIKE '%EXECUTE IMMEDIATE%'
    ) US
    WHERE
    UPPER(US.TEXT) LIKE '%'||UPPER(UT.TABLE_NAME)||'%'
    AND
    (UPPER(US.TEXT) NOT LIKE '%--%')
    The above SQL Query can list out unused tables by checking the Dynamic SQL Statement also upto some level only.
    Once we extracted the list of unused tables, having a manual check would be also greater to verify as it is should not impact the business applications.
    Regards,
    Subramanian G

  • 10g -  Most detailed table in the time dimension table source is not unique

    hi, experts,
    I cannot find any solution from google. please help
    ERRORS:
    BUSINESS MODEL ERP:
    [38093] Most detailed table in the time dimension table source 'ERP_YEAR_MONTH' is not unique.

    Hi Forreging,
    the time key is incorrectly specified at the lowest level. In the 'ERP_YEAR_MONTH' table, have you correctly specified the primary key for the table?
    For example, if the lowest level of granularity is MONTH, then the appropriate key is probably a combination of YEAR and MONTH (not simply MONTH).
    Hope this helps,
    Justin

  • Multiple columns from the same dimension table as row labels performing slowly

    (Working with SSAS tabular)
    I'm trying to figure out what the approach should be for the following scenario:
    Lets say we have a Customer table. The table has columns such as account number, department number, name, salesperson, account manager, number of customers, delivery route, etc
    A user of the model could want to see any permutation of that information as the row labels. How should that be handled?
    What we've been doing so far is that the user adds each column they want into the "ROWS" section in Excel. This works fine with smaller tables (for example, "Department" table with a "Department Code" and "Department Name",
    but on large tables this quickly chokes. I understand why this is happening, I just haven't found a better way to accomplish the same thing.
    I can add a calculated column to the model through VS, but obviously this is unsupportable and unscalable when each person needs their own permutations of the data. Can something similar be done in Excel? 
    This question seems to be what I need:
    http://social.msdn.microsoft.com/Forums/en-US/97d1157a-1402-4227-b96a-79524401ddcd/mdx-query-performance-when-selecting-multiple-attributes-from-same-dimension?forum=sqlanalysisservices
    However I can't find any information on how to add those properties (is it a multidimensional-only thing?)

    Thanks for the help. Sorry but i'm a self-taught developer, and i may be missing some basics :)
    Anyway i've done what you suggested but i get this error:
    [nQSError: 15011]The dimension table source Dimension Services.DM_D_SERVIZI_SRV has an aggregate content specification that specifies the level Product. But the source mapping contains column COD_PRODUCT with a functional dependency association on a more detailed level .
    where:
    - DM_D_SERVIZI_SRV is the physical alias for the Service Dimension (and the name of the LTS too)
    - COD_PRODUCT is the leaf of the hierarchy, the physical primary key, but it hasnt to be included in the hierarchy
    Do i have to add another level with the primary key and hide it to the users?
    I tried to solve this going to the logical tables source properties, on the tab contents, setting "logical level" to null for the hierarchy, but i don't know if this is correct.
    Thanks

  • Can we join Multiple Databases tables in PRD File ?

    Hi ,
    I am working on POC project and trying to Join Multiple Databases to create one rpd file . Lets say I have complete SH schema from Oracle and I want couple of tables (Time and Products) tables from Sybase .
    I want bring sybase TIME and Product tables into Oracle SH Schema and create joins in physical layer. When I try to do it, it is throughing an error .. Am I missing some thing here ?
    Is it possible?
    Thanks
    Shivaji

    You have not mentioned what is the error!!!
    we can create join b/w the tables of different databases
    You need to select the table from one database and aswell as other table in other database and
    right click > physical join > selected tables only...
    This is the way of creating physical joins... or else you select both the databases and select physical joins...
    It's better that you mention what is the error you are getting..??
    Thanks & Regards
    Kishore Guggilla

  • Join multiple output tables of BAPI into new table

    Hi,
    In my model (VC 7.0), I have a BAPI which outputs two different tables. Tables have many multiple records. Each table has several fields and a common field also. I want to combine these tables into one table form. I used the following methods and result are :
    1. I tried to connect output tables to one table form but no success. Because table form allows only one table input.
    2. I put a combine operator for output tables. No success. Although they're common field and multiple records but table form shows only one record? Where are the other record ?
    3. I put a union operator  for output tables. No success. Because union operator output only the common field. But I need the other fields from output tables in my table form.
    Will you please suggest what are the options available with me for joing output of both tables. I think combine operator should solve.
    Regards,
    Yi&#287;it

    Hi,
    use this link to get your answer:
    Join two Table output to new table
    Otherwise you can try with this:
    1. Drag signal out from the first table. Select all the fields which you want to be pass in the final table.Make the first table as multiple selection one.
    2. Create one button in toolbar for the first table and give some proper name in action property.
    3. mentioned the same action name in the link between the signal out and the first table.
    4. follow the same steps for the second table also.
    5. then from compose choose two signal ins and drag them on the story board. Then give the same name as you have given the signal outs name.
    6. Mention all the fields as you have mentioned in the siganl outs.
    7. Add a combine operator with both the signal ins and combine a table with the outport of the combine operator.
    Save and deploy. I hope it will help you.
    Here, you have to select the rows which you want to visualize in the final output table.
    Regards,
    Nutan
    regards,
    Nutan

  • Forming generic sql query   for joining multiple sap tables in ABAp

    Hi,
    I am new to this abap field ,facing an issue onsap-jco project . I have used RFC_READ_TABLE  FM ,Customized this FM but facing an issue how to write generic  open SQl select statement  for joining multiple tables  using RFC_READ_TABLE .Kindly help on this issue.
    Thanks.

    something like this? If your tuples are not single columns, then you'll have to use dynamic sql to achieve the same result.with
    table_1 as
    (select '|Xyz|Abc|Def|' tuple from dual
    table_2 as
    (select '|Data1|Data21|Data31|Data41|Data51|' tuple from dual union all
    select '|Data2|Data22|Data32|Data42|Data52|' tuple from dual union all
    select '|Data3|Data23|Data33|Data43|Data53|' tuple from dual union all
    select '|Data4|Data24|Data34|Data44|Data54|' tuple from dual union all
    select '|Data5|Data25|Data35|Data45|Data55|' tuple from dual
    select case the_row when 1
                        then tuple
                        else '|---|---|' || substr(tuple,instr(tuple,'|',1,3) + 1)
           end tuple
      from (select substr(a.tuple,instr(a.tuple,'|',:one_one),instr(a.tuple,'|',:one_one + 1)) ||
                   substr(a.tuple,instr(a.tuple,'|',1,:one_two) + 1,instr(a.tuple,'|',1,:one_two + 1) - instr(a.tuple,'|',1,:one_two)) ||
                   substr(b.tuple,instr(b.tuple,'|',1,:two_one) + 1,instr(b.tuple,'|',1,:two_one + 1) - instr(b.tuple,'|',1,:two_one)) ||
                   substr(b.tuple,instr(b.tuple,'|',1,:two_two) + 1,instr(b.tuple,'|',1,:two_two + 1) - instr(b.tuple,'|',1,:two_two)) tuple,
                   rownum the_row
              from table_1 a,table_2 b
    order by the_rowRegards
    Etbin
    Message was edited by:Etbin
    user596003

  • Difficult to filtrate the user Dimension table

    I have dimension table, named user, and fact table. I want to filtrate that right user can review right value from the fact table based on user's windows authenication. You use the WA to filtrate the dimension table.
    I have used the syntax code "{STRTOMEMBER("[xxxxx].[xxxxxx].&[" + Username() + "]")}" at the textbox "Allowed member set". (Picture 1).
    Unfortunately, the value in fact table is not working.
    Do you guys have a better solution?

    Create a Role for a particular user (Can Do it through SSMS also) and then go inside role and add an user to that role. Please follow below steps
    Security Setting at SSAS Level
    For Example: This security setup has been done to prevent users to not see other users’ data. Our Main dimension is DIM_PROVIDER and column Provider_ID and security setup has been done based on Provider_ID. Created a role ABC_Role based on requirement and
    for this role given specific access by editing roleàGo to ‘Dimension Data’àUnder a cube (Regional Sales) you will have all dimensions used
    à Select one dimension, for example, DIM_PROVIDERàGo to Attribute Hierarchy and select column Provider_IDà Deselect all members
    and then select only a specific member like 5 (ABC provider)àGo to Advance Tabà Check the ‘Enable Visual Total’àThis way you have
    to restrict all the dimensions where we have column Provider_ID
    à Click ok
    Now add those members to ABC_Role who all belongs to Provider ABC
    Security Setting at ProClarity Level
    Go to Analytic Server Administration ToolàClick on RolesàAdd the Members to ABC_Role who all belongs to Provider ABC.
    So this way when a user try to access ProClarity URL, user needs to provide User ID and Password and based on role user will be able to access data only related to him/her. User can build own
    report (ProClarity View) and can save it.
    Thanks Shiven:) If Answer is Helpful, Please Vote

  • How to join multiple source tables and do lookup?

    I have a requirement to load a target table by joining 4 source tables. Also I have to do a lookup on a domain table to transform codes and check for nulls. What will be the best approach to load the target table?
    Is it possible to do it in one interface or do I need to build multiple interfaces to achive this?
    My source and target database both are oracle and I am planing to use Oracle Incremental Update Merge.
    Thank you

    You are in the right direction by creating one interface for this transformation.
    You will need to drag drop 4 source tables + the lookup table on the Sources window of Interface and then make appropriate joins.
    Also, check for NULLS in the transformation. Depends what you want to do with the NULLS. If you want to ignore them, use a filter.
    If you want them to error out, use a constraint.
    If you want to convert them, use NVL
    Start with Oracle Incremental Update and once successful, use Oracle Incremental Update MERGE.

  • Possible to join multiple internal tables ?

    Is it possible to join internal tables like this:
    itab1:
    fields are matnr f1 f2
    itab2:
    fields are matnr f3 f4
    itab3:
    fields are matnr f5 f6
    required final-itab:
    fields are - matnr f1 f2 f3 f4 f5 f6
    (which are joined by matnr)
    Thanks.

    Ok, then we need to take all three ITABs and get all of the MATNRs into another internal table, then loop at this internal table and read the records for ITAB1, ITAB2, and ITAB3.
    data: begin of imatnr occurs 0,
          matnr type mara-matnr,
          end of imatnr.
    loop at itab1.
      imatnr-matnr = itab1-matnr.
      collect imatnr.
    endloop.
    loop at itab2.
      imatnr-matnr = itab2-matnr.
      collect imatnr.
    endloop.
    loop at itab3.
      imatnr-matnr = itab3-matnr.
      collect imatnr.
    endloop.
    Loop at imatnr.
    clear final_itab.
    final_itab-matnr = imatnr-matnr.
    clear itab1.
    read table itab1 with key matnr = imatnr-matnr.
    if sy-subrc = 0.
    final_itab-f1 = itab1-f1.
    final_itab-f2 = itab1-f2.
    endif.
    clear itab2.
    read table itab2 with key matnr = imatnr-matnr.
    if sy-subrc = 0.
    final_itab-f3 = itab2-f3.
    final_itab-f4 = itab2-f4.
    endif.
    clear itab3.
    read table itab3 with key matnr = imatnr-matnr.
    if sy-subrc = 0.
    final_itab-f5 = itab3-f5.
    final_itab-f6 = itab3-f6.
    endif.
    append final_itab.
    endloop.
    REgards,
    Rich Heilman

  • Simultaneous hash joins of the same large table with many small ones?

    Hello
    I've got a typical data warehousing scenario where a HUGE_FACT table is to be joined with numerous very small lookup/dimension tables for data enrichment. Joins with these small lookup tables are mutually independent, which means that the result of any of these joins is not needed to perform another join.
    So this is a typical scenario for a hash join: the lookup table is converted into a hashed map in RAM memory, fits there without drama cause it's small and a single pass over the HUGE_FACT suffices to get the results.
    Problem is, so far as I can see it in the query plan, these hash joins are not executed simultaneously but one after another, which renders Oracle to do the full scan of the HUGE_FACT (or any intermediary enriched form of it) as many times as there are joins.
    Questions:
    - is my interpretation correct that the mentioned joins are sequential, not simultaneous?
    - if this is the case, is there any possibility to force Oracle to perform these joins simultaneously (building more than one hashed map in memory and doing the single pass over the HUGE_FACT while looking up in all of these hashed maps for matches)? If so, how to do it?
    Please note that the parallel execution of a single join at a time is not the matter of the question.
    Database version is 10.2.
    Thank you very much in advance for any response.

    user13176880 wrote:
    Questions:
    - is my interpretation correct that the mentioned joins are sequential, not simultaneous?Correct. But why do you think this is an issue? Because of this:
    which renders Oracle to do the full scan of the HUGE_FACT (or any intermediary enriched form of it) as many times as there are joins.That is (should not be) true. Oracle does one pass of the big table, and then sequentually joins to each of the hashmaps (of each of the smaller tables).
    If you show us the execution plan, we can be sure of this.
    - if this is the case, is there any possibility to force Oracle to perform these joins simultaneously (building more than one hashed map in memory and doing the single pass over the HUGE_FACT while looking up in all of these hashed maps for matches)? If so, how to do it?Yes there is. But again you should not need to resort to such a solution. What you can do is use subquery factoring (WITH clause) in conjunction with the MATERIALIZE hint to first construct the cartesian join of all of the smaller (dimension) tables. And then join the big table to that.

  • Best practice when FACT and DIMENSION table are the same

    Hi,
    In my physical model I have some tables that are both fact and dimension table, i.e. in the BMM they are of course separated into Fact and Dim source (2 different units) and it works fine. But I can see that there will be trouble when having more fact tables and I e.g. have a Period dimension pointing to all the different fact tables (different sources).
    Seems like the best solution to this is to have an alias of the fact/transaction table and have 2 "copies" of the transaction table (one for fact and one for dimension table) in the physical layer. Only bad thing is that there will then allways be 2 lookups in the same table when fetching data from the dimension and the fact table.
    This is not built on a datawarehouse - so the architecture is thereby more complex. Hope this was understandable (trying to make a short story of it).
    Any best practice on this? Or other suggestions.

    Id recommend creation of a view in the database. if its an oracle DB, materialised views would be a huge performance benefit. you just need to make sure that the MVs are updated when the source is updated.
    -Domnic

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

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

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

  • Joining two fact tables

    Hi:
    We have to add two fact tables F1 AND F2 to an existing bmm. These fact tables have history tables F11 AND F22 and we have to use partition logic for this.
    We have multiple dimensions D1,D2,D3, D4,D5, D6, D7, D8.
    We have common dimension table D1.
    F1, F2 are joined to D1 on the item Id.
    F1 should be joined to F2 on the Invoice Id.
    We have calculated columns in F1 based on the columns in F2.
    Please let me know the best way to build a bmm in this scenario.
    Thanks,
    LC

    Hi LC,
    We have to add two fact tables F1 AND F2 to an existing bmm. These fact tables have history tables F11 AND F22 and we have to use partition logic for this.How you did partition ? you should be using Fragmentation logic for that any how you will add the F11/F22 tables to F1 and F2 LTS , so when you join F1 & F2 to the common dimension then it should work for the calucluated measures but dont forgot to create hierarchies and specify the content levels for the fact tables
    Thanks,
    Saichand

Maybe you are looking for

  • Help!!!! copy a file of client at server

    Must copy a file of client at server, write code plsql. Exist of the instruction at concern..... thanks Giovanni P.S. excuse for write english evil!!! email: [email protected]

  • Export in 16:9

    Hi, is there a way to eport my slideshow in 16:9 or is the maximum 720*480 ?

  • Oracle Collaboration Suite Calendar Portlet

    Hi, I have only oracle calendar installed from OCS 10G. I have seen from documentation that there is a Calendar Portlet available as part of the install. Does anyone know where the calendar portlet is installed, or is there a war or ear file that I c

  • Web Services/MDM - Java Knowledge

    Hi,    Does we need to have any java knowledge for programming, if at all our scenario is using Web Services as part of Implementation? Thanks

  • Adding favourite locations to InDesign ..?

    Hi, I wonder if anyone can help with a CS5.5 query. I use Windows 7. I open pretty much 9/10 documents from the same folder each day and wondered if/how I can set up a 'favourite' network folder/drive within InDesign, so that when I go to open a docu