Do surrogate dimension keys duplicate data in the AW?

According to AWM, level-based hierarchies must have unique dimension values across hierarchies (correct me if this is not accurate).
So a dimension with two or more hierarchies that share common leaf-level dimension members will essential duplicate (or triplicate) that member in the analytic workspace,
Does this then mean that data for a 'single' dimension value gets written to three separate surrogate dimension values in the AW cube?

All these 3 hierarchies are level based hierarchies and hierarchies 2 (P&L) and 3 (BS) are subsets of main hierarchy 1 (TB).
There should not be any duplication if you use generic level identifiers for the levels of the hierarchies instead of using the actual member names which (kind of) represent the levels.
Try
TOT level for "Total" in Main hierarchy
ELEM level to represent the generic level containing members: "Profit" and/or "Balance Sheet"
=> Use level to represent L2 in Main containing "Profit" and "Balance Sheet"
=> Use level to represent L1 in P&L containing "Profit"
=> Use level to represent L1 in BS containing "Balance Sheet"
LEAF level to represent the leaf level in each hierarchy
=> Use level to represent L3 in Main containing "Gross Profit", "Expenses", "Assets" and "Liabilities"
=> Use level to represent L2 in P&L containing "Gross Profit" and "Expenses"
=> Use level to represent L2 in BS containing "Assets" and "Liabilities"
3 Hierarchies
Main: LEAF -> ELEM -> TOT
P&L: LEAF -> ELEM
BS: LEAF -> ELEM
There wouldnt be any duplication in this case.
In fact the Profit member in Main hierarchy and Profit Member in P&L hierarchy would be the same in all respects (All attributes including Name, Desc, Fact Value stored against the member). The front end or UI will not be able to distinguish b/w the member in different hierarchies w/o regard to the context of the report and/or additional reporting metadata.

