Unexpected result in BIEE when applying aggregation rule

Hi All
I am getting one problem in BI Answer.
Suppose I have one column and I have applied some aggregation rule on it let say sum. when I am selecting this column with some other column then it is giving me correct result but If I again select this column means second time then it is giving me wrong answer that i dont understand.
So can any one tell me what will be the possible error in that case. is there may be some mapping problem or other.
Thanks
Siddhartha P

Hi Vency
Still I am getting same error. Let me explain my Details
I have one table which have 4 column site_id, equipment_id, item_id and rate. and some other table that are master tables for site equipment and item in which they have Id and Name for all. one table is fact table which is production_date tabel whcih cantains many column including site_id, equipment_id, item_id and some more column. I have mapped all the column in physical table and in BMM every column is joined with fact table. And this rate column i have Drag and drop in fact table and applyed SUM Aggregation rule on it. now If I select SITE_NAME EQUIPMENT NAME ITEM NAME from master table and selected rate then it is showing wrong answer.
As I think the problem with some mapping. because if I select ID's of all the column then it is showing correct result but if I select Name then it is showing wrong answer.
Or In some cases If I select first time this column then it is showing correct answer but if I select Second time then it is showing wrong answer.
Thanks
Siddhartha P

Similar Messages

  • How to set Grand Total of a Measure when its aggregation rule is Max in Logical Layer

    Hi
    I have a Measure Column (Budget) and in Logical layer the aggregation rule is set as (Max) which looks like Max(Budget). But now it is included in the report and when my client is trying to see its grand total, it is giving the Max Budget figure of the report rather than giving the total sum(grand total).
    Kindly share some ideas in achieving the grand total without disturbing the actual aggregation of the measure.

    Thank You for your reply.
    In my case i don't have a problem with aggregation for Budget Measure(max(Fact_XXKC_SHIP_TO_BUDGET_CAT_F.SALESREP_BUDGET_YTD)). This is the aggregation rule applied on the Salesrep Budget YTD.
    Now i created a report with columns
    Salesrepresntative(Dimension),, Sales Invoices(Measure1),, SALESREP_BUDGET_YTD(Measure 2).
    In the above report the values are perfect, but when we used Grand total option at ROW level in table view, the grand total of Measure1 is cumulative of all the rows, but the Grand total of SALESREP_BUDGET_YTD (measure2) is the max of all the columns.
    What i require is the Grand total of SALESREP_BUDGET_YTD (measure 2) should be cumulative of all the columns.
    I have shared my SQL query, kindly verify it and share any idea.
    select sum(case when T97600.W_XACT_TYPE_CODE = 'Chargeback' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c1,
      sum(case when T97600.W_XACT_TYPE_CODE = 'Credit Memo' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c2,
      sum(case when T97600.W_XACT_TYPE_CODE = 'Debit Memo' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE end ) as c3,
      sum(case when T97600.W_XACT_TYPE_CODE = 'Standard Invoice' then T93664.NET_AMT * T93664.GLOBAL1_EXCHANGE_RATE when T97600.W_XACT_TYPE_CODE = 'Invoice Cancellation' then T93664.NET_AMT * -1 * T93664.GLOBAL1_EXCHANGE_RATE end ) as c4,
      T315597.XXKC_RESOURCE_NAME as c5
      from
      W_CUSTOMER_LOC_USE_D T315597 /* Dim_W_CUSTOMER_LOC_USE_D_Status */ ,
      W_SALES_INVOICE_LINE_F T93664 /* Fact_W_SALES_INVOICE_LINE_F */ ,
      W_XACT_TYPE_D T97600 /* Dim_W_XACT_TYPE_D_Sales_Ivclns */
      where ( T93664.XACT_TYPE_WID = T97600.ROW_WID and T93664.DELETE_FLG = 'N' and T93664.XX_SHIP_TO_LOC_USE_WID = T315597.ROW_WID )
      group by T315597.XXKC_RESOURCE_NAME
      ) D1 full outer join (select max(T313184.SALESREP_BUDGET_YTD) as c1,
      T315597.XXKC_RESOURCE_NAME as c2
      from
      W_CUSTOMER_LOC_USE_D T315597 /* Dim_W_CUSTOMER_LOC_USE_D_Status */ ,
      XXKC_SHIP_TO_BUDGET_CAT_F T313184 /* Fact_XXKC_SHIP_TO_BUDGET_CAT_F */
      where ( T313184.SITE_USE_WID = T315597.ROW_WID )
      group by T315597.XXKC_RESOURCE_NAME

  • Colors in JTable - unexpected result when scrolling

    Hi Guys,
    Looks like I'm having a problem with a JTable.
    I have a list of items and they are distinguished by 2 colors (so the end-user can differentiate between them). Anyway, the table colors work ok but when using a JScrollbar the table receives an unexpected result � few of the first items (which are not identical) share the same color.
    anyone?
    Example of an output (Gil will be colored Green, Dan Yellow, James Green�and so forth)
    Gil
    Gil
    Gil
    Dan
    Dan
    Dan
    James
    James
    James
    James
    my code looks like this (I'll appritiate if someone can point out where I can have the html tags to display it correctly)
    aTable = new JTable(dataModel)
    public Component prepareRenderer(TableCellRenderer r, int row, int col)
    Component c = super.prepareRenderer(r, row, col);
    Color bg = Color.YELLOW;
    String[] valuesRaw = (String[]) model.elementAt(row);
    if (changeRround)
    name1=valuesRaw[0];
    changeRround=false;
    name2=valuesRaw[0];
    if (!name1.equals(name2))
    this.switchColor(bg,c);
    changeRround=true;
    return c;
    public void switchColor(Color bg, Component c)
    if (colorSwitcher%2==0)
    bg = new Color(221, 250, 207);
    c.setBackground(bg);
    c.setForeground(Color.BLACK);
    else
    bg = new Color(253, 252, 193);
    c.setBackground(bg);
    c.setForeground(Color.BLACK);
    colorSwitcher++;
    }

    I'm getting there...
            aTable = new JTable(dataModel)
                public Component prepareRenderer(TableCellRenderer r, int row, int col)
                     Component c = super.prepareRenderer(r, row, col);
                     Color bg = Color.YELLOW;         
                     String[] valuesRaw = (String[]) model.elementAt(row);         
                     if (changeRround)
                         name1=valuesRaw[0];
                         changeRround=false;
                         name2=valuesRaw[0];
                     if (name1.equals(name2))
                     else
                         this.switchColor(bg,c);                    
                         changeRround=true;
                     return c;
                 public void switchColor(Color bg, Component c)
                    if (colorSwitcher%2==0)
                        bg = new Color(221, 250, 207);
                        c.setBackground(bg);
                        c.setForeground(Color.BLACK);
                    else
                        bg = new Color(253, 252, 193);
                        c.setBackground(bg);
                        c.setForeground(Color.BLACK);
                    colorSwitcher++;
                }

  • Create "result line" when defining scrambling rule

    When defining scrambling rules, there is a button called "create result line".
    I am not sure how to use this feature.
    Could somebody give some hints?
    Thanks a lot!

    Suman:
    Here are the steps to reproduce:
    - at activity "scrambling data"
    - try to create a field-set
    - you are now at the screen with "Field-Sets" as the title on  the screen top.
    - change to "modify" mode by clicking the "pen" at the lower portion of the screen.
    - put the mouse on the button which is next to the "trash bin", you can see a little popup "create result-line"
    Could you help explain how to use this feature?
    Thanks!

  • Aggregation rule ignored for Logical sources

    Hi,
    We are using materialized views as logical sources for our logical tables. These logical sources contain aggregated data at higher level for dimensions. However, we have a logical source at the most detailed level for the dimensions.
    Problem: We OBIEE hits the correct logical source based on dimensions selected in answers, it does not apply the default aggregation rule.
    For instance, if a measure has aggregation as AVG, then when the logical sources corresponding to aggregated tables are queried, OBIEE does not apply AVG function. However, it does apply the aggregation rule when it uses the logical source at the most detailed level.
    I have specified the aggregation content properly for every dimension.
    Any pointers to debug the issue will be helpful.
    Thanks,

    Click on LTS of Table - Column Mapping - Select the logical column - click on expression - Put your logic here. You will get Aggregation rule is enalbed for the column.
    Why ? -- Reason could be nested aggregation is not allowed. Aggregation on the normal column applied during query generation at run time. If you use that Agg.Measure to derive another Agg.measure server could not recognize it during runtime.

  • Different Aggregation rule while aggregating

    Hi Folks
    in OBIEE 10.1.3.4.1 and BI Apps 7.9.6, using answers, i developed a report which has Organization division dimension and active headcounts as fact. while the report is created, the default aggregation( Server determined) rule that the server is using gives wrong results i.e. the grand total of the active Headcounts results to 9603 where as when i explicitly give "sum" as aggregation rule, i get the summation of the headcounts in the active headcount column which results in 25000. i checked this physical queries and couldnt get a clear understanding of the physical db queries. there is an aggregation rule on the Active headcount in the rpd which is like this
    :- LAST(Core."Fact - HR - Operation (Workforce)"."Active Headcount") with time dimension
    :- SUM(Core."Fact - HR - Operation (Workforce)"."Active Headcount") with any other dimension
    and there is a case statement in expression builder like this:
    CASE WHEN "Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_EMPLOYMENT_D"."W_EMPLOYMENT_STAT_CODE" = 'A' THEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_WRKFC_EVT_MONTH_F_Snapshot"."HEADCOUNT" ELSE 0 END
    btw, i did not create the same report with time dimension first and when i combined it with time dimension, i get the same results as before.
    here are the different queries from log:
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>
    With out aggregation:
    WITH
    SAWITH0 AS (select T334016.ORG_HIER13_NAME as c2,
    T334016.ORG_HIER13_NUM as c3,
    sum(case when T264890.W_EMPLOYMENT_STAT_CODE = 'A' then T535616.HEADCOUNT else 0 end ) as c4,
    T277242.PER_NAME_YEAR as c5
    from
    W_INT_ORG_DH T334016 /* Dim_W_INT_ORG_DH_Employee_Org */ ,
    W_EMPLOYMENT_D T264890 /* Dim_W_EMPLOYMENT_D */ ,
    W_YEAR_D T277242 /* Dim_W_YEAR_D */ ,
    W_WRKFC_EVT_MONTH_F T535616 /* Fact_W_WRKFC_EVT_MONTH_F_Snapshot */
    where ( T264890.ROW_WID = T535616.EMPLOYMENT_WID and T277242.ROW_WID = T535616.EVENT_YEAR_WID and T334016.ORG_WID = T535616.HR_ORG_WID and T535616.SNAPSHOT_IND = 1 and T535616.DELETE_FLG <> 'Y' and T277242.CAL_YEAR_START_DT >= TO_DATE('2004-01-01 00:00:00' , 'YYYY-MM-DD HH24:MI:SS') and (T535616.SNAPSHOT_MONTH_END_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and (T535616.LAST_MONTH_IN_YEAR_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and (T334016.ROW_WID in (0) or T334016.HR_ORG_FLG in ('Y')) and (T334016.ROW_WID in (0) or T334016.W_HIERARCHY_CLASS in ('HR-ORG')) and (T334016.ROW_WID in (0) or T334016.CURRENT_VER_HIER_FLG in ('Y')) and T535616.EFFECTIVE_START_DATE <= TO_DATE('2009-10-12' , 'YYYY-MM-DD') )
    group by T277242.PER_NAME_YEAR, T334016.ORG_HIER13_NUM, T334016.ORG_HIER13_NAME)
    select distinct SAWITH0.c2 as c1,
    LAST_VALUE(SAWITH0.c4 IGNORE NULLS) OVER (PARTITION BY SAWITH0.c3 ORDER BY SAWITH0.c3 NULLS FIRST, SAWITH0.c5 NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as c2,
    SAWITH0.c3 as c3
    from
    SAWITH0
    order by c1
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<With aggregation:
    -------------------- Sending query to database named Oracle Data Warehouse (id: <<8194579>>):
    WITH
    SAWITH0 AS (select T334016.ORG_HIER13_NAME as c2,
    T334016.ORG_HIER13_NUM as c3,
    sum(case when T264890.W_EMPLOYMENT_STAT_CODE = 'A' then T535616.HEADCOUNT else 0 end ) as c4,
    T277242.PER_NAME_YEAR as c5
    from
    W_INT_ORG_DH T334016 /* Dim_W_INT_ORG_DH_Employee_Org */ ,
    W_EMPLOYMENT_D T264890 /* Dim_W_EMPLOYMENT_D */ ,
    W_YEAR_D T277242 /* Dim_W_YEAR_D */ ,
    W_WRKFC_EVT_MONTH_F T535616 /* Fact_W_WRKFC_EVT_MONTH_F_Snapshot */
    where ( T264890.ROW_WID = T535616.EMPLOYMENT_WID and T277242.ROW_WID = T535616.EVENT_YEAR_WID and T334016.ORG_WID = T535616.HR_ORG_WID and T535616.SNAPSHOT_IND = 1 and T535616.DELETE_FLG <> 'Y' and T277242.CAL_YEAR_START_DT >= TO_DATE('2004-01-01 00:00:00' , 'YYYY-MM-DD HH24:MI:SS') and (T535616.SNAPSHOT_MONTH_END_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and (T535616.LAST_MONTH_IN_YEAR_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and (T334016.ROW_WID in (0) or T334016.HR_ORG_FLG in ('Y')) and (T334016.ROW_WID in (0) or T334016.W_HIERARCHY_CLASS in ('HR-ORG')) and (T334016.ROW_WID in (0) or T334016.CURRENT_VER_HIER_FLG in ('Y')) and T535616.EFFECTIVE_START_DATE <= TO_DATE('2009-10-12' , 'YYYY-MM-DD') )
    group by T277242.PER_NAME_YEAR, T334016.ORG_HIER13_NUM, T334016.ORG_HIER13_NAME),
    SAWITH1 AS (select D1.c1 as c1,
    D1.c2 as c2,
    D1.c3 as c3
    from
    (select LAST_VALUE(SAWITH0.c4 IGNORE NULLS) OVER (PARTITION BY SAWITH0.c3 ORDER BY SAWITH0.c3 NULLS FIRST, SAWITH0.c5 NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as c1,
    SAWITH0.c2 as c2,
    SAWITH0.c3 as c3,
    ROW_NUMBER() OVER (PARTITION BY SAWITH0.c3 ORDER BY SAWITH0.c3 ASC) as c4
    from
    SAWITH0
    ) D1
    where ( D1.c4 = 1 ) ),
    SAWITH2 AS (select sum(case when T264890.W_EMPLOYMENT_STAT_CODE = 'A' then T535616.HEADCOUNT else 0 end ) as c2,
    T277242.PER_NAME_YEAR as c3
    from
    W_EMPLOYMENT_D T264890 /* Dim_W_EMPLOYMENT_D */ ,
    W_YEAR_D T277242 /* Dim_W_YEAR_D */ ,
    W_WRKFC_EVT_MONTH_F T535616 /* Fact_W_WRKFC_EVT_MONTH_F_Snapshot */
    where ( T264890.ROW_WID = T535616.EMPLOYMENT_WID and T277242.ROW_WID = T535616.EVENT_YEAR_WID and T535616.SNAPSHOT_IND = 1 and T535616.DELETE_FLG <> 'Y' and T277242.CAL_YEAR_START_DT >= TO_DATE('2004-01-01 00:00:00' , 'YYYY-MM-DD HH24:MI:SS') and (T535616.SNAPSHOT_MONTH_END_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and (T535616.LAST_MONTH_IN_YEAR_IND in (1) or T535616.EFFECTIVE_END_DATE >= TO_DATE('2009-10-12' , 'YYYY-MM-DD')) and T535616.EFFECTIVE_START_DATE <= TO_DATE('2009-10-12' , 'YYYY-MM-DD') )
    group by T277242.PER_NAME_YEAR),
    SAWITH3 AS (select distinct LAST_VALUE(SAWITH2.c2 IGNORE NULLS) OVER ( ORDER BY SAWITH2.c3 NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as c1
    from
    SAWITH2)
    select SAWITH1.c2 as c1,
    SAWITH1.c1 as c2,
    SAWITH1.c3 as c4,
    SAWITH3.c1 as c5
    from
    SAWITH1,
    SAWITH3
    Thank you in advance
    kumr

    Passing parameters from one report to another. If you go to Column Properties you will find 2 main types of Drills. One is a default drill which comes from the repository. The other is a navigation drill wherein you can specify a target report. So basically when you click on the column of your report that will navigate to another report and will also pass the parameter(value clicked) and will filter the target report. I am not sure which version of OBI EE you are on?
    Thanks,
    Venkat
    http://oraclebizint.wordpress.com

  • Difference between aggregation rule and column formula in edit formula

    Anybody please help what is the use of aggregation rule and column formula in edit column option.
    What is the difference if I apply sum in aggregation rule with apply sum(column name) in column formula.
    When do I need use which one.
    Thanks in advance

    When you build a column in the rpd, you have the option of determining if the column should be aggregated in some way or not. For dimension columns, you wouldn't put aggregation. For say, an accoun ledger balance column, you might put the aggregation SUM or AVERAGE. Whatever aggregation you put on this column will be the "default" aggregation of the column in Answers.
    So in Answerrs, if you use the Account Ledger Balance column and you only have Region as the dimension, OBIEE will aggregate or SUM the ledger balances so you have a SUM for the region level. If you had district, than the ledger balance column will aggregate to the district level. This is a convenient way to build reports without having to specify what the aggregation should be.
    However, OBIEE gives you the ability to override what the default aggregation is for a particular column. This is the purpose of the drop down in the bottom left of a column when you click the fx button.
    Say the default aggregation of ledger balance is SUM in the rpd, but for the report you are building, you want the average, you can apply the AVERAGE function in the fx window and it will overridge the SUM aggregation rule that was in the rpd.
    Got it?

  • 10G aggregation  rule confusion

    I am confusing aggregation rule in pivot table view. What dose it control? Grand total or all the columns value?
    For example:
    When I drag Year, Month, Sales columns into the criteria area and make use of pivot table to generate report , I use aggregation rule "Count" for sales, then click Grand total button to see the result ,the result will be correct. However, when I create new pivot view named pivot 2 based on these columns and drag "Month" into the exclude area, then select "Count" rule to view the data, you can find all the columns that be counted. Why?
    Pivot 1:
    Year ----Month ----Sales
    2011-----201101---100
    2011-----201102---200
    2012----201201-----300
    2012----201202-----400
    Grand total-----------4
    Pivot2:
    Year----Sales
    2011-----2
    2012-----2
    Grand------4

    Hi Kobe,
    check this for purpose of Aggregation rule in the Pivot table.
    http://obiee101.blogspot.com/2009/01/obiee-creating-yamazumi-graph.html

  • Answers and Aggregation rules not working

    Hi everyone!
    I have this problem: in my repository I set "none" in the aggregation rule for a field... but if I try to make aggregations in the answer (with the dropdown list in "Edit formula") they don't work at all, I always get the same result even if I change from default to sum to average to count...
    Is it a bug? Does anyone have any workaround?
    P.S.: if I use the function sum(...) in the formula it works... but I'd like to use the aggregation rule's combo box!
    Thanks so and.. have an happy new year!
    DrPlexi

    The aggreagation in answers is for the summary of the results ( that is when you use ∑)

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

  • When defining copy rules, only one source field allowed

    Our users have requested the facility to allow them to copy pricing condition records when in in VK12 transaction. But when configuring the copy rules, we have come across the following problem:
    When configuring copying rules for copying pricing condition records,
    there is no possibility to use more than one source/target fields.
    In our example, the condition table created for a certain pricing
    access sequence contains keys such as Sales Organization, Sold-to Party
    "and" Product Hierarchies level 1 to level 9 (e.g. PH1 - PH9) .
    In the condition table definition, fields PH1 to PH9, although key
    fields, are also defined as footer fields. This means that per sales
    organization and sold-to party, we can create more than one condition
    record based on different combinations of PH1 to PH9.
    However when setting up copy rules for conditions in SPRO (SD -
    Pricing Control - Copy Control for Conditions) to allow our users to copy the condition records, for a given Source /
    Target table, the standard selection screen only allows us to define one Source / Target field.
    In our case, this is not helpful. The configurator should be allowed
    to select more than one source field (i.e. PH1 and PH2 and ..... PH9). At this moment,
    we can only select as source field PH1 or PH2 or PH3., etc..
    Steps for the Reconstruction:
    - Run Spro.
    - Select SD --> Pricing --> Pricing control --> Copy control for conditions -- > Copying rule for conditions
    - Select 'New Entries'. Selection screen is displayed. The issue is that in this selection screen, the configurator is allowed to select only one source field. He should be allowed to select multiple fields.
    Can you help us with this problem please?
    Your help is much appreciated!
    Edited by: C. Hassink on Feb 2, 2008 3:50 PM
    Edited by: C. Hassink on Feb 2, 2008 3:52 PM
    Edited by: C. Hassink on Feb 2, 2008 3:53 PM
    Edited by: C. Hassink on Feb 2, 2008 3:55 PM
    Edited by: C. Hassink on Feb 2, 2008 3:56 PM

    Hi Ralph,
    I don't like that methode. Importing the same transport 15 times, each time changing the source-system mapping and making sure, that source-system gets the changes seems to be a huge source of errors, which will be hard to find.
    What do you think of the following idea to solve the issue a totally different way:
    All transfer-rules directly connected to the source-systems are stripped of all Coding, so there is a plain 1 by 1 transformation including 0logsys.
    The InfoSources attached all lead to one ODS-Object, which has the only purpose to collect the data from the source-system without any transformation. So some fields a filled by a system and other fields maybe not.
    The coding specific for source-systems is moved to transfer- / update-rules from that ODS-Object to the original ODS-Objects / Cubes and the "collecting" ODS-Object is emptied after every loading process.
    This will result in a single point of change. It will be quite a huge program (maybe in startroutine) but it's the one and only point, where changes and corrections have to be made.
    Regards
    Robert

  • Applying subset rules in Oracle streams

    Hi All,
    I am working to configure Streams.I am abe to do repliacation on table table unidirectional & bidirectional. I am facing problem in add_subset rules as capture,propagation & apply process is not showing error. The fillowing is the script i am using to configure add_subset_rules. Please guide me what is the wrong & how to go about it.
    he Global Database Name of the Source Database is POCSRC. The Global Database Name of the Destination Database is POCDESTN. In the example setup, DEPT table belonging to SCOTT schema has been used for demonstration purpose.
    Section 1 - Initialization Parameters Relevant to Streams
    •     COMPATIBLE: 9.2.0.
    •     GLOBAL_NAMES: TRUE
    •     JOB_QUEUE_PROCESSES : 2
    •     AQ_TM_PROCESSES : 4
    •     LOGMNR_MAX_PERSISTENT_SESSIONS : 4
    •     LOG_PARALLELISM: 1
    •     PARALLEL_MAX_SERVERS:4
    •     SHARED_POOL_SIZE: 350 MB
    •     OPEN_LINKS : 4
    •     Database running in ARCHIVELOG mode.
    Steps to be carried out at the Destination Database (POCDESTN.)
    1. Create Streams Administrator :
    connect SYS/pocdestn@pocdestn as SYSDBA
    create user STRMADMIN identified by STRMADMIN default tablespace users;
    2. Grant the necessary privileges to the Streams Administrator :
    GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE to STRMADMIN;
    GRANT SELECT ANY DICTIONARY TO STRMADMIN;
    GRANT EXECUTE ON DBMS_AQ TO STRMADMIN;
    GRANT EXECUTE ON DBMS_AQADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO STRMADMIN;
    GRANT EXECUTE ON DBMS_STREAMS_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_CAPTURE_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_APPLY_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_RULE_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_PROPAGATION_ADM TO STRMADMIN;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'ENQUEUE_ANY',
    grantee => 'STRMADMIN',
    admin_option => FALSE);
    END;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'DEQUEUE_ANY',
    grantee => 'STRMADMIN',
    admin_option => FALSE);
    END;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'MANAGE_ANY',
    grantee => 'STRMADMIN',
    admin_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_RULE_SET_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_RULE_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.ALTER_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.ALTER_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_EVALUATION_CONTEXT,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    3. Create streams queue :
    connect STRMADMIN/STRMADMIN@POCDESTN
    BEGIN
    DBMS_STREAMS_ADM.SET_UP_QUEUE(
    queue_table => 'STREAMS_QUEUE_TABLE',
    queue_name => 'STREAMS_QUEUE',
    queue_user => 'STRMADMIN');
    END;
    4. Add apply rules for the table at the destination database :
    BEGIN
    DBMS_STREAMS_ADM.ADD_SUBSET_RULES(
    TABLE_NAME=>'SCOTT.EMP',
    STREAMS_TYPE=>'APPLY',
    STREAMS_NAME=>'STRMADMIN_APPLY',
    QUEUE_NAME=>'STRMADMIN.STREAMS_QUEUE',
    DML_CONDITION=>'empno =7521',
    INCLUDE_TAGGED_LCR=>FALSE,
    SOURCE_DATABASE=>'POCSRC');
    END;
    5. Specify an 'APPLY USER' at the destination database:
    BEGIN
    DBMS_APPLY_ADM.ALTER_APPLY(
    apply_name => 'STRMADMIN_APPLY',
    apply_user => 'SCOTT');
    END;
    6. BEGIN
    DBMS_APPLY_ADM.SET_PARAMETER(
    apply_name => 'STRMADMIN_APPLY',
    parameter => 'DISABLE_ON_ERROR',
    value => 'N' );
    END;
    7. Start the Apply process :
    BEGIN
    DBMS_APPLY_ADM.START_APPLY(apply_name => 'STRMADMIN_APPLY');
    END;
    Section 3 - Steps to be carried out at the Source Database (POCSRC.)
    1. Move LogMiner tables from SYSTEM tablespace:
    By default, all LogMiner tables are created in the SYSTEM tablespace. It is a good practice to create an alternate tablespace for the LogMiner tables.
    CREATE TABLESPACE LOGMNRTS DATAFILE 'd:\oracle\oradata\POCSRC\logmnrts.dbf' SIZE 25M AUTOEXTEND ON MAXSIZE UNLIMITED;
    BEGIN
    DBMS_LOGMNR_D.SET_TABLESPACE('LOGMNRTS');
    END;
    2. Turn on supplemental logging for DEPT table :
    connect SYS/password as SYSDBA
    ALTER TABLE scott.emp ADD SUPPLEMENTAL LOG GROUP emp_pk
    (empno) ALWAYS;
    3. Create Streams Administrator and Grant the necessary privileges :
    3.1 Create Streams Administrator :
    connect SYS/password as SYSDBA
    create user STRMADMIN identified by STRMADMIN default tablespace users;
    3.2 Grant the necessary privileges to the Streams Administrator :
    GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE to STRMADMIN;
    GRANT SELECT ANY DICTIONARY TO STRMADMIN;
    GRANT EXECUTE ON DBMS_AQ TO STRMADMIN;
    GRANT EXECUTE ON DBMS_AQADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO STRMADMIN;
    GRANT EXECUTE ON DBMS_STREAMS_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_CAPTURE_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_APPLY_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_RULE_ADM TO STRMADMIN;
    GRANT EXECUTE ON DBMS_PROPAGATION_ADM TO STRMADMIN;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'ENQUEUE_ANY',
    grantee => 'STRMADMIN',
    admin_option => FALSE);
    END;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'DEQUEUE_ANY',
    grantee => 'STRMADMIN',
    admin_option => FALSE);
    END;
    BEGIN
    DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => 'MANAGE_ANY',
    grantee => 'STRMADMIN',
    admin_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_RULE_SET_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_RULE_OBJ,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.ALTER_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_RULE_SET,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.CREATE_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.ALTER_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_RULE,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    BEGIN
    DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege => DBMS_RULE_ADM.EXECUTE_ANY_EVALUATION_CONTEXT,
    grantee => 'STRMADMIN',
    grant_option => TRUE);
    END;
    4. Create a database link to the destination database :
    connect STRMADMIN/STRMADMIN@pocsrc
    CREATE DATABASE LINK POCDESTN connect to
    STRMADMIN identified by STRMADMIN using 'POCDESTN';
    Test the database link to be working properly by querying against the destination database.
    Eg : select * from global_name@POCDESTN;
    5. Create streams queue:
    BEGIN
    DBMS_STREAMS_ADM.SET_UP_QUEUE(
    queue_name => 'STREAMS_QUEUE',
    queue_table =>'STREAMS_QUEUE_TABLE',
    queue_user => 'STRMADMIN');
    END;
    6. Add capture rules for the table at the source database:
    BEGIN
    DBMS_STREAMS_ADM.ADD_TABLE_RULES(
    table_name => 'SCOTT.EMP',
    streams_type => 'CAPTURE',
    streams_name => 'STRMADMIN_CAPTURE',
    queue_name => 'STRMADMIN.STREAMS_QUEUE',
    include_dml => true,
    include_ddl => true,
    source_database => 'POCSRC');
    END;
    7. Add propagation rules for the table at the source database.
    This step will also create a propagation job to the destination database.
    BEGIN
    DBMS_STREAMS_ADM.ADD_TABLE_PROPAGATION_RULES(
    table_name => 'SCOTT.emp’,
    streams_name => 'STRMADMIN_PROPAGATE',
    source_queue_name => 'STRMADMIN.STREAMS_QUEUE',
    destination_queue_name => 'STRMADMIN.STREAMS_QUEUE@POCDESTN',
    include_dml => true,
    include_ddl => true,
    source_database => 'POCSRC');
    END;
    Section 4 - Export, import and instantiation of tables from Source to Destination Database
    1. If the objects are not present in the destination database, perform an export of the objects from the source database and import them into the destination database
    Export from the Source Database:
    Specify the OBJECT_CONSISTENT=Y clause on the export command.
    By doing this, an export is performed that is consistent for each individual object at a particular system change number (SCN).
    exp USERID=SYSTEM/POCSRC@POCSRC TABLES=SCOTT.TEST FILE=DEPT.dmp GRANTS=Y ROWS=Y LOG=exportDEPT.log OBJECT_CONSISTENT=Y INDEXES=Y STATISTICS = NONE
    Import into the Destination Database:
    Specify STREAMS_INSTANTIATION=Y clause in the import command.
    By doing this, the streams metadata is updated with the appropriate information in the destination database corresponding to the SCN that is recorded in the export file.
    imp USERID=SYSTEM/POCDESTN@POCDESTN FULL=Y CONSTRAINTS=Y FILE=DEPT.dmp IGNORE=Y GRANTS=Y ROWS=Y COMMIT=Y LOG=importDEPT.log STREAMS_INSTANTIATION=Y
    2. If the objects are already present in the desination database, check that they are also consistent at data level, otherwise the apply process may fail with error ORA-1403 when apply a DML on a not consistent row. There are 2 ways of instanitating the objects at the destination site.
    1. By means of Metadata-only export/import :
    Export from the Source Database by specifying ROWS=N
    exp USERID=SYSTEM/POCSRC@POCSRC TABLES=SCOTT.DEPT FILE=tables.dmp
    ROWS=N LOG=exportTables.log OBJECT_CONSISTENT=Y
    exp USERID=SYSTEM/POCSRC@POCSRC TABLES=SCOTT.EMP FILE=tables.dmp
    ROWS=N LOG=exportTables.log OBJECT_CONSISTENT=Y
    For Test table -
    exp USERID=SYSTEM/POCSRC@POCSRC TABLES=SCOTT.TEST FILE=tables.dmp
    ROWS=N LOG=exportTables.log OBJECT_CONSISTENT=Y
    Import into the destination database using IGNORE=Y
    imp USERID=SYSTEM/POCDESTN@POCDESTN FULL=Y FILE=tables.dmp IGNORE=Y
    LOG=importTables.log STREAMS_INSTANTIATION=Y
    2. By Manaually instantiating the objects
    Get the Instantiation SCN at the source database:
    connect STRMADMIN/STRMADMIN@POCSRC
    set serveroutput on
    DECLARE
    iscn NUMBER; -- Variable to hold instantiation SCN value
    BEGIN
    iscn := DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER();
    DBMS_OUTPUT.PUT_LINE ('Instantiation SCN is: ' || iscn);
    END;
    Instantiate the objects at the destination database with this SCN value.
    The SET_TABLE_INSTANTIATION_SCN procedure controls which LCRs for a table are to be applied by the apply process. If the commit SCN of an LCR from the source database is less than or equal to this instantiation SCN , then the apply process discards the LCR. Else, the apply process applies the LCR.
    connect STRMADMIN/STRMADMIN@POCDESTN
    BEGIN
    DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
    source_object_name => 'SCOTT.DEPT',
    source_database_name => 'POCSRC',
    instantiation_scn => &iscn);
    END;
    connect STRMADMIN/STRMADMIN@POCDESTN
    BEGIN
    DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
    source_object_name => 'SCOTT.EMP',
    source_database_name => 'POCSRC',
    instantiation_scn => &iscn);
    END;
    Enter value for iscn:
    <Provide the value of SCN that you got from the source database>
    Finally start the Capture Process:
    connect STRMADMIN/STRMADMIN@POCSRC
    BEGIN
    DBMS_CAPTURE_ADM.START_CAPTURE(capture_name => ‘STRMADMIN_CAPTURE');
    END;
    Please mail me [email protected]
    Thanks.
    Raghunath

    What you are trying to do that you can not do is unclear. You wrote:
    "I am facing problem in add_subset rules as capture,propagation & apply process is not showing error."
    Personally I don't consider it a problem when my code doesn't raise an error. So what is not working the way you think it should? Also what version are you in (to 4 decimal places).

  • The reasoning behind aggregation rules at report level

    Hello guys
    I notice that in the answer criteria, we can define column formula of each columns in the request, but we can also set aggregation rules for the numeric columns..
    I'd like to have a deeper understanding on how these settings work..
    The Avg, Max, Min, Count are pretty clear and self-explanatory to me.
    My main question is the difference between 'default', 'Server determined', 'complex server aggregate', and 'Sum'.
    In a lot of the measure columns when the aggregate rule is 'default', when I do subtotaling in report views, I would actually get the right total amount by dimension columns, however there are also places in the report where the sub total is off, so I have to go and set the aggregate rule of that measure to 'Sum' then the total becomes correct 100%. When I try 'server determined', 'complex server aggregate', some measures change and some don't, but this is not in a pattern of change that I can understand the concept behind. The OBIEE documents said very little about this part
    So is there more detailed information out there that explains more about what these options are doing?
    Thanks in advance

    Hi Shruthi,
    To be clear you have one table 'DIM_LF_B' and its separated out as FACT and DIM in BMM layer with respective formulas ? If yes check this http://www.varanasisaichand.com/2012/04/fact-and-dimension-from-single-source.html
    let me know if it is different
    Thanks,
    Saichand

  • Aggregation rule in Logical table source

    hi all,
    please help me about aggregation rule in logical table source. why,when and how they are used.
    thank you.
    Regards,
    Imtiaz
    BI Trainee.

    Check page no 115, for explanation
    http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf
    save this PDF file, as it helps you in understanding every thing related to RPD developement.

  • Default Aggregation Rule

    Can someone explain me as to how BI interprets the default aggregation rule.
    Say when we say the defualt aggregation rule on the sales fact table column revenue is SUM. what does it actually imply.
    Similarly when we use the Aggregation Content tab in the Logical table source and set aggregation content group by what does it actually mean.
    Thanks,
    Chan

    If you didnt set content tab that would be default aggregation, means based on the columns pull in the criteria SUM changes like drill down or roll up.
    'Group by' clause keep on changes as per the column in the criteria.
    When you set any level for a metric then it alway aggregated to that level, values will not change as per column selection.
    Pls mark if helps
    Edited by: Srini VEERAVALLI on Nov 1, 2012 4:48 AM
    Any updates on this?
    Edited by: Srini VEERAVALLI on Jan 7, 2013 1:56 PM

Maybe you are looking for

  • '09 mac mini connection to Samsung LCD

    I just purchased the new mac mini and am trying to hook it up to my 42" Samsung LCD using the mini display port and a VGA cable. The TV is not recognizing the hookup (PC is not an option in my list of sources). If anyone has any ideas or suggestions

  • How to create report using pass-in parameters

    hi all, I want to create a report using the parameters passed from the previous page. take an example: Now in the page B, it got 2 parameters P1_Table,P1_column passed from Page A, i want to get the report about : select * from P1_Table where P1_colu

  • How to create a new Recovery Partition without Recovery Media T440s

    Dear All. My T440s no longer has the recovery partition. I'm with Win 8.1 Pro, but I would like to restore the system. How can I do to restore and create a new Recovery Partition? Thanks, Lucas Mendes

  • PSD layer placement

    Hi, I have a photoshop document where all the layers are placed in specific positions in the frame. When I import the PSD file into Aftereffects however all of the layers appear in the center.  Is there any way for me to have the layers in Aftereffec

  • Webi Error- "Element belongs to another container"

    Hi Guys, I have a Webi report in BO 4.0 which has drill down functionality on it. When I click the option "stop drill" I get an error that says "Element belongs to another container" If "stop drill" is clicked again I am told to contact the administr