Populating a bridge table

Hi please I have a case where
two dimesions are to be linked by a bridge table
dim a
Accid PK
Dim b
Bid PK
Accid FK
Fact table
Fid PK
Accid FK
Bridge table
Aid PK
Bid PK
I have checked different examples online, and they used small data and insert the data in the bridge table manually, Please what is the best logic of populating a bridge table

Hi 14QR1A,
According to your description, you have two dimension tables have many to many relationship. Now you want to create a bridge table link dim a and dim b. Right?
In this scenario, since the dim a and dim b has many to many relationship, when building a link table, you have to crossjoin these two tables. It means you need to insert all combination of Aid and Bid as records into this bridge table.
Bridge Table
Aid(PK)     Bid(PK)
1               A
1               B
2               A
2               B
Best Regards,
Simon Hou
TechNet Community Support

Similar Messages

  • How to define an aggregation rule for a dimension based on bridge table?

    Hello,
    I need a solution for aggregating data correctly when using a dimension based on a set of dimensione tables containing a bridge table. Please find below a description of my business case and the OBIEE model which I’ve created thus far.
    Business Case
    The company involved wants to report on the number of support cases, the different types of actions that were taken and the people involved in those actions. One support case will undergo a number of actions (called ‘handelingen’) until it is closed. For each action at least one person is involved performing a specific role, but there can also be multiple persons involved with 1 action, each performing a different role for that action. This is the N : N part of the model.
    The problem that I face is visible in the two pictures below:
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample.png
    As long as I don’t include anything from the Dimension Meelezer in my report, I get the correct number of handelingen (7). When I include the person (called ‘Meelezer’), the measuere per action is multiplied by the number of persons/roles involved with that action.
    When I changed the Aggregation rule in the report column #Handelingen to ‘Server Complex Aggregate’ I do get the correct endtotal:
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample2.png
    I believe it should be possible to define in the repository a different aggregation rule for individual dimensions, but I’ve not been able to achieve this.
    Explained below is what I have created in my Physical and Business Model & Mapping layers:
    The Physical Model is built like this:
    (This is just a small part of a much larger physical model, but I’ve only included the most relevant tables)
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/PhysicalDiagram-1.png
    The Fact table (ALS Feit Zaakverloop) contains FK’s for the action (FK_HANDELING, joined to ALS Dim Handeling), the date the action took place (FK_DATUM_ZAAKVERLOOP, joined to ALS Dim Datum Zaakverloop) and the uniqe group of people involved (FK_MEELEZERS, joined to ALS Groep Meelezers) and a measure column (SUM_HANDELINGEN) populated with the value ‘1’ for each row.
    The Bridge table (ALS Brug Meelezer/Reden Meelezen) contains three FK’s: FK_GR_MEELEZERS (joined to ALS Groep Meelezers), FK_MEELEZER (joined to ALS Dim Functionaris) and FK_REDEN_MEELEZEN (joined to ALS Dim Reden Meelezen).
    The Business Model
    In the business model, the four physical tables for the N:N relation have been combined into one logical dimension table.
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BusinessModel-1.png
    DIM Meelezer contains one LTS in which the four physical tables have been combined:
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS1.png
    And all the required locical columns have been created:
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS2.png
    DIM Meelezer has also been identified as a bridge table and a Business Key has been defined on a combination of the FK’s in the bridge table and business codes of the two dimension tables.
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BMDIM.png
    Next a hierachy was created for Dim Meelezer:
    http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/Hier.png
    In Feit Zaakverloop, a measurement called ‘# Handelingen’ was created using SUM_HANDELINGEN, with an aggregation rule of SUM.
    In the LTS of both the DIM Meelezer and Feit Zaakverloop, the Logical Content Levels have both been set to: LVL Detail – Meelezer.
    Please provide suggestions that will NOT require changes to the physical datamodel as they would require too much time to achieve (or at leats would not be ready before my deadline.
    Thanks!
    Edited by: The_Dutchman on Dec 13, 2011 11:43 AM

    Hmm, no replies yet...
    Am I in 'uncharted territory' with this issue?

  • XREF3 field not getting populated in BSEG table while posting MIRO

    Hi,
         I have one query in MIRO tcode.I have activated xref3 field in MIRO tcode using enhancement LMR1MF6Q.Now when i try to post document with some values in xref3 field on screen ,value is not getting populated in BSEG table.Please tell me what else needs to be done to achieve this ?
    any hint on this?
    Thanks & Regards,
    Soniya S.

    Hi,
    1.- According to SAP Note 904652 - MIRO: Different from FB60
    https://service.sap.com/sap/support/notes/904652
    MIRO is an independent Materials Management (MM) transaction that does not
    claim to be the same as the accounting transactions (such as FB60 or FB01).
    MIRO was developed to allow users to process vendor invoices within the
    context of the MM procurement processes as simply as possible.
    For this reason, among other differences, the field selection was limited
    to the absolutely necessary. For example, the following fields from the
    accounting document are not available in Transaction MIRO (this list is not
    complete):
    Reference key (BSEG-XREF1, -XREF 2, -XREF 3)
    2.- SAP Note 1156325 - BAdIs in the Logistics Invoice Verification environment
    https://service.sap.com/sap/support/notes/1156325
    Have a look at badi MRM_ITEM_CUSTFIELDS.
    This badi will create a new tab at item level in order to display the new fields.
    I haven´t used this badi so i cannot talk from experience here.
    Think twice before deciding.
    Best regards.

  • 3-1674105521 Multiple Paths error while using Bridge Table

    https://support.us.oracle.com/oip/faces/secure/srm/srview/SRViewStandalone.jspx?sr=3-1674105521
    Customer Smiths Medical International Limited
    Description: Multiple Paths error while using Bridge Table
    1. I have a urgent customer encounterd a design issue and customer was trying to add 3 logical joins between SDI_GPOUP_MEMBERSHIP and these 3 tables (FACT_HOSPITAL_FINANCE_DTLS, FACT_HOSPITAL_BEDS_UTILZN and FACT_HOSPITAL_ATRIBUTES)
    2. They found found out by adding these 3 joins, they ended with circular error.
    [nQSError: 15001] Could not load navigation space for subject area GXODS.
    [nQSError: 15009] Multiple paths exist to table DIM_SDI_CUSTOMER_DEMOGRAPHICS. Circular logical schemas are not supported.
    In response to this circular error, the developer was able to bypass the error using aliases, but this is not desired by client.
    3. They want to know how to avoid this error totally without using alias table and suggest a way to resolve the circular join(Multiple Path) error.
    Appreciated if someone can give some pointer or suggestion as the customer is in stiff deadline.
    Thanks
    Teik

    The strange thing compared to your output is that I get an error when I have table prefix in the query block:
    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** DUMPFILE=TMP1.dmp LOGFILE=imp.log PARALLEL=8 QUERY=SYSADM.TMP1:"WHERE TMP1.A = 2" REMAP_TABLE=SYSADM.TMP1:TMP3 CONTENT=DATA_ONLY
    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
    ORA-31693: Table data object "SYSADM"."TMP3" failed to load/unload and is being skipped due to error:
    ORA-38500: Unsupported operation: Oracle XML DB not present
    Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Fri Dec 13 10:39:11 2013 elapsed 0 00:00:03
    And if I remove it, it works:
    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** DUMPFILE=TMP1.dmp LOGFILE=imp.log PARALLEL=8 QUERY=SYSADM.TMP1:"WHERE A = 2" REMAP_TABLE=SYSADM.TMP1:TMP3 CONTENT=DATA_ONLY
    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
    . . imported "SYSADM"."TMP3"                             5.406 KB       1 out of 2 rows
    Job "SYSTEM"."SYS_IMPORT_FULL_01" successfully completed at Fri Dec 13 10:36:50 2013 elapsed 0 00:00:01
    Nicolas.
    PS: as you can see, I'm on 11.2.0.4, I do not have 11.2.0.1 that you seem to use.

  • Bridge Table between two fact tables

    Hello everybody,
    From what I have read on the BI Administration tool help and on this forum, bridge tables are used to define many-to-many relations between dimension sand fact tables. Is it possible to have a bridge table defining a many-to-many relation between two fact tables?
    Here is my senario:
    1. We have a fact table called fact_Orders describing orders for some products.
    2. We have a fact table called fact_Sales describing sales og these products.
    3. We have a table describing the transformation from order lines to sales lines which is a many-to-many relation, because it is possible to transform an order in more than two steps.
    I was thinking of connecting the two fact tables with a bridge table.
    If bridge tables are inappropriate for this case, what could be a better model for my senario?
    Thanks for your time.

    Hi,
    Well a conformed dimension is a bridge table between two facts, so not sure why you need anything else. If there is a one to many from D1 to F1 and a one to many from D1 to F2 then effectively there is a many to many join from F1 to F2 through the D1 dimension.
    Sounds to me like all you need is an order dimension table, rows in the orders fact table will join to this dimension and so will rows in the sales fact table. You can then do calculations like number of sales per order, total sales revenue per order, # of order items per order etc etc.
    Regards,
    Matt

  • Alternative of Bridge table in data Modelling.

    Hello Gurus,
    while doing the data modeling, we found one place where we have Many to Many joins between One Fact and 3 Dim.
    where in Dim., we mostly have only one attribute/ Dim, which relates Many to Many with Fact.
    so as in obiee we have to build the bridge table to take care of the issue.
    is there any alternative method of data modeling that can eliminate the Bridge table itself?
    I was thinking to add the dim attribute in fact itself. though it's with diff grain it should work??

    If you really have a many-to-many relationship from fact to dimension, which attribute value (which of the many) would you put on the fact?
    What is the issue you are having with a bridge table?

  • Populating a hash table

    Hi,
    I have a hashtable which contains a number of objects of my custom class.
    I need the properties of these objects to be stored in a jTable, a row per object.
    Could anyone offer me any help,
    Anything will be very much apreciated

    The title of your post is "populating a hash table" but the first sentence suggests you have already populated the hash table and you want to get data out of it.
    The elements() method gives you an Enumeration that allows you to extract the values from the Hashtable.
    There's a tutorial here about how to use JTables: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

  • Hours not populated in the Table C1 (Cost Distribution) in Time Evaluation

    Hi All,
    I am entering Time info along with the Reciever Cost Center, Internal Order and other info in the CATS Time sheet and transferring the saved details to HR Time Mgmt & CO. Later when I run Time Evaluation (PT60 using schema TM00) for the person his Cost Distribution info is getting populated in the Table C1.
    Then when I go to the Time Evaluation Results Table (B2 Cluster) thru transaction PT66 and want to check the details for the employee under C1. I see all the Reciever Cost Center, Internal Order  info. I double click on the TReciver Cost Center to see how many hours getting charged to it, it shows 0.000
    even thogh I had entered 4.00 hours against the Reciever Cost center in CATS.
    Can someone direct me in a step by step way as to how to overcome this anamoly.
    Your suggestions are highly welcome.
    Regards,
    Aslam

    Hi,
    I hope you are using transaction CATA to transfer to HR and Controlling.
    When you transfer entries from CATS to HR to which Infotype the hours get transfered?
    Could you clarify me on this?

  • OBI EE 10g: Bridge tables and Based on Dimensions Aggregation

    hi experts,
    i am working on OBI EE 10 g (10.1.3.4)
    The BM&M layer consist of:
    1) Logical fact table "Sale_Indicators"
    Fields: SALE_ID (PK, FK),
    D1_ID (FK),
    D2_ID (FK),
    Indicator1 (measure, level of granularity: SALE_ID),
    Indicator2 (measure, level of granularity: SALE_ID),
    Indicator3 (measure, level of granularity: SALE_ID)
    2) Logical dimension table
    "Sales" (PK: SALE_ID),
    "D1" (PK: D1_ID),
    "D2" (PK: D2_ID),
    "Customers" (PK: SALE_ID, CUST_ID) - bridge table!
    "Products" (PK: SALE_ID, PROD_ID) - bridge table!
    3) Dimensions: SalesDim, D1Dim, D2Dim, CustomersDim, ProductsDim
    If fact table is joined with bridge table, the number of rows in fact table is multiplied, for example:
    D1_ID | SALE_ID | CUST_ID | Indicator1
    777 | 1 | 14 | 10
    777 | 1 | 17 | 10
    777 | 2 | 15 | 12
    888 | 3 | 16 | 20
    888 | 3 | 17 | 20
    888 | 4 | 19 | 30
    I need to get report:
    D1_ID | Indicator1 (SUM)
    777 | 22
    888 | 50
    and with filter by customer, for example (CUST_ID = 17):
    D1_ID | Indicator1 (SUM)
    777 | 10
    888 | 20
    i am trying to use "based on dimension" aggregation, for example (Indicator1):
    Dimension Formula
    CustomersDim MIN
    ProductsDim MIN
    Others SUM
    The generated physical SQL performs joining EVERY dimension to the fact table, even though they are not included in the final result set.
    Is there any way to tweak logical or physical model in order to eliminate excessive joins?
    Thanks in advance!
    Edited by: 859688 on 31.10.2011 4:04
    Edited by: 859688 on 31.10.2011 4:06
    Edited by: 859688 on 31.10.2011 4:08

    I found this text on the help, but I didn't understand, because when I check the "based on dimensions" check box, I can choose aggregation rules for each dimension, not only the time dimension.
    Also, I found in the help menu:
    "In the Aggregation tab, select the Based on dimensions check box.
    The Browse dialog box automatically opens.
    In the Browse dialog box, click New, select a dimension over which you want to aggregate, and then click OK.
    In the Aggregation tab, from the Formula drop-down list, select a rule."
    I did the same steps suggested by the text above, but it didn't work.

  • Who to make use of bridge table in the report

    hi all,
    I have two tales let us say T1 and T2, having may to may relation .. if i take the one column from T1 table and another column from T2 table in the report.. it is taking more time to generate. What is the problem, why they have interested Bridge table concept,
    let us say i have created one bridge table,TB,, so that i need a report generate the report having columns from T1 and T2 that time how to use bridge table ?. pls let me know if any one knew it.
    Thanks
    Raj

    Hi,
    Check this out. I'm not sure if itwould help, but it might: http://www.rittmanmead.com/2008/08/the-mystery-of-obiee-bridge-tables/
    J.

  • What is the use of bridge table in obiee

    If any body replay me use of bridge table with scenario
    which situation you can use it.

    An example of a bridge table I use frequently is w_gl_linkage_information_g . Pasted a sample query below:
    SELECT APF.*
    FROM w_gl_linkage_information_g GLI
    ,w_gl_other_f GLO
    ,w_ap_xact_f APF
    WHERE GLI.journal_line_integration_id = GLO.integration_id
    AND GLI.source_distribution_id = APF.acct_doc_id
    AND GLO.etl_proc_wid = APF.etl_proc_wid;
    AND GLO.integration_id = '4969904~2';

  • Bridge Tables

    Hi,
    I am having a little trouble using bridge tables. For testing I created an n-n relation. When I just make joins it shows the link table like fact table but queries work okay. When I check the bridge table check box, it identifies the correct fact and dimension tables, but I get a consistecy warning since one of the dimension tables does not join to any fact table and also querires don't work.
    So how exactly should I use the bridge table, and also why do I need it?

    Hi,
    Find the link below which might help you.
    http://www.biblogs.com/2008/08/28/the-mystery-of-obiee-bridge-tables/
    Regards,
    Som

  • Distinct Count Measure on Dimension table via Bridge table.

    Hi Team,
    I have Dim_Devices Table, which is linked to other dimension like Dim_User  and Dim_City.
    All these table has many to many relationship defined in bridge table i.e. B_Devices_User_City using referential keys.
    I want to derive measure such as
    Select Count(Dim_Devices[Device_Id])
    where Dim_Devices.Validity_End_Date is null
    Note : Device_Id and Validity_End_Date are present in Same Dim_Devices  Dimension Table.
    Could you please help me to define cube structure and how to create such measure out of dim_table.

    Hi Charlie,
    Now, I have define DistinctCount Agreegation on Dim_Devices table which will use reference Relationship on B_Devices_User_City. My Count is correct.
     But, I came across one more issue, i.e. From Processed and deployed cube, I am trying to create off-line Cube/or Global Cube (I have given syntax below) which is for limited set of dimensions and measures, I found that It shows me error due
    to such relationship.
    Does it mean that, For Global Cube, Can't we use DistinctCount/Count agreegation?
    CREATE
    GLOBAL CUBE [Device OLAP_Cube_1_3]
    Storage
    'C:\Exportcube.cub'
    FROM [Device DATA CUBE]
      -- Measures
      -- Cube

  • OBIEE Conformed dimension with Bridge Table

    Hi,
    I have an issue and tried all the links from Mark and Gerad regarding bridge tables. But probably this is a bit different.
    I have to extend the OOB data model for OBIA - where the relationship between group account and gl account dimensions are 1 to many. In my case its many to many and hence bridge table.As this is not a standard customization, so posting this thread here.
    Although its out of the box, a short description of the scenario.
    Account Dimension levels -
    total --->Group account---->Gl account
    The logical table has two LTS - GL account and Group account forming a conformed dimension using column mapping.
    Earlier(OOB) there was no join the physical layer between these tables ,as I had to use the Bridge table , so I joined these two with the bridge table in physical layer.
    But the problem is, if I try to use standard technique to include the bridge table into the LTS of the group account table (i.e. Group account---->bridge<-------Gl account),
    there is a problem of over counting ,as the group account level is also connected to summary fact tables - the query will include the bridge table and hence over count.
    So my requirement is this -
    When only Group account is selected it will hit the summary fact tables (content level is already set in OOB), but it shouldn't use the bridge table - so no overcount.
    If we drill from Group account level or when Both Group account and Gl account is selected, it would use the bridge table and hit the detail fact table (content level is already set in OOB).
    I am using OBIA 7963 with OBIEE11g.
    This is the model - Summary facts <-------Group account ------>Bridge<-------Gl account-------->Detail Facts
    Please help.
    Regards,
    Krish
    Edited by: Krish on Aug 7, 2011 9:48 AM
    Edited by: Krish on Aug 7, 2011 9:50 AM

    Anybody please any i/p?

  • Calc problem with fact table measure used as part of bridge table model

    Hi all,
    I'm experiencing problems with the calculation of a fact table measure ever since I've used it as part of a calculation in a bridge table relationship.
    In a fact table, PROJECT_FACT, I had a column (PROJECT_COST) whose default aggregate was SUM. Whenever PROJECT_COST was used with any dimension, the proper aggregation was done at the proper levels. But, not any longer. One of the relationships PROJECT_FACT has is with a dimension, called PROJECT.
    PROJECT_FACT contains details of employees and each day they worked on a PROJECT_ID. So for a particular day, employee, Joe, might have a PROJECT_COST of $80 for PROJECT_ID 123, on the next day, Joe might have $40 in PROJECT_COST for the same project.
    Dimension table, PROJECT, contains details of the project.
    A new feature was added to the software - multiple customers can now be charged for a PROJECT, where as before, only one customer was charged.
    This percentage charge break-down is in a new table - PROJECT_BRIDGE. PROJECT_BRIDGE has the PROJECT_ID, CUSTOMER_ID, BILL_PCT. BILL_PCT will always add up to 1.
    So, the bridge table might look like...
    PROJECT_ID CUSTOMER_ID BILL_PCT
    123          100     .20
    123          200     .30
    123          300     .50
    456 400 1.00
    678 400 1.00
    Where for project 123, is a breakdown for multiple customers (.20, .30. .50).
    Let's say in PROJECT_FACT, if you were to sum up all PROJECT_COST for PROJECT_ID = 123, you get $1000.
    Here are the steps I followed:
    - In the Physical layer, PROJECT_FACT has a 1:M with PROJECT_BRIDGE as does PROJECT to PROJECT_BRIDGE (a 1:M).
    PROJECT_FACT ===> PROJECT_BRIDGE <=== PROJECT
    - In the Logical layer, PROJECT has a 1:M with PROJECT_FACT.
    PROJECT ===> PROJECT_FACT
    - The fact logical table source is mapped to the bridge table, PROJECT_BRIDGE, so now it has multiple tables it maps to (PROJECT_FACT & PROJECT_BRIDGE). They are set for an INNER join.
    - I created a calculation measure, MULT_CUST_COST, using physical columns, that calculates the sum of the PROJECT_COST X the percentage amount in the bridge table. It looks like: SUM(PROJECT_FACT.PROJECT_COST * PROJECT_BRIDGE.BILL_PCT)
    - I brought MULT_CUST_COST into the Presentation layer.
    We still want the old PROJECT_COST around until it get's phased out, so it's in the Presentation layer as well.
    Let's say I had a request with only PROJECT_ID, MULT_CUST_COST (the new calculation), and PROJECT_COST (the original). I'd expect:
    PROJECT_ID MULT_CUST_COST PROJECT_COST
    123          $1000     $1000
    I am getting this for MULT_CUST_COST, however, for PROJECT_COST, it's tripling the value (possibly because there are 3 percent amounts?)...
    PROJECT_ID MULT_CUST_COST PROJECT_COST
    123          $1000 (correct)      $3000 (incorrect, it's been tripled)
    If I were to look at the SQL, it would have:
              SELECT SUM(PROJECT_COST),
    SUM(PROJECT_FACT.PROJECT_COST * PROJECT_BRIDGE.BILL_PCT),
                   PROJECT_ID
              FROM ...
              GROUP BY PROJECT_ID
    PROJECT_COST used to work correctly before modeling a bridge table.
    Any ideas on what I did wrong?
    Thanks!

    Hi
    Phew, what a long question!
    If I understand correctly I think the problem lies with your old cost measure, or rather combining that with you new one in the same request. If you think about it, your query as explained above will bring back 3 rows from the database which is why your old cost measure is being multiplied. I suspect that if you took it out of the query, your bridge table would be working properly for the new measure alone?
    I would consider migrating your historic data into the bridge table model so that you have a single type of query. For the historic data each would have a single row in the bridge with a 1.0 BILL_PCT.
    Best of luck,
    Paul
    http://total-bi.com

Maybe you are looking for