Similar Messages

  • Duplicate Data in the Essbase Studio

    Hi All,
    Currently we have requirement to make complete table into an hierarchy.For this table we are mainatining surrogate key for data loading in fact table
    For Eg :
    Table : Test
    Colum Names say suppose:
    Test1
    Test2
    Test3
    Test4
    Surrogate Key
    Now they want to make it as an hierarchy as below
    Test1
    -------Surrogate Key
    Test2
    -------Surrogate Key
    Test3
    -------Surrogate Key
    Test4
    -------Surrogate Key
    Now the issue is since data loading is happending through surrogate key data is loading for all generations so the value is coming as duplicate data
    Total(400)
    Test1 (100)
    Test2 (100)
    Test3 (100)
    Test4 (100)
    Can someone help me out how to resolve this issue to make it unique data as below
    Total(100)
    Test1
    Test2
    Test3
    Test4 .Thanks in Advance
    Regard,
    SatyaB

    Hi all,
    i have the same problem but i'm not able to reach this link
    BI statistics, Duplicate records in ST03N
    Have you all got another solution?
    Thanks
    Piergiorgio

  • Duplicate data in the same table

    Hi,
    I have one table like :
    bq. TABLE : \\ a1 azerty clavier \\ a2 toto1 voiture \\ ...
    I need to transform the table into something like this :
    bq. TABLE : \\ a1 azerty clavier \\ a2 toto1 voiture \\ b1 azerty clavier \\ b2 toto1 voiture \\ ...
    Do you know if is it possible to do this using a command or a script ?
    Regards

    user7224400 wrote:
    I have one table like :
    bq. TABLE : \\ a1 azerty clavier \\ a2 toto1 voiture \\ ...
    I need to transform the table into something like this :
    bq. TABLE : \\ a1 azerty clavier \\ a2 toto1 voiture \\ b1 azerty clavier \\ b2 toto1 voiture \\ ...
    Do you know if is it possible to do this using a command or a script ?
    - Where did you get "b1" and "b2" from ?
    - Why is it "b1" and "b2" and not something like, say, "p1", "p2" or "X1", "X2" ?
    - Is it because "b" follows "a" ? If you had "p1", "p2" instead of "a1", "a2", would you expect "q1", "q2" ?
    - What if you had "z1", "z2" instead of "a1", "a2" ? What would you expect instead of "b1", "b2" in that case ?
    - Are there numbers higher than 2 for "a" ? Do you want to derive corresponding rows with all such numbers suffixed to the next character after "a" (if that's what your logic is) ?
    isotope

  • About Surrogate Key and Dimension Key on OWB 10.2

    Hi, everyone.
    I am using OWB 10.2 and I have a question about Surrogate key and Dimension Key.
    I indicated the foreign key as VARCHAR2 type in Fact Table and Dimension Key as VARCHAR2 type is operated as Primary key in Dimension Table. I made Single Level in Dimension Table.
    I know that Dimension Key stores the surrogate ID for dimension and is the primary key of the table. Also, Surrogate ID should be only NUMBER type.
    So, in this case, Surrogate ID is NUMBER type
    Dimension key should be NUMBER type to store the surrogate ID.
    But, Dimension key also should operate the primary to relate Foreign key as VARCHAR2 type.
    How I can solve this confusing condition?
    Please let me know that.
    JWS

    Hi JWS,
    From a SQL point of view it should not be a problem to join a NUMBER field to a VARCHAR2 field because during execution there will be an implicite cast for the NUMBER value to a VARCHAR2 value. See the example below.
       SELECT * FROM DUAL
       WHERE   1 = '1'From an OWB point of view it is not possible to have a Dimension with an NUMBER value Key that has a relation to a VARCHAR2 value Foreign key in a Fact table. This is caused due to the creation of a Fact table in OWB in which the Foreign keys in it are build from de Dimension tables that refer to them.
    You will loose the reference to the Dimension when changing the type of the Foreign Key.
    To resolve this issue I would advise you to use a Sequence that generates your Surrogate Key (NUMBER type) for the Dimension table and store it in the Primary Key Column (VARCHAR2 type).
    When validating the mapping you will get a warning, but when executing this should give no problems.
    Regards,
    Ilona

  • Delete duplicate entriess from the internal table its urgent pls help.

    Hi friends,
    Hope everybody is doing good,Here is m query on delete duplicate data from the intenal table.
    I have an internal table which contain data in the following format.
    Doc No Comp Cod Vendor Assignment
    1500000009 JM11 00000000
    1500000008 JM11 20070212(Repeating)
    1500000007 JM11 20070212
    1500000006 JM11 00000000
    1500000005 JM11 00000000
    1500000004 JM11 00000000(Repeating)
    1500000003 JM11 00000000 (Repeating)
    1500000002 JM11 00000000
    1500000001 JM11 20050302
    1500000000 JM11 00000000
    1500000003 JM11 10000088
    1500000001 JM11 10000088
    1500000030 JM11 10006260
    1500000010 JM11 10006269
    1500000008 JM11 10006269
    1500000006 JM11 10006269
    1500000004 JM11 10006269
    if you see the document numbers,there are some document number which are repeating here,there are some document numer which contain vendor number but not the assignments,some of the document numbers contain the assignments but not the vendors.
    If my internal table contain this kind of data with repeted document numbers than i want the document number which contains only the vendor number.
    Pls help me with the appropriate logic,its urgent.
    Thanks a lot
    mrutyun^

    Hi,
    <u><b>Deleting Adjacent Duplicate Entries</b></u>
    To delete adjacent duplicate entries use the following statement:
    DELETE ADJACENT DUPLICATE ENTRIES FROM <itab>
    [COMPARING <f1> <f2> ...
    |ALL FIELDS].
    The system deletes all adjacent duplicate entries from the internal table <itab>. Entries are
    duplicate if they fulfill one of the following compare criteria:
      Without the COMPARING addition, the contents of the key fields of the table must be
    identical in both lines.
      If you use the addition COMPARING <f1> <f2> ... the contents of the specified fields <f1>
    <f2> ... must be identical in both lines. You can also specify a field <fi> dynamically as
    the contents of a field <ni> in the form (<ni>). If <ni> is empty when the statement is
    executed, it is ignored. You can restrict the search to partial fields by
    specifying offset and length.
      If you use the addition COMPARING ALL FIELDS the contents of all fields of both lines
    must be identical.
    You can use this statement to delete all duplicate entries from an internal table if the table is
    sorted by the specified compare criterion.
    If at least one line is deleted, the system sets SY-SUBRC to 0, otherwise to 4.
    Examples
    DATA: BEGIN OF LINE,
    COL1 TYPE I,
    COL2 TYPE I,
    END OF LINE.
    DATA ITAB LIKE HASHED TABLE OF LINE WITH UNIQUE KEY COL1.
    DO 4 TIMES.
    LINE-COL1 = SY-INDEX.
    LINE-COL2 = SY-INDEX ** 2.
    INSERT LINE INTO TABLE ITAB.
    ENDDO.
    LINE-COL1 = 1.
    DELETE TABLE ITAB: FROM LINE,
    WITH TABLE KEY COL1 = 3.
    LOOP AT ITAB INTO LINE.
    WRITE: / LINE-COL1, LINE-COL2.
    ENDLOOP.
    The output is:
    2    4
    4   16
    The program fills a hashed table with a list of square numbers. The DELETE
    statement delete the lines from the table where the key field COL1 has the contents 1 or 3.
    Regards,
    Bhaskar

  • Prevent duplicate data

    I would like to make sure there are no duplicate data entries in my JSP that populates an Oracle database with a table called MainTable. MainTable has an Id field that is the primary key, ValData with a varchar data type, Fid and Fid2 are number data types. Fid and Fid2 are foreign key values that are taken from another table.
    Id   ValData   Fid   Fid2
    1    abc         34    2
    2    efg          23    34
    3    zeo         25    43Sometimes someone can enter duplicate data and the ValData, Fid and Fid2 will end up like this:
    Id   ValData   Fid   Fid2
    1    abc          34    2
    2    efg           23    34
    3    zeo          25    43
    4    zeo          25    43Is there anything in Java I can implement to prevent duplicate data entry in the above example?

    Thanks,
    It now works after I added unique constraints to each of the fields.
    Google results showed me that ORA-00001 is Oracle's Duplicate message and I added a condition in the SQLException Catch area and it catches all my Duplicate entry attempts and shows message to the user.
    Here is what I have and would like to know if this is an efficient way I am doing this??
    try
    // db stuff
    catch (SQLException sqle)
        String message = sqle.getMessage();  
        if (message.indexOf("ORA-00001") != -1)
            out.println("Duplicate Data entry.");  
        else
          out.println("some other ORA error");  
    }

  • Load fact table with null dimension keys

    Dear All,
    We have OWB 10g R2 and ROLAP star schema. In our source system some rows don’t have all attributes populated with values (null value), and this empty attributes are dimension (business) keys in star schema. Is it possible to load fact table with such rows (some dimension keys are null) in the OWB mappings? We use cube operator in mappings.
    Thanks And Regards
    Miran

    The dimension should have a row indicating UNKNOWN, this will have a business key outside of the normal range e.g. -999999.
    In the mapping the missing business keys can then be NVL'd to -999999.
    Cheers
    Si

  • Validate for duplicate data

    How can I ensure that a form entry does not contain duplicate
    data to the corresponding database field the data is to be entered
    into? I am working with ASP.

    You need to test the database first before handling the
    insert. DW has an SB
    called "CheckUsername" which can be used to handle this
    function if you are
    only checking one field.
    Paul Whitham
    Certified Dreamweaver MX2004 Professional
    Adobe Community Expert - Dreamweaver
    Valleybiz Internet Design
    www.valleybiz.net
    "aonefun" <[email protected]> wrote in
    message
    news:emu5gn$k5j$[email protected]..
    > How can I ensure that a form entry does not contain
    duplicate data to the
    > corresponding database field the data is to be entered
    into? I am working
    > with ASP.

  • Duplicate attribute key in date Dimension

    Hi,
    I have created a date dimension using this code
    http://www.codeproject.com/Articles/647950/Create-and-Populate-Date-Dimension-for-Data-Wareho
    It contains one attribute 'Month'
    I have created one fact table which contains the following dates
    StartDate
    EndDate
    CreationDate
    CompletionDate
    AssignedDate
    ReceivedDate
    ActualStartDate
    AcutualEndDate
    DecisionDate
    I have created a relationship with date dimension created by using above code. Relationship of above attributes have been created with DimDate.Date attribute. I have not created Calendar Hierarchy yet. 
    When I am processing the cube I am getting the following error
    Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: 'dim_Date', Column: 'Month', Value: '10'. The attribute is 'Month'.
    In date dimension have data from 1990 to 2050. so Month is being repeated for each year. I am not sure Why am I getting this error.
    Any Help much appreciated.
    MH

    Hi Mustafah,
    For the error "Errors in the OLAP storage engine: A duplicate attribute key has been found when rocessing: Table: <tablename>, Column: <columnname>. Value: <value>. The attribute is <attributename>", it  can occur in multiple
    situations. In many cases, the recommended solution is to change the KeyColumn by setting it to a unique attribute, or by creating a composite key that results in a unique value when multiple attributes are evaluated as a unit. Here are some document which
    describe this error and the solution of it.
    References:
    Analysis Services: Errors in the OLAP storage engine:
    A duplicate attribute key has been found when processing
    You get “A duplicate attribute key has been found when processing ..” error message when processing a dimension
    A duplicate attribute key has been found when processing
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • How to delete the duplicate data  from PSA Table

    Dear All,
    How to delete the duplicate data  from PSA Table, I have the purchase cube and I am getting the data from Item data source.
    In PSA table, I found the some cancellation records for that particular records quantity  would be negative for the same record value would be positive.
    Due to this reason the quantity is updated to target but the values would summarized and got  the summarized value  of all normal and cancellation .
    Please let me know the solution how to delete the data while updating to the target.
    Thanks
    Regards,
    Sai

    Hi,
    in deleting the records in PSA table difficult and how many you will the delete.
    you can achieve the different ways.
    1. creating the DSO maintain the some key fields it will overwrite the based on key fields.
    2. you can write the ABAP logic deleting the duplicate records at info package level check with the your ABAPer.
    3.you can restrict the cancellation records at query level.
    Thanks,
    Phani.

  • Dimension Attribute not related to the key directly or indirectly.

    I am running into an issue when trying to relate two fact tables to a dimension using two different attributes.  Due to the design of the tables I must join from my fact tables to intermediate tables in order to join to the dimension table.  The
    problem is the fact tables use different intermediate tables to join to the final dimension table.
    For example: FactTable1-->IT1-->DimensionTable<--IT2<--FactTable2
    The  intermediate value from the first table is a foreign key to the dimension table and the intermediate value from the second table is also it's own foreign key to the dimension table.
    Below is some test code to put my problem into SQL.  It's simple enough to join them together but I cannot for the life of me figure out how to properly set up the relationships between attributes in SSAS.
    CREATE TABLE dbo.FactTest1(
    FactTest1Id Int Identity,
    IT1Id INT)
    CREATE TABLE dbo.IT1(
    IT1Id INT IDENTITY,
    DimId1 INT)
    CREATE TABLE dbo.Dim(
    DimId INT IDENTITY,
    DimId1 INT,
    DimId2 INT,
    Description VARCHAR(50))
    CREATE TABLE dbo.IT2(
    It2Id INT IDENTITY,
    DimId2 INT)
    CREATE TABLE dbo.FactTest2(
    FactTest2Id Int Identity,
    IT2Id INT)
    INSERT dbo.FactTest1
    SELECT 1
    UNION
    SELECT 2
    UNION
    SELECT 3
    INSERT dbo.IT1
    SELECT 10
    UNION
    SELECT 20
    UNION
    SELECT 30
    INSERT dbo.FactTest2
    SELECT 1
    UNION
    SELECT 2
    UNION
    SELECT 3
    INSERT dbo.IT2
    SELECT 40
    UNION
    SELECT 50
    UNION
    SELECT 60
    INSERT dbo.Dim
    SELECT 10,40, 'Atrribute1'
    UNION
    SELECT 20,50, 'Attribute2'
    UNION
    SELECT 30,60, 'Atrribute3'
    SELECT *
    FROM dbo.FactTest1 ft
    JOIN dbo.IT1 it
    ON ft.IT1Id = it.IT1Id
    JOIN dbo.Dim dim
    ON it.DimId1 = dim.DimId1
    SELECT *
    FROM dbo.FactTest2 ft
    JOIN dbo.IT2 it
    ON ft.IT2Id = it.IT2Id
    JOIN dbo.Dim dim
    ON it.DimId2 = dim.DimId2

    It depends on the cardinality between the two Fact Tables and intermediate tables. If they are 1 to 1  relationships then you can simply create a view of the fact and intermediate table and then create a direct relationship to the dimension. A more
    efficient solution would be to alter your ETL to just insert the appropriate dimension key directly into the fact table instead of using the intermediate ID.
    You can join fact tables to dimensions at different levels of granularity. eg you could join one fact table to a date dimension at the day level and another at the month level. You just have to consider what you want to happen to the monthly data when viewed
    at a daily level, you can either repeat the monthly value or display a blank or look at overriding the value with some sort of calculation.
    If the relationship between the facts and intermediate tables is many to many then there is an excellent white paper called the "Many to Many Revolution" which shows all the different ways in which many to many relationships can be used in SSAS.
    http://darren.gosbell.com - please mark correct answers

  • Check Duplicate data during data key-in Multi Record Block

    Dear all,
    I have a situation where i have to check duplicate data entry(on a particular field,which is a mandatory field,i.e. it cannot be skipped by user without entering value) while data key-in in a Multi Record block.
    As for reference I have used a logic,such as
    1>In a When-Validate-Record trigger of that block I am assigning the value of that current item in Table type variable(collection type)
    as this trigger fire every time as soon as i leave that record,so its assigning the value of that current time.And this process continues
    then
    2>In a When-Validate-Item trigger of that corresponding item(i.e. the trigger is at item level) has been written,where it compares the value of that current item and the value stored in Table type variable(collection type) of When-Validate-Record trigger.If the current item value is matched with any value stored in Table type variable I am showing a message of ('Duplicate Record') following by raise_form_trigger failure
    This code is working fine for checking duplicate value of that multi record field
    The problem here is that suppose if usee gets a message of ('Duplicate Record') and after that without saving the values if user try to query of that block then also when validate item fired where as I am expecting ORACLE default alert message('Do You want to save?'),I want to restrict this When-Validate Item fire during query time..........................while user try to query.
    Please give me a meaningful logic or code for solving this problem
    Any other logic to solve this problem is also welcome

    When-Validate-Record trigger
    When-Validate-Item triggerThat smells like Oracle Forms...
    And the Oracle Forms forum is over here: Forms

  • Why do we have a duplicate record in the .wsr file of the mail.dat?

    Any idea how we could have created a duplicate record in the .wsr (walk Sequence file)?   We have a post presort software that errors out because of the dupe.   The Mail.dat specification indicates that there are five 'key' fields (their combination must be unique) for the Walk Sequence file:

    Hi Michael
    Can you please tell me which field is being duplicated and can you please try to run the job again and wait for a couple of seconds before importing it to your post presort software.
    Thanks
    Anita.

  • Data Load Fails due to duplicate records from the PSA

    Hi,
    I have loaded the Master Data Twice in to the PSA.  Then, I created the DTP to load the data from the PSA to the InfoProvider.  The data load is failing with an error "duplicate key/records found".
    Is there any setting that I can configure by which even though I have duplicate records in PSA, I can be successfully able to load only one set of data (without duplicates) in to the InfoProvider?
    How can I set up the process chains to do so?
    Your answer to the above two questions is appreciated.
    Thanks,

    Hi Sesh,
    There are 2 places where the DTP checks for duplicates.
    In the first, it checks previous error stacks. If the records you are loading are still contained in the error stack of a previous DTP run, it will throw the error at this stage. In this case you will first have to clean up the previous error stack.
    The second stage will clean up duplicates  across datapackeages, provided the option is set in your datasource. But you should note that this will not solve the problem if you have duplicates in the same datapackage. In that case you can do the filtering yourself in the start routine of your transformation.
    Hope this helps,
    Pieter

  • Getting duplicate data in Dimensions

    Hi,
    Whenever I am associating a single product with a Dimension, duplicate data is being shown up but as soon as more products are added, duplication disappears. I presume I am missing one of the configuration in pipeline but not sure what. Could anyone help.

    Hey Vaibhav,
    One reason I can think of is that you might be associating data with both property and dimension. Also can elaborate more on your question? I am not sure if I understand your question right
    Thanks
    Ritwik
    Cirrus10

