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.

Similar Messages

  • Based on dimension aggregation

    I have a fact table with 2 sources. One of these sources has only one measure and I am having problems with it.
    This measure must use based on dimension aggregation, but it don't work. When I set this option, the measure shows a blank value in Answers, but when I switch to a default aggregation rule (not based on dimension), like sum or max, the value is shown correctly in Answers.
    My doubt is: is it necessary any other configuration on dimensions or fact tables in order to use based on dimensions aggregation? I just change the value in the aggregation tab of the measure, is there any other step necessary?
    Thanks

    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.

  • Bridge table to Role Playing Dimension

    Hi,
    Fact Sales table has role playing Customer dimension table related to it. For each role it had a relationship in the DSV. One on CustomerA the other on CustomerB.
    Now I have a trip dimension which should have a many to many relationship to the customers table. So I set a bridge table relating trip to customer.
    But when I slice by trip it only displays the sales that have CustomerA in the trip.
    I want it to display the sales that have CustomerB in the trip.
    How can I affect that?
    Thank you
    Namnami

    When you create a M2M relationship, you specify 2 dimensions and one intermediate measure Group.
    Even if the bridge table is loaded once in the DSV (even if you can just duplicate it to simplify its naming), you define two measure groups for the bridge table, one connected to Customer A and Trip A, and the other to Customer B and Trip B. Then, you define
    M2M relationship between Trip A and Customer A using bridgeA as intermediate, and do the same for B.
    Again, please, since M2M require understanding how it works internally, I suggest you to read the White paper I mentioned, because you have all the information there that will allow you to design the model you need. I think it's not a discussion that is
    easy to complete in a forum thread, because M2M involves many side consequences in calculation (e.g. what happen to unrelated dimensions involved in calculation?).
    Marco Russo (Blog,
    Twitter,
    LinkedIn) - sqlbi.com:
    Articles, Videos,
    Tools, Consultancy,
    Training
    Format with DAX Formatter and design with
    DAX Patterns. Learn
    Power Pivot and SSAS Tabular.

  • Based on Dimension Aggregation method - OBIEE 11G

    Hi,
    I have a fact table with one measure value and 3 dimensions (Time, Issue, status). Fact table is loaded monthly data for different issues and with status and a corresponding value.
    I want my report to show always issues that is latest of that period and then status of the same.
    Lets say:
    Fact table has data like this:
    31/Jan/2011 - Issue1 - Open - 10
    28/Feb/2011 - Issue1 - WIP - 20
    31/Mar/2011 - Issue1 - WIP - 30
    30/Apr/2011 - Issue1 -WIP - 40
    31/May/2011 - Issue1 -Closed - 50
    31/May/2011 - Issue2 -Open - 60
    31/May/2011 - Issue3 - Open - 20
    Now I want to see the report by status and value and it should show me the latest of that time period.
    For Quarter1 :
    WIP - 30
    For Quarter2:
    Open - 80
    Closed - 50
    If I take Year then it should show me :
    2011 - Open - 80
    2011 - Closed - 50
    I tried using aggregation "Based on dimension" option in BMM layer and put Others - Sum() and LAST against time dimension.
    But in that case it is giving me the results by status what is latest for the time period. So it is ding sum by other dimension first and then applying LAST method.
    In that case result of Quarter -1 will be :
    Open - 10
    WIP - 30
    If I can change the order of aggregation method like first apply LAST method and then do sum then I think desired result will come. But I am not able to change the order.
    Is there any other of doing this solution?
    Any help is highly appreciated.
    Thanks

    Hi,
    There will be multiple records for an entire month as there are many issues. For a particular Issue it will be one with one particular status for a particular month.
    The join is based on the date colum of fact table and the dimension table.
    Regards,
    SS

  • Aggreation Based on Dimensions - Aggregation rule: Evaluate_Aggr

    Hello Experts,
    Can any of you explain to me how do you use the Logical Column Aggregation based on dimensions?. If you can set up a simple example would be great. Also, what is the definition of the aggregation rule : Evaluate_Aggr?, please give a simple example
    Thanks for your time
    Pablo.

    And it's not the same than a level based measure :
    The definition of a level based measure :
    http://gerardnico.com/wiki/dat/obiee/bi_server/design/fact_table/level_based_measure_calculations
    An example with evaluate (lag analytic function)
    http://gerardnico.com/wiki/dat/obiee/presentation_service/obiee_period_to_period_lag_lead_function
    Check the two and you will see the difference in the definition.

  • 10g Nested Tables and APEX

    Trying to use the following within Apex:
    CREATE TYPE location_typ AS OBJECT (
    location_id NUMBER(4),
    street_address VARCHAR2(40),
    postal_code VARCHAR2(12),
    city VARCHAR2(30),
    state_province VARCHAR2(25));
    CREATE TYPE nt_location_typ AS TABLE OF location_typ;
    CREATE TYPE country_typ AS OBJECT (
    country_id CHAR(2),
    country_name VARCHAR2(40),
    locations nt_location_typ);
    CREATE TYPE nt_country_typ AS TABLE OF country_typ;
    CREATE TABLE region_tab (
    region_id NUMBER,
    region_name VARCHAR2(25),
    countries nt_country_typ)
    NESTED TABLE countries STORE AS nt_countries_tab (
    (PRIMARY KEY (NESTED_TABLE_ID, country_id))
    ORGANIZATION INDEX COMPRESS
    NESTED TABLE locations STORE AS nt_locations_tab);
    Can get Apex to function in the Tabular Report mode by modifying the query to use the correct syntax:
    select "REGION_ID",
    "REGION_NAME",
    c.COUNTRY_ID,
    c.COUNTRY_NAME,
    l.LOCATION_ID,
    l.STREET_ADDRESS, l.POSTAL_CODE,
    l.CITY,
    l.STATE_PROVINCE
    from "#OWNER#"."REGION_TAB", TABLE(COUNTRIES) C, TABLE(LOCATIONS) L
    Built a 'Maintenance' form. Put the Region base column on it. Then built a tabular form (with an updateable query) on the same page to access the first level Nest ( countries). Haven't figured out how to actually edit the values yet, but feel comfortable I will.
    But - trying to provide editing to the 2nd level nested table elements creates a problem. First, only 1 updateable query can be on a page. Hmmm - so to get around this I guess I have to build a new page that the calling updateable query will access when selecting one of the tabular form elements. Not elegant by any means. Was hoping to provide a blank form on the right side that would be populated by the Location Nested Table values when a select was made on the first level nest. Oh well.
    Just curious how anyone has handled this? I could pass stack between pages for sure, but was hoping page regions would be sufficient to handle this.
    Any white papers on this? Anything in the DEMO area to use as a template? The default Demo doesn't provide this based on querying user objects.
    Thanks,
    Dwight Taylor

    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    SQL> CREATE OR REPLACE TYPE table_type AS TABLE OF VARCHAR2 (8);
      2  /
    Type created.
    SQL> CREATE TABLE r(
      2    a INTEGER,
      3    b table_type)
      4    NESTED TABLE b STORE as b_1;
    Table created.
    SQL> CREATE TABLE s(
      2    a INTEGER,
      3    b table_type)
      4    NESTED TABLE b STORE as b_2;
    Table created.
    SQL> INSERT INTO r VALUES (1, table_type ('a', 'b'));
    1 row created.
    SQL> INSERT INTO s VALUES (1, table_type ('b', 'c'));
    1 row created.
    SQL> COLUMN c FORMAT A10;
    SQL> SELECT r.a, r.b MULTISET UNION DISTINCT s.b c
      2  FROM   r, s
      3  WHERE  r.a = s.a;
             A C
             1 TABLE_TYPE('a', 'b', 'c')
    SQL>

  • How to track changes in a custom table and based on that run an interface

    I have an interface. The pre-condition for running the interface is "Run the interface only if there is new entry added to the table( a custom table). Now I have created a change document object using tcode SCDO for the custom table. Now how do i proceed further. Please tell me the steps which i need to follow to check if the custom table has been changed and also the entries changed  before running the interface.

    Hello,
    SAP has provided many changes tracking related programs for Sales order, Vendor changes etc.
    They all use the standard function Module
      call function 'CHANGEDOCUMENT_READ_HEADERS'
    call function 'CHANGEDOCUMENT_READ_POSITIONS'
    so with these you can get the changed records
    Let me know if this helps you
    Thanks and Regards
    Pushkar Joshi

  • Problem: two fact tables and one conformed dimension

    Hi everyone!
    I need to solve this situation:
    I have two fact tables, let's say F1 and F2, that are both linked to D1, my conformed dimension
    I just need to select fields from D1 but I know that, when querying, OBIEE links it to a fact table anyway..how does it choose the fact table? That is, if I only want fields from D1, does the system queries also from F1 or F2? Is it a random choice?
    Is there a way to "force" this choice, telling the system for example to choose only from F1?
    Is there a workaround to solve this situation? Remember, I only need fields from D1.
    Thanks!!

    The solution of your problem is "Implict Fact Column"
    Go to presentation layer and double click on your subject area. then you will see Implict fact column option. click on set. give corresponding fact column there( in your case give F1 fact column)
    references: http://oracle-bi.siebelunleashed.com/articles/implicit-fact-column/
    Thanks
    GSR
    Edited by: GSR on Mar 20, 2012 3:22 PM

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

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

  • Lookup Table and Target Table are the same

    Hi All,
    I have a requirement in which I have to lookup the target table and based on the records in it, I need to load a new record into the target table.
    Being very specific,
    Suppose I have a key column which when changes I want to generate a new id and then insert this new value.
    The target table record structure looks like this
    list_id list_key list_name
    1 'A' 'NAME1'
    1 'A' 'NAME2'
    1 'A' 'NAME3'
    2 'B' 'NAME4'
    2 'B' 'NAME5'
    As shown the target table list_id changes only when the list key changes. I need to generate the list_id value from within OWB mapping.
    Can anyone throw some light as to how this can be done in OWB???
    regards
    -AP

    Hello, AP
    You underestimate the power of single mapping :) If you could tolerate using additional stage table (with is definitly recomended in case your table from example will account a lot of rows).
    You underestimate the power of single mapping :) It you could tolerate using additional stage table (witch is definitely recommended in case your table from example will account a lot of rows), you could accomplish all you need within one mapping and without using PLSQL function. This is true as far as you could have several targets within one mapping.
    Source ----------------------------------------------------- >| Join2 | ---- > Target 2
    |------------------------ >|Join 1| --> Lookup table -->|
    Target Dedup >|
    Here “Target” – your target table. “Join 1“ – operator covers operations needed to get existing key mapping (from dedup) and find new mappings. Results are stored within Lookup Table target (operation type TRUNCATE/INSERT).
    “Join 2” is used to perform final lookup and load it into the “Target 2” – the same as “Target”
    The approach with lookup table is fast and reliable and could run on Set base mode. Also you could revisit lookup table to find what key mapping are loaded during last load operation.
    Serhit

  • 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

  • Bridge Table

    HI gurus,
    I have 5 fact tables and one bridge table. When ever I am joining bridge table with one fact table it is working fine. But if try to joins with other fact table it is giving error. my question is should we connect bridge table with only one fact table? if not why I am getting error. Any idea
    i am really appreciate for your help

    Hi User -
    Typically, a bridge table is supposed to give a solution to a "multi-valued" dimension table, and isn't really designed to connect two fact tables together. Rather, a bridge table is meant to connect between a fact and a dimension.
    Here is a really good article written by Mark Rittman discussing bridge tables and their uses:
    http://www.rittmanmead.com/2008/08/28/the-mystery-of-obiee-bridge-tables/
    If you are looking to combine two fact tables using a dimension table (i.e. you have your SALES_F and your SERVICE_ORDERS_F fact tables that both associate to your DATE_D dimension), I recommend creating an alias of your DATE_D table and connecting each separate instance to a different fact. You can create an alias by right-clicking on the table in your physical layer of the RPD and selecting "New Object > Alias...". This alias acts as an identical copy of the original, and will update if there are any changes to the main version, but still allows you to use multiple instances to multiple facts.
    I hope this helps!
    Regards,
    Jason

  • How to fix Action Link Issue in Table and Pivot Table when used Section

    My OBIEE Version: OBIEE 11.1.1.6.5
    Issue Description: Action links (Navigate to BI Content) doesn't work in PIVOT TABLE or TABLE object when used Section area (one or more columns in Section area).
    If you want to recreate this issue please follow next steps:
    1.     First of all you have to create one analyse with min 3 columns (for example Time.“Calendar date“, Product.Product, „Base Fact“. Revenue -> from Sample Sales Lite )
    2.     From column properties -> Set value Action Link Interaction on some column for example Product.Product (choose Navigate to BI Content -> any created BI report )
    3.     Click Results Tab choose Pivot Table and assigned one dimension column to Section area
    4.     Click preview icon
    5.     When you click on action link nothing happens
    6.     If you drug and drop column from Section Area to Excluded, Table or Pivot table Area then Action Link works perfectly
    How to fix this issue?
    I'll be grateful for any help!

    This is Bug:15922681 - ACTION LINK NAVIGATE TO BI CONTENT DOES NOT WORK WITH ATTRIBUTE IN SECTION
    Upgrade to 11.1.1.6.6 will fix this issue.

  • Bridge Table check box in OBIEE 10G

    Hi,
    In BMM layer of OBIEE 10G, we see a Bridge Table check box when we double click on each table.
    What is the difference it makes if we check that VS don't check that. Is it mandatory to check it?
    There are 2 ways to model many-to-many relationships.
    1. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact and Dimension tables. Do an inner join between Bridge-->Dimension and join the Dimension to the Fact.
    Question:- In this case do we need to check the Bridge Table check box on the Dimension table?
    2. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact, Bridge and Dimension tables. Fact-->Bridge and Bridge-->Dimension.
    Question:- In this case do we need to check the Bridge Table check box on the Bridge table?
    Thanks,
    Anilesh

    Hi,
    My question is -->What is the difference it makes if we check that VS don't check that. Is it mandatory to check it?
    And we are following the first approach out of the 2 approaches listed below.
    There are 2 ways to model many-to-many relationships.
    1. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact and Dimension tables. Do an inner join between Bridge-->Dimension and join the Dimension to the Fact.
    Question:- In this case do we need to check the Bridge Table check box on the Dimension table?
    2. Perform Fact-->Bridge and Bridge-->Dimension join in physical layer. In BMM layer, bring Fact, Bridge and Dimension tables. Fact-->Bridge and Bridge-->Dimension.
    Question:- In this case do we need to check the Bridge Table check box on the Bridge table?
    Thanks,
    Anilesh

Maybe you are looking for