How to join three dimension tables

I have one seperate schema, which consists of only 3 tables(all three tables has dimension fields and fact fields(dim fields =textual fields,fact fields=measures))
How to handle this type of situation in RPD.
Ex: table A,Table b,Table c
Table A needs to join with Table b on many to one relationship.
Table c needs to join with table b on many to one relationship.
Anyone suggest me what is the best way to handle this type of situation.do I require to create dimensional hierarchies for all three tables? Or can I consider only table b as dimension and remaining 2 consider as fact?

This will not be possible. As per dimensional modelling atleast you should have one fact table.
Dimensional tables can be joined to one another if the have flakes(sightly normalized table).
so you have start up the things from DWH.
Regards,
Kishore.

Similar Messages

  • How to join THREE different tables into internal table using one select statement .

    How to join THREE different tables into internal table using one select statement .
    Hi experts,
    I would like to request your guidance in solving the problem of joining the data from three different database tables into one internal table
    Scenario:
    Database tables:
    SPFLI
    SFLIGHT
    SBOOK.
    Table Fields:
    SPFLI - CARRID CONNID COUNTRYFR CITYFRM COUNTRYTO CITYTO
    SFLIGHT - CARRID CONNID FLDATE SEATSMAX SEATSOCC SEATSMAX_C
    SEATSOCC_C SEATSMAX_F SEATSOCC_F
    SBOOK - CARRID CONNID CLASS
    MY INTERNAL TABLE IS IT_XX.
    Your help much appreciated.
    Thanks in advance.
    Pawan.

    Hi Pawan,
    please check below codes. hope it can help you.
    TYPES: BEGIN OF ty_xx,
            carrid     TYPE spfli-carrid   ,
            connid     TYPE spfli-connid   ,
            countryfr  TYPE spfli-countryfr,
            cityfrom   TYPE spfli-cityfrom  ,
            countryto  TYPE spfli-countryto,
            cityto     TYPE spfli-cityto   ,
            fldate     TYPE sflight-fldate ,
            seatsmax   TYPE sflight-seatsmax ,
            seatsocc   TYPE sflight-seatsocc ,
            seatsmax_b TYPE sflight-seatsmax_b,
            seatsocc_b TYPE sflight-seatsocc_b,
            seatsmax_f TYPE sflight-seatsmax_f,
            seatsocc_f TYPE sflight-seatsocc_f,
            class      TYPE sbook-class,
          END OF ty_xx,
          t_xx TYPE STANDARD TABLE OF ty_xx.
    DATA: it_xx TYPE t_xx.
    SELECT spfli~carrid
           spfli~connid
           spfli~countryfr
           spfli~cityfrom
           spfli~countryto
           spfli~cityto
           sflight~fldate
           sflight~seatsmax
           sflight~seatsocc
           sflight~seatsmax_b
           sflight~seatsocc_b
           sflight~seatsmax_f
           sflight~seatsocc_f
           sbook~class
      INTO TABLE it_xx
      FROM spfli INNER JOIN sflight
      ON spfli~carrid = sflight~carrid
      AND spfli~connid = sflight~connid
      INNER JOIN sbook
      ON spfli~carrid = sbook~carrid
      AND spfli~connid = sbook~connid.
    Thanks,
    Yawa

  • How to join three tables and practical difference between 10g and 11g

    I want to know with example how to outer join three different tables in Oracle.
    Also if you have any website or reference for understand syntax or performance difference between 10g and 11g then please paste a link in.thanks!!

    Hi,
    897293 wrote:
    I want to know with example how to outer join three different tables in Oracle.The 3rd table comes into the result set the same way the 2nd one did:
    FROM           table_1  t1
    LEFT OUTER JOIN      table_2  t2  ON   ...
    LEFT OUTER JOIN      table_3  t3  ON   ...The join condition(s) for t3 can reference t1, or t2, or both.
    Also if you have any website or reference for understand syntax or performance difference between 10g and 11g then please paste a link in.thanks!!The main manuals all have "What's New" sections near the beginning. For example:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/wnsql.htm#sthref5
    Hoek,
    We've missed you. Welcome back!

  • How to Create a Dimension Table in OBIEE11g

    Hello,
    Chapter 9, page 221(if pdf) of the Build Repository manual of OBIEE 11g explains following.
    Creating Dimensions in Level-Based Hierarchies
    After creating a dimension, each dimension can be associated with attributes
    (columns) from one or more logical dimension tables and level-based measures from
    logical fact tables. After you associate logical columns with a dimension level, the
    tables in which these columns exist appear in the Tables tab of the Dimension dialog.
    To create a dimension with a level-based hierarchy:
    1. In the Business Model and Mapping layer of the Administration Tool, right-click a
    business model and select New Object > Logical Dimension > Dimension with
    Level-Based Hierarchy.
    Note that this option is only available when there is at least one dimension table
    that has no dimension associated with it.I am still learning OBIEE, and I can not see the dimension menu item as per point 1 becuse i do not have dimension table associated with it. All I have done at this point is to create logical tables based on few physical tables in physical layer.
    How do I create Dimension Tables? using BI Admin tool?
    Thanks,R

    Hi Rich,
    If you are new to Oracle BI, you would better start with the Oracle Learning Library; http://apex.oracle.com/pls/apex/f?p=9830:41:0::NO:RIR:IR_PRODUCT,IR_PRODUCT_SUITE,IR_PRODUCT_COMPONENT,IR_RELEASE,IR_TYPE,IRC_ROWFILTER,IR_FUNCTIONAL_CATEGORY:,BI,,,,,
    You create dimensions based on your logical tables. In a plain star-schema you would have one logical fact table and at least one or more logical dimension tabes attached (joined) to the fact table. Just follow the documentation and you would be good to go.
    Good Luck,
    Daan Bakboord
    http://obibb.wordpress.com

  • How to join two internal table rows in alternative manner into one internal table?

    How to join two internal table rows in alternative manner into one internal table?
    two internal tables are suppose itab1 &  itab2 & its data
    Header 1
    Header 2
    Header 3
    a
    b
    c
    d
    e
    f
    g
    h
    i
    Header 1
    Header 2
    Header 3
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INTO itab3 data
    Header 1
    Header 2
    Header 3
    a
    b
    c
    1
    2
    3
    d
    e
    f
    4
    5
    6
    g
    h
    i
    7
    8
    9

    Hi Soubhik,
    I have added two additional columns for each internal table.
    Table_Count - It represents the Internal Table Number(ITAB1 -> 1, ITAB2 -> 2)
    Row_Count  - It represents the Row Count Number, increase the row count value 1 by one..
    ITAB1:
    Header 1
    Header 2
    Header 3
    Table_Count
    Row_Count
    a
    b
    c
    1
    1
    d
    e
    f
    1
    2
    g
    h
    i
    1
    3
    ITAB2:
    Header 1
    Header 2
    Header 3
    Table_Count
    Row_Count
    1
    2
    3
    2
    1
    4
    5
    6
    2
    2
    7
    8
    9
    2
    3
    Create the Final Internal table as same as the ITAB1/ITAB2 structure.
    "Data Declarations
    DATA: IT_FINAL LIKE TABLE OF ITAB1.          "Final Internal Table
    FIELD-SYMBOLS: <FS_TAB1> TYPE TY_TAB1,     "TAB1
                                   <FS_TAB2> TYPE TY_TAB2.     "TAB2
    "Assign the values for the additional two column for ITAB1
    LOOP AT ITAB1 ASSIGNING <FS_TAB1>.
         <FS_TAB1>-TABLE_COUNT = 1.             "Table value same for all row
         <FS_TAB1>-ROW_COUNT = SY-TABIX. "Index value
    ENDLOOP.
    "Assign the values for the additional two column for ITAB2
    LOOP AT ITAB2 ASSIGNING <FS_TAB2>.    
         <FS_TAB2>-TABLE_COUNT = 2.                  "Table value same for all row
         <FS_TAB2>-ROW_COUNT = SY-TABIX.      "Index value
    ENDLOOP.
    "Copy the First Internal Table 'ITAB1' to Final Table
    IT_FINAL[] = ITAB1[].
    "Copy the Second Internal Table 'ITAB2' to Final Table
    APPEND IT
    LOOP AT ITAB2 INTO WA_TAB2.
    APPEND WA_TAB2 TO IT_FINAL.
    ENDLOOP.
    "Sort the Internal Table based on TABLE_COUNT & ROW_COUNT
    SORT IT_FINAL BY  ROW_COUNT TABLE_COUNT.
    After sorting, check the output for IT_FINAL Table, you can find the required output as shown above.
    Regards
    Rajkumar Narasimman

  • How to join three tables?

    I have used this query to join three tables but it displays an error : field vbak-vbeln is unknown.
    please help me out..
    SELECT vbak-vbeln vbak-bstnk vbap-matnr vbap-zmeng makt-maktx
    INTO CORRESPONDING FIELDs OF TABLE itab FROM vbak
    inner JOIN vbap ON vbak-vbeln eq vbap-vbeln
    inner JOIN makt ON vbap-matnr eq makt-matnr
    WHERE vbak-bstnk = s_bstnk.

    Hi mohan kumar ,
    just follow the Syntax
    SELECT FLD1 FLD2 FLD3 FLD4 FLD5 INTO CORRESPONDING FIELDS OF TABLE ITAB FROM TABLE1 INNER JOIN TABLE2 ON
    TABLE1FLD1 = TABLE2FLD1 INNER JOIN TABLE3 ON TABLE2FLD2 = TABLE3FLD2 INNER JOIN TABL4 ON  TABLE3FLD3 = TABLE4FLD3
    WHERE FLD1 = 'AA'
    Hope this may be helpful.
    Please reward points if found ok.
    Thanks and regards,
    Rajeshwar.

  • How fact links to Dimension Tables.

    Hi All,
    Can any one explain how the ROW_WID of the dimension table and the related column in the fact table both gets populated with same values in different mapping ?
    Consider if we want to develop a new fact and dimension tables, then how should i proceed for the ROW_WID and the join between fact and dimension.
    Thanks in Advance.
    Regards
    Vishwanath

    Hi
    Basically in BI Apps all dims are first populated and every dim table has a row wid column apart from the primary key combination(datasourceid+integration id) .If you open a seeded mapping and you would see this row wid column is populated using a reusable sequence generator transformation.So everytime u run this mapping the row wids change..........
    Now coming to the facts............as a normal rule of thumb in ETL u run the facts after all the dimensions........If you open any seeded fact mapping you will observe that every fact has a wid associated the dims it joins to.......so if a fact is joining to 3 dims then there will be 3 wids associated to each dim .These wids are again populated using a lookup on the dimension table and extracting row wid for relavant id of the dim.So u get the value of row wid of the dimension in the wid column of the fact....Please let me know if u hv questions
    With Regards
    Venkatesh

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

  • How to join several internal tables?

    Hi,
    I have several internal tables. And there is a very complex LOOP to extract data from these internal tables and many other logic inside it. The LOOP is very time-consuming.
    I am thinking to join these internal tables into one big internal table, to save some logic inside the complex LOOP. But as I know there is no "join" function for internal tables.
    So is there any workaround method to perform a "join" operation on internal tables?
    Thanks a lot!

    Hi,
    I have several internal tables. And there is a very complex LOOP to extract data from these internal tables and many other logic inside it. The LOOP is very time-consuming.
    I am thinking to join these internal tables into one big internal table, to save some logic inside the complex LOOP. But as I know there is no "join" function for internal tables.
    So is there any workaround method to perform a "join" operation on internal tables?
    Thanks a lot!

  • How to join three or more blocks in a form (like master/detail)

    I have four data blocks for four tables, lets call them blocks A, B, C, D
    Block A is a master block and block B is a detail block, block B holds a foreign key from block A (ofcourse)
    Now when i choose in a query data from block A it lists also data from detail block that is corresponding, but now.....
    detail block B also holds another foreign key from block C which takes his key from block D. and
    i want to make a form that will, when i query master block A, show some data from block B, C and D that is
    corresponding to block A.How do i do that?
    i'm using 10g and i am a begginer

    In each Data Block there are three nodes - triggers, items, and relations. The relations node is what you use to link the master to the detail. If you highlight the Relations node and press create a window will open to create your "New Relation". The master block is already entered because it is the block that you are currently in. You can then pick a detail block by pressing the "select..." button or just type the name of the block in. So if you did this in block A, you would enter B as your detail block. You will then need to enter a join condition. If the PK in block A is named A_DETAIL and the FK in block B is the same name, then you can just type in A_DETAIL, press OK, and the relationship will be automatically created. If the names are different then you could put in a join condition like A.A_DETAIL = B.B_A_DETAIL (whatever the names of the blocks and items are). You can then repeat this process for every parent-child relationship.

  • How to join three symbols as shown here in wwi using its features

    hello I want to connect three symbols in this position using wwi techniques but was not able to do rotation and use text box to join these object . any help

    Dear M D
    I am not 100% sure If I understood your requirement The symbols are related to GHS; therefore this type of demand is coming up often; but there are many solutions to handle it; many of them are "quite" tricky to use. Can you show your current result in WWI layout? How doees it look like now? And which WWi code did you use?
    C.B.

  • How to join this two tables

    Hi
    have a two login in forms not in oracle... i have two tables first the
    Master secodn the Employees.. my prob is i have two button for this two tables to login.. any solution on how i can join this two in one button that if i connect using from master tables or from employess it will login
    FirstTAble:::
    BEGIN
    iF :username IS NULL THEN
    MESSAGE ('Please enter Username ');
    MESSAGE ('Please enter Username ');
    GO_ITEM('username');
    RAISE FORM_TRIGGER_FAILURE;
    end if;
    IF :PASSNAME1 IS NULL THEN
    MESSAGE('Please enter password.');
    MESSAGE('Please enter password.');
    GO_ITEM('PASSNAME1');
    RAISE FORM_TRIGGER_FAILURE;
    end if;
    select username,passname
    into :pass.username,:pass.passname1
    from Master
    where :pass.username=username
    and :pass.passname1=passname;
    Message('Access Granted');
    Message('Access Granted');
    go_block('maina');
    hide_view('pass1');
    exception
    when no_Data_found then
    set_alert_Property('wrong',Alert_Message_text,'Invalid Password');
    if show_alert('wrong')=alert_button1 then
              go_item('PASSNAME1');
              :passname1:=null;
              end if;
    end;
    SEcodnTAble
    BEGIN
    iF :username IS NULL THEN
    MESSAGE ('Please enter Username ');
    MESSAGE ('Please enter Username ');
    GO_ITEM('username');
    RAISE FORM_TRIGGER_FAILURE;
    end if;
    IF :PASSNAME1 IS NULL THEN
    MESSAGE('Please enter password.');
    MESSAGE('Please enter password.');
    GO_ITEM('PASSNAME1');
    RAISE FORM_TRIGGER_FAILURE;
    end if;
    select username,passname
    into :pass.username,:pass.passname1
    from Employees
    where :pass.username=username
    and :pass.passname1=passname;
    Message('Access Granted');
    Message('Access Granted');
    go_block('maina');
    hide_view('pass1');
    exception
    when no_Data_found then
    set_alert_Property('wrong',Alert_Message_text,'Invalid Password');
    if show_alert('wrong')=alert_button1 then
              go_item('PASSNAME1');
              :passname1:=null;
              end if;
    end;

    use a union on the 2 select statements.

  • How to join three independen​t vi programs

    I have three independent vi programs running successfully. Now I would like to join them together and would like to run in sequence. How can I do that ?
    Plz look at the attached files. I would like to run in the sequence of send string, voltage measurement and then again send string. Plz help. Is it possible to write the voltage output program separately very similar to the send string vi having error in and error out wires ?
    Attachments:
    MCRS_sendString.vi ‏42 KB
    MercLib210.dll ‏212 KB
    single-point_voltage.vi ‏26 KB

    Here's a few notes that explain how to configure the Connector Pane. I took these directly from the LabVIEW Help File.
    Selecting a Connector Pane Pattern
    Complete the following steps to select a connector pane pattern for a VI.
    Right-click the icon in the upper right corner of the front panel window and select Show Connector from the shortcut menu to display the connector pane. The connector pane replaces the icon.
    LabVIEW selects a default connector pane pattern for the VI with as many terminals on the left of the connector pane as controls on the front panel and as many terminals on the right of the connector pane as indicators on the front panel. If this is not possible, LabVIEW selects the closest match. If the VI does not have any controls or indicators, LabVIEW selects a connector pane with one terminal.
    To select a different connector pane pattern for your VI, right-click the connector pane and select Patterns from the shortcut menu. A solid border highlights the pattern currently associated with your icon. To change the pattern, select a new one.
    After you select a connector pane pattern, you can customize it to suit your VI by adding, removing, or rotating the terminals.
    To add a terminal to the pattern, place the cursor where you want to add the terminal, right-click, and select Add Terminal from the shortcut menu.
    Note: Assigning more than 16 terminals to a VI might decrease performance and reliability. Too many terminals also can reduce the readability and usability of the VI.
    To remove an existing terminal from the pattern, right-click the terminal and select Remove Terminal from the shortcut menu.
    To change the spatial arrangement of the connector pane patterns, right-click the connector pane and select Flip Horizontal, Flip Vertical, or Rotate 90 Degrees from the shortcut menu.
    Assigning Terminals to Controls and Indicators
    After you select a pattern to use for the connector pane, you must assign a front panel control or indicator to each of the connector pane terminals. When you link controls and indicators to the connector pane, place inputs on the left and outputs on the right to prevent complicated or confusing wiring patterns in your VIs.
    Complete the following steps to assign terminals to controls and indicators in a connector pane.
    Right-click the icon in the upper right corner of the front panel window and select Show Connector from the shortcut menu to display the connector pane. The connector pane replaces the icon.
    Click a terminal of the connector pane. The tool automatically changes to the Wiring tool, and the terminal turns black. Although you use the Wiring tool to assign terminals on the connector pane to front panel controls and indicators, no wires are drawn between the connector pane and these controls and indicators.
    Click the front panel control or indicator you want to assign to the terminal. A marquee highlights the object.
    Click an open space of the front panel. The marquee disappears, and the terminal changes to the data type color of the control to indicate that you connected the terminal.
    Note: If the connector pane terminal turns white, a connection was not made. Repeat steps 1 through 3 until the connector pane terminal changes to the proper data type color.
    Repeat steps 2 through 4 for each control and indicator you want to assign to a terminal.
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • How to join two Source tables

    Hi
    I am doing a POC on joing two MSSQL 2K source tables and populating into Oracle table.
    I did not find the joiner operator and other transformation operators.
    Can anyone help me in using them?
    Thanks,
    Ganesh

    Hi,
    First, just drag&drop the two source table in the interface.
    Then, connect the two tables with eachother using your mouse while selecting the two columns that you want to use in your join.
    Transformations can be found when selecting a field in your target datastore; you will see a screen appear in the 'properties-panel' of your interface-editor; here you can edit transformations.
    Good luck ...
    Steffen

  • How to join three queries in sap bw

    Hi,
    I have to create one report as combination of three reports.
    This report will be combination of three Report
    ZQ_Ap_005 -- ZCFIAPCO
    ZQ_AR_008 u20130FIAR_003
    ZQ_AP_016u2014ZCFIAPPU
    This condition I have to join
    Company Code (005 & 016) = Trading Partner (from ZQ_AR_008)
    Vendor (ZQ_AP_005 & 016) = Company code (from ZQ_AR_008)
    I can not use infoset because using 3.5 version. And in 3.5 can not include infocube in infoset.
    Any suggestion.

    Hi Namah
    you need not do any java scripting for this. The command is enough to take care of your situation.
    Perhaps an example can help you. Suppose you have Query1,  Query2 & Query3 and Button1 and Button 2. Button 3
    For Query1, through the item properties, set Visiblility=Visible, for Query2, set Visibility=Hidden.
    Query3, set Visibility=Hidden.
    This will take care of your initial situation.
    Now, take button1, assign the command 'Set webitem properties'. In the command settings, set item binding=query1, and then in the next page of command settings set visibility=hidden. Now, click the button -Next COmmand-> Insert -assign the command 'set webitem properties' once again. Here, select the item binding as query2, then in the command settings, set visibilty=visible. What you have done now is assigning 2 commands to the same button, both getting trigerred with a single click.
    Now, this command setting will take care of making query1 hidden and query 2 visible.
    Similarly, do the settings for the button 2, with query1=visible and query2=hidden.
    Now, the result will be that on clicking button1 and button2, you can toggle between your queries.
    Hope this helps..