Maybe you are looking for

  • How can I make an iTunes/Store account without giving my credit card?

    Hi everyone, We recently decided to start giving out iPhones at work on our company cell plan to employees. Along with this, we're using one of the AppStore apps to do user tracking/maintenance on the phone, and I was curious if there was any way to

  • How can I get a count of ALL nodes in a JTree?

    Not sure if I am missing something here or what. Is there an easy way to determine the total number of nodes in a JTree? I thought there would be a method to return this, but I'm not seeing it in JTree or DefaultTreeModel. Do I have to start at the r

  • Has anyone solved the problem with " lagging " response when opening nay app ?

    since " upgrading " ( if you can call it that ! ) to IOS7 on iPhone 4, everyone is complaining about the delay when opening any App. At the Genius bar at Apple store they referred to this as " lagging ". After a quick diagnostic of my phone, they sug

  • Problems deleting a string from an external file.

    hi! I am working on a program but am having problems deleting a string of information from an external file. The code I have managed to do only seems to be deleting the surname. The rest of the string remains and the Surname from the string bellow th

  • Infotype 17getting updated automatically

    I dont understand what is causing infotype 17 (travel privilege) to get updated automatically. Users are claiming that after entering trip request using "trip" when they go to enter traval claims (pr05) the system is throwing this error message "erro