Maybe you are looking for

  • How do I use lightroom with a Canon EOS 7d mark ii

    I use Lightroom for everything and love it.  It is fantastic with all of my Canon cameras.   However, I just bought the new Canon 7D mark ii and Lightroom doesn't read the raw files.   I don't see Adobe having any updates for the new Raw file.   In t

  • Videos won't play in my admin account but will in the user account?

    why won't some videos play in my admin account but will in the user account using Safari or FireFox? I have a mid-year 2012 MBP w/Mt Lion OS X10.8.2, I believe all s/w is current. Have deleted cache, reset safari and just about everything I can find

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: admin

    I have a class that is used to check the status of all managed server in a domain. I use this class to check on the status of multiple domains. I have a for loop over all the domains and then invoke the method below, one for each domain (I instantiat

  • Image won't adjust to browser width

    Hi, I have placed an image in the footer of my master page. In design view it spans from left to right of the browser, but in preview it no longer fills the browser. What can I do to make sure it does? - When placing the image I made sure it hit the

  • How to burn karaoke music with lyrics thru itunes?

    i need help!! i downloaded a couple karaoke songs from itunes but when i burn it onto a cd or dvd the cd or dvd wont play or show the lyrics on the karaoke. how do i fix this?? the cd or dvd i burn will only play the music on the laptop but without t