Dimension with 2 Hierarchies, Lowest Member w/ Different Long Descriptions

I'm trying to create a dimension that would allow Discoverer For OLAP users to choose between different LONG DESCRIPTIONs, and I am trying to accomplish this by using multiple hierarchies.
For example, when a user is trying to create a report and eventually stumbles upon the Dimensions part of the Workbook creation, he can choose a different description other than the default by choosing from the Hierarchy drop down list.
The following is the dimension details:
Dimension: TEST_DIM
Hierarchy #1: HIER_NAME
Levels: TOTAL_DIM_NAME
        TEST_LVL_NAME
Hierarchy #2: HIER_CODE
Levels: TOTAL_DIM_CODE
        TEST_LVL_CODE
Dimension View: V_TEST_DIM
Fields: TOTAL_DIMENSION_NAME_ID   ---mapped to-->  TOTAL_DIM_NAME
        TOTAL_DIMENSION_NAME_DESC ---mapped to-->  TOTAL_DIM_NAME_LONG_DESCRIPTION
        NAME_LEVEL_ID             ---mapped to-->  TEST_LVL_NAME
        NAME_LEVEL_DESC           ---mapped to-->  TEST_LVL_NAME_LONG_DESCRIPTION
        TOTAL_DIMENSION_CODE_ID   ---mapped to-->  TOTAL_DIM_CODE
        TOTAL_DIMENSION_CODE_DESC ---mapped to-->  TOTAL_DIM_CODE_LONG_DESCRIPTION
        CODE_LEVEL_ID             ---mapped to-->  TEST_LVL_CODE
        CODE_LEVEL_DESC           ---mapped to-->  TEST_LVL_CODE_LONG_DESCRIPTION
Cube: TEST_CUBE
Measure: TEST_MEASURE
-----------------------------------------------------------------------------------------With the above dimension having 2 hierarchies, Discoverer users can choose between HIER_NAME or HIER_CODE. The problem with this setup is that for this to work, different fields must be mapped to the lowest levels of each hierarchy, because the values of NAME_LEVEL_ID and CODE_LEVEL_ID fields from the V_TEST_DIM dimension view are different from each other, even though they share the same set of records, which means they can be considered as one.
The values of NAME_LEVEL_ID and CODE_LEVEL_ID must be different, because if they are not, I receive the following error during maintenance:
***Error Occured: Data for at least One of the Hierarchies for TEST_DIM.DIMENSION controdicts the Definition of such Hierarchy as Level
Based.After making the NAME_LEVEL_ID and CODE_LEVEL_ID values different from each other, I tried mapping the fact table to the cube. Mapping details are as follows:
Cube View: V_TEST_CUBE
Fields: TEST_VALUE       --mapped to-->  TEST_MEASURE
        NAME_LEVEL_ID    --mapped to-->  TEST_DIM.TEST_LVL_NAME.NAME_LEVEL_ID
     CODE_LEVEL_ID    --mapped to-->  TEST_DIM.TEST_LVL_CODE.CODE_LEVEL_ID
-----------------------------------------------------------------------------------------Unfortunately, the above mappings does not work, because I get the following error when I do so:
Invalid Mapping:
Levels in a dimension TEST_DIM have to be mapped to the same column for summary fact_tableBut despite the error(s) above, I've actually made this work, by leaving the one ID field (NAME_LEVEL_ID or CODE_LEVEL_ID) unmapped. Say, I map NAME_LEVEL_ID to TEST_DIM.TEST_LVL_NAME.NAME_LEVEL_ID but leave CODE_LEVEL_ID unmapped, then maintain to load data for TEST_DIM (HIER_NAME hierarchy). Then I unmap NAME_LEVEL_ID and map CODE_LEVEL_ID. I maintain the cube again to load data for the other hierarchy which is HIER_CODE.
Now, if that works, why won't AWM let me map NAME_LEVEL_ID and CODE_LEVEL_ID at the same time?
I tried running the following DML command to manually map the fields:
call set_measure_key_expression('TEST_CUBE.MAPGROUP1.CUBEMAPGROUP',NA,'TEST_DIM.HIER_NAME.LEVEL\nTEST_DIM.HIER_CODE.LEVEL','VIEW_OWNER.V_TEST_DIM.NAME_LEVEL_ID\nVIEW_OWNER.V_TEST_DIM.CODE_LEVEL_ID',FALSE)I checked the mappings afterwards and the two fields are indeed mapped, but when I try to maintain, I got an error stating that 'VIEW_OWNER.V_TEST_DIM.NAME_LEVEL_ID\nVIEW_OWNER.V_TEST_DIM.CODE_LEVEL_ID' does not exits or something like that.
Does any know a better way to implement this?
Please help.

I understand what you are trying to achieve, and technically it should be possible. In practice, however, Disco caches dimensional information as it is not expecting information such as descriptions to change from one query to the next.
The complication is the description objects do not have any additional dimensionality beyond their base dimension, however, there is a language dimension that might be useful in this case. If you created an additional language with a formula that calls a program to set the underlying AWM language dimension you could assign this measure to the first worksheet in your workbook and allow users to swap between different versions of their long descriptions. However, this would be a session wide setting and not worksheet specific.
In the AWM tree you will need to add additional languages to your AW which can then be used a placeholders for your different descriptions. This will affect all your dimensions so you will need to either use OLAP DML to copy the base language descriptions to all the other languages or using the mapping editor.
In the dimension mapping tool you will now see multiple entry points for descriptions - English, French, German etc depending on which languages you picked. You can assign any column from your source view/table to these columns.
Should work - I did something similar for another customer. It is not ideal, and does require the users to open/create a worksheet to switch the descriptions but it was all I could think of at the time.
Keith Laker
Oracle EMEA Consulting
BI Blog: http://oraclebi.blogspot.com/
DM Blog: http://oracledmt.blogspot.com/
BI on Oracle: http://www.oracle.com/bi/
BI on OTN: http://www.oracle.com/technology/products/bi/
BI Samples: http://www.oracle.com/technology/products/bi/samples/
Does that make sense?

Similar Messages

  • Images: "Long Description"?

    When you insert an image with Dreamweave CS3, you're prompted
    to enter
    values for alternate text and "long description," which I'm
    not familiar
    with. The default value for long description is html://,
    which suggests
    that one is supposed to enter a URL.
    I gather that long description is an accessibility feature,
    but what's
    it all about? Are you supposed to literally enter a more
    detailed
    description than offered by alt text, or are you supposed to
    link to a
    web page that has more information?
    Thanks.

    Forget it. It's not valid HTML.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "David Blomstrom" <[email protected]> wrote
    in message
    news:fnlv5j$fle$[email protected]..
    > When you insert an image with Dreamweave CS3, you're
    prompted to enter
    > values for alternate text and "long description," which
    I'm not familiar
    > with. The default value for long description is html://,
    which suggests
    > that one is supposed to enter a URL.
    >
    > I gather that long description is an accessibility
    feature, but what's it
    > all about? Are you supposed to literally enter a more
    detailed description
    > than offered by alt text, or are you supposed to link to
    a web page that
    > has more information?
    >
    > Thanks.

  • Dimension Design - Single Dimension with Multiple Hierarchies

    Morning,
    the purpose of this discussion is to understand how we should design a specific dimension with 3 levels and multiple hierarchies for optimal performance.
    We have an institution dimension with the following characteristics:
    Characteristics
    Dimension: Institution
    Levels:
    1. Total Bank (TB) Level
    2. Peer Group (PG) Level
    3. Institution Level
    Hierarchies:
    1. Some of the hierarchies have 3 levels and others have only 2 levels (Skip Level)
    2. ALL the hierarchies have a TB level and an Institution level
    3. None of the hierarchies have the same leafs
    4. Some of the hierarchies leafs can overlap
    Design:
    We are considering two approaches for the institution dimension levels:
    a)
    Levels:
    Hierarchy 1 TB Level
    Hierarchy 1 PG Level
    Hierarchy 1 Inst Level
    Hierarchy 2 TB Level
    Hierarchy 2 Inst Level
    Hierarchy 3 TB Level
    Hierarchy 3 Inst Level
    Note:
    This approach is working and the resulting dimension and cubes are used by OBIEE, but some of the OBIEE analysis takes a long time (more than a minute) to return the results.
    At this point, we are not sure whether this approach will result in an optimal design from a performance perspective and are looking at restructuring the dimension to represent only the three conceptual levels as indicated below.
    b)
    Levels:
    1. Total Bank (TB) Level
    2. Peer Group (PG) Level
    3. Institution Level
    The rest of the dimension i.e. hierarchies, attributes and mappings are defined in the same way.
    The cube associated with this dimension have approximately 80 million records.
    Please advise on any best practices or design considerations that we need to take into account.
    Thanks

    No, it is not possible to have multiple hiearchies in a PC logical dimension.
    The concept of the Parent-Child (PC) hierarchy is completely different from the level-based hierarchy. Specifically the PC hierarchy expects a predefined / architected table with corresponding PC column/value structuring with or without attributes.
    Short story even shorter it is not possible.
    Longer...
    In the RPD the BMM actually prevents you from adding a new logical level, child level, or parent level when you have selected that the logical dimension be a parent child logical dimension with Parent-Child hierarchy.
    On another note...
    Have you tried architecting/building your PC source table so that it represents the roll-up and bottom child-levels like you are seeking? That is, that same member in the child column more than once having a separate parent value. That should be doable.
    That was a great question, please award points if this answered your question or it was helpful.
    Cheers,
    Christian
    http://www.artofbi.com

  • OBIEE Parent-Child Dimension with multiple hierarchies

    Is it possible to have in a parent-child dimension multiple hierarchies? I want to have the same botom childs to aggregate to different parrents. example.
    Account Dimension
    HR1-total
    HR1-parrent1
    CHILD1
    HR1-parrent2
    CHILD2
    HR2-total
    HR2-parrent1
    CHILD1
    CHILD2
    Thanks in advance.

    No, it is not possible to have multiple hiearchies in a PC logical dimension.
    The concept of the Parent-Child (PC) hierarchy is completely different from the level-based hierarchy. Specifically the PC hierarchy expects a predefined / architected table with corresponding PC column/value structuring with or without attributes.
    Short story even shorter it is not possible.
    Longer...
    In the RPD the BMM actually prevents you from adding a new logical level, child level, or parent level when you have selected that the logical dimension be a parent child logical dimension with Parent-Child hierarchy.
    On another note...
    Have you tried architecting/building your PC source table so that it represents the roll-up and bottom child-levels like you are seeking? That is, that same member in the child column more than once having a separate parent value. That should be doable.
    That was a great question, please award points if this answered your question or it was helpful.
    Cheers,
    Christian
    http://www.artofbi.com

  • Dimension with 2 roles and 2 hierarchies used in 2 cubes

    Hi,
    I have a dimension in which there are two dimension roles (roleA, roleB) defined as well as two hierarchies (hierarchyA, hierarchyB). Currently hierarchyA is set as default. (Not because that is in fact the default one, only because OWB forces one to choose a default)
    I need to define two cubes (cubeA, cubeB). CubeA will use the dimension with roleA and cubeB will use the dimension with roleB.
    Is it possible to tell cubeA to use/see/make available only hierarchyA and cubeB only hierarchyB? HierarchyA makes no sense in cubeB so I want to "specify" hierarchyB for cubeB.
    Thanks,
    Juanita

    A different issue but possibly related:
    I have a ROLAP cube with one of the dimensions containing multiple hierarchies. If I deploy this with deployment option set to "Deploy data only", it works 100%. As soon as I change the deployment option to "Deploy All", I get a VLD-0398 error.
    I need to choose "Deploy all" since the cube metadata must be deployed to the OLAP catalog in order for Disco OLAP and BI Spreadsheet Add-In to see the cube.
    First question:
    Is it possible to deploy to the OLAP catalog if the cube has a dimension with multiple hierarchies?
    Second question:
    If it is not possible, what is the workaround?
    Thanks,
    Juanita

  • One Dimension with Facts at different levels

    I currently have a single dimension with 5 levels. I have two fact tables that both connect to the dimension table but at different levels.
    For example. If we have a Dimension Country -> Region -> City and then two fact tables. One that has facts at the Region level and one that has facts at the City level.
    Is there a way to be able to have an answer that contains facts from both fact tables. So if there was a fact from City and the Region level? Everything I seem to try does not work. Would I have to create an additional aggregate table that aggregates the City level data up to the Region? Or is there a way to show the data at the lowest level and show either nulls or duplicate values for the additional records.
    Any help is greatly appreciated

    This has helped a little. I am now getting values from both levels. However, because i am summing the two values. The value from the upper level is now summing duplicate values. For example.
    Value 1 on its own
    Level1 Level 2 Level 3 Value 1
    1234 10 10 13.05
    1234 20 10 70.00
    1234 20 20 70.00
    1234 30 10 105.00
    1234 30 20 105.00
    Value 2 on its own
    Level1 Level 2 Level 3 Value 2
    1234 10 10 0.50
    1234 20 10 2.00
    1234 20 20 2.00
    1234 30 10 3.00
    1234 30 20 3.00
    What I am getting
    Level1 Level 2 Level 3 Value 1 Value 2
    1234 10 10 13.05 0.50
    1234 20 10 140.00 2.00
    1234 20 20 140.00 2.00
    1234 30 10 210.00 3.00
    1234 30 20 210.00 3.00
    Desired Outcome
    Level1 Level 2 Level 3 Value 1 Value 2
    1234 10 10 13.05 0.50
    1234 20 10 70.00 2.00
    1234 20 20 70.00 2.00
    1234 30 10 105.00 3.00
    1234 30 20 105.00 3.00
    Now, the problem with this is that Value 1 is a fact at Level 2 and Value 2 is a fact at Level 3. I have one dimension table and two fact tables. The join between the fact table for Value two and the dimension table is the same as the join between the dimension table and Value 1 only it is missing the last level of detail.
    I have then set the logical table source content tabs for each fact table to the corresponding levels.
    I thought this would be enough but i still don't get the desired result. I am not sure if this is possible with one dimension table.
    Any ideas would be greatly appreciated.
    Edited by: user10800227 on Jan 11, 2010 12:43 PM

  • SSM7.5 - Dimension with Multiple Hierarchies

    Hi all,
    I'm facing here one problem in the SSM front-end when I'm trying to use one the possibilities that PAS database offers, in this case the use of a dimension with multiple hierarchies.
    As you can see in this image, the dimension is created in PAS and works without problems in the dataview.
    Hierarchy one:
    [http://img121.imageshack.us/img121/334/pas1y.jpg]
    Hierarchy two:
    [http://img831.imageshack.us/img831/2586/pas2.jpg]
    In the SSM front-end, when I try to use that dimension, by default appears the first hierarchy:
    [http://img826.imageshack.us/img826/4043/hier3.jpg]
    In the dimensional selector the dimension appears fine for the first hierarchy:
    [http://img30.imageshack.us/img30/3103/hier1.jpg]
    But when I select the second hierarchy...
    [http://img34.imageshack.us/img34/1722/hier2.jpg]
    The Internet Explorer crashes and close all the open windows. This happens in the scorecard and also in the reports.
    Is not possible to use dimensions with multiple hierarchies in SSM? Did anyone had this problem before?
    Thanks in advance
    Pedro
    Edited by: Pedro S. Costa on Sep 13, 2010 11:03 AM

    Hi Shashi,
    first of all, thanks for your answer.
    But I don't understand when you say that "we cannot have two hierarchies on the same dimensions"?!?!?
    I already have some years of experience with PAS database and it's not the first time I create a dimension with more than one hierarchy. I use also that in a productive system (before this SSM front-end) without problems. And in this latest version of PAS (version 7.5.6) it's still possible to use that feature. As you can see in my initial post, I put two screen shots of the dimension with two hierarchies in PAS dataview, and works fine, without problems in the drill-down/up.
    From PAS online help:
    HIERARCHY is a Dimension command that defines the members and levels that comprise a particular hierarchy level within a dimension. It also allows multiple consolidation structures that stem from a central root of inputs. Use hierarchies when the input members are consolidated into more than one output member. When a dimension has hierarchies, members can have more than one path for rolling up into output levels. If a dimension has only one hierarchy, no HIERARCHY statement is necessary.
    Based on this, I create my example of a dimension (named MULTI) with two hierarchies (REGION and TYPE). Maybe the name I use for the second hierarchy create some confusion to you, because of the TYPE dimension that can exist in SSM. I just hope the problem I'm having in the SSM front-end is not related with the name I used for the second hierarchy!!!!
    I will rename that and test again.
    Regards
    Pedro

  • Logic Doubling in v7 SQL - Dimension with 3 hierarchies

    I'm having a problem with logic doubling at a client where I have a dimension with 3 hierarchies in v7 SQL 2008.  When I try to run logic off a property in this dimension, base members in all 3 hierarchies are doubling, whereas base members in only two hierarchies are not.  I've tried using *Membersets, *Select, and *XDIM_Memberset statements to stop the values from doubling, but I'm not having success. 
    Any ideas?  Has anyone else seen this?
    Thank you,
    Grant

    Yes, sorry, I've been busy.
    Basically, I had two rollups of data in one dimension, and when I was trying to reconcile the logic push that consolidated all the data from this dimension into one member, I was only looking at one of the rollups, and not the other one.  So, it was really just a matter of writing logic and running it without taking into account all the data I was manipulating.
    Thanks,
    Grant

  • Load hierarchical attribute dimensions with Integration Services?

    Hi everybody,
    I need to load product dimension which is organized in a relational table like this:
    Product (parent_code, member_code, member_alias, brand, consolidation, formula)
    Every product has a brand and I need to load brand as attribute dimension. The thing is Brand is not flat but it has it's own hierarchy. For Brand I have another relational table where data is organized parent-child like this:
    Brand (brand_parent_code, brand_child_code, brand_child_alias).
    I have used in the past Integration Services but with flat attribute dimensions.
    Can I load hierarchical attribute dimensions with Integration Services? If yes, how do I do it, how do I specify the hierarchy?
    Thank you,
    Daniela

    Graham,
    This is definitely a supported feature in EIS/9.3.1/ASO. I have many models with this type of structure. How you set it up can vary. Usually my Attribute Hierarchies are not that deep, only two to three levels, maybe four in a rare case, so I don't usually use a parent child table to set up the hierarchy (I'm not saying that it won't work, it might, I haven't tried, but same steps should apply). In a typical model I will have my stock table which has a buyer field. Then in another table I will have my attribute structure which will have columns for buyer, teams, and categories.
    In EIS OLAP model, you add your attribute hierarchy table and use a join to link it to the main stock table, joining on the buyer field (you are now going from a "star" schema to a "snowflake". Go into the properties and make sure you define all the columns as "Attributes".
    Then in Metadata model, drag your categories attribute onto the outline, then drag the teams and set it as a child of categories and finally drag buyer and set as child of teams. You only set the attribute association for the buyer back to the base dimension.
    When you run your dim build it will set up your attribute dimension correctly.
    Some things to keep in mind, make sure you have a process that ensures for every stock code you have in the main table, you have a matching one in your attribute dim table.
    Sometimes, depending on how much manipulation I need to do, instead of joining the tables in EIS I will go back to relational source and create a view that joins the two tables together, then in my OLAP model, I have one table that has three attribute columns, one column for the buyer and then the other two for team and category, from that point setting up in metadata model is the same.
    Good luck, let me know if you run into trouble.

  • Hierarchical Dimension with a leaf node w/o any parent

    Hi
    We have a Product Dimension with five levels L0, L1, L2, L3 and L4 (L0-lowestlevel, L4-HighestLevel).
    With one Hierarchy STANDARD as
    L4, NULL (Parent)
    L3, L4 (L4 is the parent of L3)
    L2, L3
    L1, L2
    L0, L1 (L1 is the parent of L0)
    The product dimension table has a record with values only for L0 and NULL values for other Levels..
    (ie) We have a requirement to create a value in L0 which will have no parents.. The rest of the values in L0 will have parents.
    Would like to know if this is possible in AW. This was possible in Express Server
    regards
    uma

    HI
    yes we have run into a big problem. We have created leaf nodes w/o parent in aw and created relational views of those. The measure views thus created has data for these dimension values but when accessed thru BI Beans (ie in the cross-tab if we have this measure) the data is not getting displayed for these dimension values (Which do not have parent)
    Any immediate response will be of greate help to us.

  • Report  performance with Hierarchies

    Hi
    How to improve query performance with hierarchies. We have to do lot of navigation's in the query and the volume of data size very big.
    Thanks
    P G

    HI,
    chk this:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4c0ab590-0201-0010-bd9a-8332d8b4f09c
    Query Performance – Is "Aggregates" the way out for me?
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    ° the OLAP cache is architected to store query result sets and to give all users access to those result sets.
    If a user executes a query, the result set for that query’s request can be stored in the OLAP cache; if that same query (or a derivative) is then executed by another user, the subsequent query request can be filled by accessing the result set already stored in the OLAP cache.
    In this way, a query request filled from the OLAP cache is significantly faster than queries that receive their result set from database access
    ° The indexes that are created in the fact table for each dimension allow you to easily find and select the data
    see http://help.sap.com/saphelp_nw04/helpdata/en/80/1a6473e07211d2acb80000e829fbfe/content.htm
    ° when you load data into the InfoCube, each request has its own request ID, which is included in the fact table in the packet dimension.
    This (besides giving the possibility to manage/delete single request) increases the volume of data, and reduces performance in reporting, as the system has to aggregate with the request ID every time you execute a query. Using compressing, you can eliminate these disadvantages, and bring data from different requests together into one single request (request ID 0).
    This function is critical, as the compressed data can no longer be deleted from the InfoCube using its request IDs and, logically, you must be absolutely certain that the data loaded into the InfoCube is correct.
    see http://help.sap.com/saphelp_nw04/helpdata/en/ca/aa6437e7a4080ee10000009b38f842/content.htm
    ° by using partitioning you can split up the whole dataset for an InfoCube into several, smaller, physically independent and redundancy-free units. Thanks to this separation, performance is increased when reporting, or also when deleting data from the InfoCube.
    see http://help.sap.com/saphelp_nw04/helpdata/en/33/dc2038aa3bcd23e10000009b38f8cf/content.htm
    Hope it helps!
    tHAK YOU,
    dst

  • OWB10gR2 - Cube with relations to a dimension with more than one hierarchy

    Hi,
    I have defined a time dimension with two hierarchies. The standard hierarchy with the levels year-> month-> day,
    and a week hierarchy with the levels year-> week-> day.
    When I define the cube i choose dim_time on the dimension tab of the cube and select the level day for that dimension since this is the lowest level of both hierarchies.
    When I validate the cube I get the following error Message: VLD-0398: In the Cube test_cube, the dimension DIM_TIME has 2 hierarchies but Cube does not have reference to all lowest levels of these hierarchies.
    Validation details: The Cube should refer to a leaf levels of all multiple hierarchies of the Dimension.
    Do I have to add the dimension to the cube several times? or is it maybe another way to fix this? To me it seems a bit messy to add a dimension for each hierarchy.
    And just as a comment, Yes i know OWB now has a time dimension wizard but I have chosen not to use this at the moment.. ;)
    Regards Ragnar

    Hi, i assume this logic is for Dimension formula?
    If you have multiple hierarchy like ParentH1 and ParentH2 you should use FormulaH1 and FormulaH2 and not FORMULA column.
    in FORMULAH1
    [Account.H1].[Account_A] / [Account.H1].[Account_B]

  • Mapping Dimension with a composite primary key in AWM

    Hi, I have a dimension with 3 levels in a snowflake scheme. The Primary key (PK) of one of them is a composite pk.
    Let's say: table1 (code_t1 (pk), desc_t1), table2 (code_t2 (pk), code_t1 (pk+fk), desc_t2)) and table3 (code_t3 (pk), code_t2 (fk), code_t1 (fk), desc_t3), being table3 the base level table.
    I am using AWM 11.2.0.1.0A
    My questions are:
    1) can I have a level with a composite PK?
    2) if yes, how should I do the mappings using AWM? It seems like you only can have one filed for the source column in the Mapping pane.
    3) if no, is there any workaround?
    Thank you.

    I just tried this in AWM and it is clearly buggy in this area, in part because it is trying to change the underlying representation.
    If you export the dimension to XML you should find an entry that looks like this for each level
    <HierarchyLevelMap
    KeyExpression="..."
    Query="..."
    JoinCondition="...">
    </HierarchyLevelMap>
    The 'Query' is the name of the table you are selecting from. For example, your level2 should have
    Query="TABLE2"
    The 'KeyExpression' is the expression that defines the AW dimension member for that level. For example, your level2 should have
    KeyExpression= '(TABLE2.CODE_T2 || TABLE2.CODE_T1)'
    The 'JoinCondition' defines how to join the table for a child level to that of its parent. For example, your level3 would ideally look like this
    JoinCondition='(TABLE3.CODE_T2 = TABLE2.CODE_T2) AND (TABLE3.CODE_T1 = TABLE2.CODE_T1)'
    But in your case it must be something different, probably 'TABLE3.CODE_T2 = (TABLE2.CODE_T2 || TABLE2.CODE_T1)'.
    AWM must derive its Parent field from this JoinCondition in some way, and it appears to mess it up when you use concatenated key expressions. The workaround is to hand edit the XML to specify the JoinCondition correctly for your case and recreate the dimension from that XML. I would then avoid editing this particular mapping in AWM since it will mangle it.

  • Dimension with SOLVED LEVEL-BASED hierarchy (10.2)

    I'm trying to make a dimension with SOLVED LEVEL-BASED hierarchy (Oracle 10.2.0.1).
    Hierarchy is folowing:
    TOP
    |_OWNER
    |_OBJECT_TYPE
    |_OBJECT_NAME
    Script
    DROP TABLE SOLVED_DIM;
    CREATE TABLE SOLVED_DIM
    GID NUMBER,
    ETKEY VARCHAR2(100),
    PARENT_GID NUMBER,
    PARENT_ETKEY VARCHAR2(100),
    SHORT_DESCRIPTION VARCHAR2(100),
    LONG_DESCRIPTION VARCHAR2(100),
    TOP                    VARCHAR2(100),
    OWNER VARCHAR2(100),
    OBJECT_TYPE VARCHAR2(100),
    OBJECT_NAME VARCHAR2(100) ,
    TOP_ID NUMBER,
    OWNER_ID NUMBER,
    OBJECT_TYPE_ID NUMBER,
    OBJECT_NAME_ID NUMBER,
    ID NUMBER
    --Test dataset &#8470;1
    INSERT INTO SOLVED_DIM VALUES (7, 'TOP', NULL, NULL, 'TOP', 'TOP', 'TOP', NULL, NULL, NULL, 1, NULL, NULL, NULL, 100001);
    INSERT INTO SOLVED_DIM VALUES (3, 'SH', 7, 'TOP', 'SH', 'SH', 'TOP', 'SH', NULL, NULL, 1, 11, NULL, NULL, 100002);
    INSERT INTO SOLVED_DIM VALUES (3, 'OLAP_USR', 7, 'TOP', 'OLAP_USR', 'OLAP_USR', 'TOP', 'OLAP_USR', NULL, NULL, 1, 12, NULL, NULL, 100003);
    INSERT INTO SOLVED_DIM VALUES (1, 'SDIMENSION', 3, 'SH', 'SDIMENSION', 'SDIMENSION', 'TOP', 'SH', 'SDIMENSION', NULL, 1, 11, 111, NULL, 100004);
    INSERT INTO SOLVED_DIM VALUES (1, 'ODIMENSION', 3, 'OLAP_USR', 'ODIMENSION', 'ODIMENSION', 'TOP', 'OLAP_USR', 'ODIMENSION', NULL, 1, 12, 121, NULL, 100005);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD1', 1, 'ODIMENSION', 'OUD1', 'OUD1', 'TOP', 'OLAP_USR', 'ODIMENSION', 'OUD1', 1, 12, 121, 1211, 100006);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD2', 1, 'SDIMENSION', 'OUD2', 'OUD2', 'TOP', 'SH', 'SDIMENSION', 'OUD2', 1, 11, 111, 1111, 100007);
    commit;
    --Test dataset &#8470;2
    INSERT INTO SOLVED_DIM VALUES (7, 'TOP', NULL, NULL, 'TOP', 'TOP', 'TOP', NULL, NULL, NULL, 1, NULL, NULL, NULL, 100001);
    INSERT INTO SOLVED_DIM VALUES (3, 'SH', 7, 'TOP', 'SH', 'SH', 'TOP', 'SH', NULL, NULL, 1, 11, NULL, NULL, 100002);
    INSERT INTO SOLVED_DIM VALUES (3, 'OLAP_USR', 7, 'TOP', 'OLAP_USR', 'OLAP_USR', 'TOP', 'OLAP_USR', NULL, NULL, 1, 12, NULL, NULL, 100003);
    INSERT INTO SOLVED_DIM VALUES (1, 'DIMENSION', 3, 'SH', 'DIMENSION', 'DIMENSION', 'TOP', 'SH', 'DIMENSION', NULL, 1, 11, 111, NULL, 100004);
    INSERT INTO SOLVED_DIM VALUES (1, 'DIMENSION', 3, 'OLAP_USR', 'DIMENSION', 'DIMENSION', 'TOP', 'OLAP_USR', 'DIMENSION', NULL, 1, 12, 121, NULL, 100005);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD1', 1, 'DIMENSION', 'OUD1', 'OUD1', 'TOP', 'OLAP_USR', 'DIMENSION', 'OUD1', 1, 12, 121, 1211, 100006);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD2', 1, 'DIMENSION', 'OUD2', 'OUD2', 'TOP', 'SH', 'DIMENSION', 'OUD2', 1, 11, 111, 1111, 100007);
    commit;
    BEGIN
    -- ---- Creating Dimension (CWM2_OLAP_DIMENSION) -------------------------
    begin
    cwm2_olap_dimension.drop_dimension(user, 'SOLVED_DIM');
    exception when others then null;
    end;
    cwm2_olap_dimension.create_dimension(user, 'SOLVED_DIM', 'SOLVED_DIM disp', 'SOLVED_DIM pl', 'SOLVED_DIM short', 'SOLVED_DIM long');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_DIMENSION_ATTRIBUTE) ---
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'ID', 'ID', 'ID', 'ID');
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'ET key', 'ET key', 'ET key', 'ET key', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'Parent ET key', 'Parent ET key', 'Parent ET key', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'Grouping ID', 'Grouping ID', 'Grouping ID', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'Parent Grouping ID', 'Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Long Description', 'Long Description', 'Long Description', 'Long Description', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Short Description', 'Short Description', 'Short Description', 'Short Description', true);
    -- ----- Completing Dimension Metadata (CWM2_OLAP_HIERARCHEY) ------------
    cwm2_olap_hierarchy.create_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'SOLVED_DIM_HI disp', 'SOLVED_DIM_HI short', 'SOLVED_DIM_HI long', 'SOLVED LEVEL-BASED');
    cwm2_olap_dimension.set_default_display_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_LEVEL) -----------------
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OBJECT_NAME', 'OBJECT_NAME disp', 'OBJECT_NAME pl', 'OBJECT_NAME short', 'OBJECT_NAME long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OBJECT_TYPE', 'OBJECT_TYPE disp', 'OBJECT_TYPE pl', 'OBJECT_TYPE short', 'OBJECT_TYPE long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OWNER' ,'OWNER disp',      'OWNER pl', 'OWNER short', 'OWNER long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'TOP', 'TOP disp',           'TOP pl', 'TOP short', 'TOP long');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_LEVEL_ATTRIBUTE) -------
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OBJECT_NAME', 'ID', 'OBJECT_NAME_ID', 'OBJECT_NAME ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OBJECT_TYPE', 'ID', 'OBJECT_TYPE_ID', 'OBJECT_TYPE ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OWNER',      'ID', 'OWNER_ID', 'OWNER ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'TOP', 'ID', 'TOP_ID', 'TOP ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OBJECT_NAME', 'ET key', 'OBJECT_NAME_ET', 'OBJECT_NAME ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OBJECT_NAME', 'Parent ET key', 'OBJECT_NAME PARENT', 'OBJECT_NAME Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OBJECT_NAME', 'Grouping ID', 'OBJECT_NAME GID','OBJECT_NAME GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OBJECT_NAME', 'Parent Grouping ID', 'OBJECT_NAME PGID', 'OBJECT_NAME Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OBJECT_NAME', 'Long Description', 'OBJECT_NAME LongDesc', 'OBJECT_NAME Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OBJECT_NAME', 'Short Description', 'OBJECT_NAME ShortDesc', 'OBJECT_NAME Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OBJECT_TYPE', 'ET key', 'OBJECT_TYPE_ET', 'OBJECT_TYPE ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OBJECT_TYPE', 'Parent ET key', 'OBJECT_TYPE PARENT', 'OBJECT_TYPE Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OBJECT_TYPE', 'Grouping ID', 'OBJECT_TYPE GID','OBJECT_TYPE GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OBJECT_TYPE', 'Parent Grouping ID', 'OBJECT_TYPE PGID', 'OBJECT_TYPE Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OBJECT_TYPE', 'Long Description', 'OBJECT_TYPE LongDesc', 'OBJECT_TYPE Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OBJECT_TYPE', 'Short Description', 'OBJECT_TYPE ShortDesc', 'OBJECT_TYPE Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OWNER', 'ET key', 'OWNER_ET', 'OWNER ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OWNER', 'Parent ET key', 'OWNER PARENT', 'OWNER Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OWNER', 'Grouping ID', 'OWNER GID','OWNER GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OWNER', 'Parent Grouping ID', 'OWNER PGID', 'OWNER Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OWNER', 'Long Description', 'OWNER LongDesc', 'OWNER Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OWNER', 'Short Description', 'OWNER ShortDesc', 'OWNER Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'TOP', 'ET key', 'TOP_ET', 'TOP ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'TOP', 'Parent ET key', 'TOP PARENT', 'TOP Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'TOP', 'Grouping ID', 'TOP GID','TOP GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'TOP', 'Parent Grouping ID', 'TOP PGID', 'TOP Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'TOP', 'Long Description', 'TOP LongDesc', 'TOP Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'TOP', 'Short Description', 'TOP ShortDesc', 'TOP Short Desc', 'Short Description', true);
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'OBJECT_TYPE');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'OWNER');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OWNER',          'TOP');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'TOP');
    -- + Mapping Dimensions +
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_NAME', user, 'SOLVED_DIM', 'OBJECT_NAME', 'OBJECT_TYPE');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_TYPE', user, 'SOLVED_DIM', 'OBJECT_TYPE', 'OWNER');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OWNER',           user, 'SOLVED_DIM', 'OWNER',     'TOP');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'TOP',           user, 'SOLVED_DIM', 'TOP');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'ID', user, 'SOLVED_DIM', 'OBJECT_NAME_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'ID', user, 'SOLVED_DIM', 'OBJECT_TYPE_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OWNER', 'ID', user, 'SOLVED_DIM', 'OWNER_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OWNER', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OWNER', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OWNER', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OWNER', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OWNER', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OWNER', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'TOP', 'ID', user, 'SOLVED_DIM', 'TOP_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'TOP', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'TOP', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'TOP', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'TOP', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'TOP', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'TOP', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    -- + Validate and Refresh +
    cwm2_olap_validate.validate_dimension(user, 'SOLVED_DIM');
    cwm2_olap_metadata_refresh.mr_refresh;
    END;
    The first dataset works perfectly. But not the second one... There are some intersections at OBJECT_TYPE level.
    TOP->OLAP_USR->DIMENSION->OUD1
    and
    TOP->SH->DIMENSION->OUD2.
    When I'm watching TOP->OLAP_USR->DIMENSION->OUD1, I not only open OUD1, but OUD2 under SH (even skipping OBJECT_TYPE level). It's simple to do it for USOLVED LEVEL-BASED by assigning different Id for the same OBJECT_TYPES from different owners. But it looks like my ids are ignored for Solved hierarchy.
    Does anybody knows how to handle such situation?

    I'm trying to make a dimension with SOLVED LEVEL-BASED hierarchy (Oracle 10.2.0.1).
    Hierarchy is folowing:
    TOP
    |_OWNER
    |_OBJECT_TYPE
    |_OBJECT_NAME
    Script
    DROP TABLE SOLVED_DIM;
    CREATE TABLE SOLVED_DIM
    GID NUMBER,
    ETKEY VARCHAR2(100),
    PARENT_GID NUMBER,
    PARENT_ETKEY VARCHAR2(100),
    SHORT_DESCRIPTION VARCHAR2(100),
    LONG_DESCRIPTION VARCHAR2(100),
    TOP                    VARCHAR2(100),
    OWNER VARCHAR2(100),
    OBJECT_TYPE VARCHAR2(100),
    OBJECT_NAME VARCHAR2(100) ,
    TOP_ID NUMBER,
    OWNER_ID NUMBER,
    OBJECT_TYPE_ID NUMBER,
    OBJECT_NAME_ID NUMBER,
    ID NUMBER
    --Test dataset &#8470;1
    INSERT INTO SOLVED_DIM VALUES (7, 'TOP', NULL, NULL, 'TOP', 'TOP', 'TOP', NULL, NULL, NULL, 1, NULL, NULL, NULL, 100001);
    INSERT INTO SOLVED_DIM VALUES (3, 'SH', 7, 'TOP', 'SH', 'SH', 'TOP', 'SH', NULL, NULL, 1, 11, NULL, NULL, 100002);
    INSERT INTO SOLVED_DIM VALUES (3, 'OLAP_USR', 7, 'TOP', 'OLAP_USR', 'OLAP_USR', 'TOP', 'OLAP_USR', NULL, NULL, 1, 12, NULL, NULL, 100003);
    INSERT INTO SOLVED_DIM VALUES (1, 'SDIMENSION', 3, 'SH', 'SDIMENSION', 'SDIMENSION', 'TOP', 'SH', 'SDIMENSION', NULL, 1, 11, 111, NULL, 100004);
    INSERT INTO SOLVED_DIM VALUES (1, 'ODIMENSION', 3, 'OLAP_USR', 'ODIMENSION', 'ODIMENSION', 'TOP', 'OLAP_USR', 'ODIMENSION', NULL, 1, 12, 121, NULL, 100005);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD1', 1, 'ODIMENSION', 'OUD1', 'OUD1', 'TOP', 'OLAP_USR', 'ODIMENSION', 'OUD1', 1, 12, 121, 1211, 100006);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD2', 1, 'SDIMENSION', 'OUD2', 'OUD2', 'TOP', 'SH', 'SDIMENSION', 'OUD2', 1, 11, 111, 1111, 100007);
    commit;
    --Test dataset &#8470;2
    INSERT INTO SOLVED_DIM VALUES (7, 'TOP', NULL, NULL, 'TOP', 'TOP', 'TOP', NULL, NULL, NULL, 1, NULL, NULL, NULL, 100001);
    INSERT INTO SOLVED_DIM VALUES (3, 'SH', 7, 'TOP', 'SH', 'SH', 'TOP', 'SH', NULL, NULL, 1, 11, NULL, NULL, 100002);
    INSERT INTO SOLVED_DIM VALUES (3, 'OLAP_USR', 7, 'TOP', 'OLAP_USR', 'OLAP_USR', 'TOP', 'OLAP_USR', NULL, NULL, 1, 12, NULL, NULL, 100003);
    INSERT INTO SOLVED_DIM VALUES (1, 'DIMENSION', 3, 'SH', 'DIMENSION', 'DIMENSION', 'TOP', 'SH', 'DIMENSION', NULL, 1, 11, 111, NULL, 100004);
    INSERT INTO SOLVED_DIM VALUES (1, 'DIMENSION', 3, 'OLAP_USR', 'DIMENSION', 'DIMENSION', 'TOP', 'OLAP_USR', 'DIMENSION', NULL, 1, 12, 121, NULL, 100005);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD1', 1, 'DIMENSION', 'OUD1', 'OUD1', 'TOP', 'OLAP_USR', 'DIMENSION', 'OUD1', 1, 12, 121, 1211, 100006);
    INSERT INTO SOLVED_DIM VALUES (0, 'OUD2', 1, 'DIMENSION', 'OUD2', 'OUD2', 'TOP', 'SH', 'DIMENSION', 'OUD2', 1, 11, 111, 1111, 100007);
    commit;
    BEGIN
    -- ---- Creating Dimension (CWM2_OLAP_DIMENSION) -------------------------
    begin
    cwm2_olap_dimension.drop_dimension(user, 'SOLVED_DIM');
    exception when others then null;
    end;
    cwm2_olap_dimension.create_dimension(user, 'SOLVED_DIM', 'SOLVED_DIM disp', 'SOLVED_DIM pl', 'SOLVED_DIM short', 'SOLVED_DIM long');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_DIMENSION_ATTRIBUTE) ---
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'ID', 'ID', 'ID', 'ID');
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'ET key', 'ET key', 'ET key', 'ET key', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'Parent ET key', 'Parent ET key', 'Parent ET key', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'Grouping ID', 'Grouping ID', 'Grouping ID', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'Parent Grouping ID', 'Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Long Description', 'Long Description', 'Long Description', 'Long Description', true);
    cwm2_olap_dimension_attribute.create_dimension_attribute(user, 'SOLVED_DIM', 'Short Description', 'Short Description', 'Short Description', 'Short Description', true);
    -- ----- Completing Dimension Metadata (CWM2_OLAP_HIERARCHEY) ------------
    cwm2_olap_hierarchy.create_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'SOLVED_DIM_HI disp', 'SOLVED_DIM_HI short', 'SOLVED_DIM_HI long', 'SOLVED LEVEL-BASED');
    cwm2_olap_dimension.set_default_display_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_LEVEL) -----------------
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OBJECT_NAME', 'OBJECT_NAME disp', 'OBJECT_NAME pl', 'OBJECT_NAME short', 'OBJECT_NAME long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OBJECT_TYPE', 'OBJECT_TYPE disp', 'OBJECT_TYPE pl', 'OBJECT_TYPE short', 'OBJECT_TYPE long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'OWNER' ,'OWNER disp',      'OWNER pl', 'OWNER short', 'OWNER long');
    cwm2_olap_level.create_level(user, 'SOLVED_DIM', 'TOP', 'TOP disp',           'TOP pl', 'TOP short', 'TOP long');
    -- ----- Completing Dimension Metadata (CWM2_OLAP_LEVEL_ATTRIBUTE) -------
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OBJECT_NAME', 'ID', 'OBJECT_NAME_ID', 'OBJECT_NAME ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OBJECT_TYPE', 'ID', 'OBJECT_TYPE_ID', 'OBJECT_TYPE ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'OWNER',      'ID', 'OWNER_ID', 'OWNER ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ID', 'TOP', 'ID', 'TOP_ID', 'TOP ID', 'ID');
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OBJECT_NAME', 'ET key', 'OBJECT_NAME_ET', 'OBJECT_NAME ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OBJECT_NAME', 'Parent ET key', 'OBJECT_NAME PARENT', 'OBJECT_NAME Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OBJECT_NAME', 'Grouping ID', 'OBJECT_NAME GID','OBJECT_NAME GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OBJECT_NAME', 'Parent Grouping ID', 'OBJECT_NAME PGID', 'OBJECT_NAME Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OBJECT_NAME', 'Long Description', 'OBJECT_NAME LongDesc', 'OBJECT_NAME Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OBJECT_NAME', 'Short Description', 'OBJECT_NAME ShortDesc', 'OBJECT_NAME Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OBJECT_TYPE', 'ET key', 'OBJECT_TYPE_ET', 'OBJECT_TYPE ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OBJECT_TYPE', 'Parent ET key', 'OBJECT_TYPE PARENT', 'OBJECT_TYPE Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OBJECT_TYPE', 'Grouping ID', 'OBJECT_TYPE GID','OBJECT_TYPE GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OBJECT_TYPE', 'Parent Grouping ID', 'OBJECT_TYPE PGID', 'OBJECT_TYPE Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OBJECT_TYPE', 'Long Description', 'OBJECT_TYPE LongDesc', 'OBJECT_TYPE Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OBJECT_TYPE', 'Short Description', 'OBJECT_TYPE ShortDesc', 'OBJECT_TYPE Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'OWNER', 'ET key', 'OWNER_ET', 'OWNER ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'OWNER', 'Parent ET key', 'OWNER PARENT', 'OWNER Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'OWNER', 'Grouping ID', 'OWNER GID','OWNER GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'OWNER', 'Parent Grouping ID', 'OWNER PGID', 'OWNER Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'OWNER', 'Long Description', 'OWNER LongDesc', 'OWNER Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'OWNER', 'Short Description', 'OWNER ShortDesc', 'OWNER Short Desc', 'Short Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'ET key', 'TOP', 'ET key', 'TOP_ET', 'TOP ET key', 'ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent ET key', 'TOP', 'Parent ET key', 'TOP PARENT', 'TOP Parent ET key', 'Parent ET key', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Grouping ID', 'TOP', 'Grouping ID', 'TOP GID','TOP GID', 'Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Parent Grouping ID', 'TOP', 'Parent Grouping ID', 'TOP PGID', 'TOP Parent Grouping ID', 'Parent Grouping ID', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Long Description', 'TOP', 'Long Description', 'TOP LongDesc', 'TOP Long Desc', 'Long Description', true);
    cwm2_olap_level_attribute.create_level_attribute(user, 'SOLVED_DIM', 'Short Description', 'TOP', 'Short Description', 'TOP ShortDesc', 'TOP Short Desc', 'Short Description', true);
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'OBJECT_TYPE');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'OWNER');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OWNER',          'TOP');
    cwm2_olap_level.add_level_to_hierarchy(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'TOP');
    -- + Mapping Dimensions +
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_NAME', user, 'SOLVED_DIM', 'OBJECT_NAME', 'OBJECT_TYPE');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OBJECT_TYPE', user, 'SOLVED_DIM', 'OBJECT_TYPE', 'OWNER');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'OWNER',           user, 'SOLVED_DIM', 'OWNER',     'TOP');
    cwm2_olap_table_map.map_dimtbl_hierlevel(user, 'SOLVED_DIM', 'SOLVED_DIM_HI', 'TOP',           user, 'SOLVED_DIM', 'TOP');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'ID', user, 'SOLVED_DIM', 'OBJECT_NAME_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OBJECT_NAME', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'ID', user, 'SOLVED_DIM', 'OBJECT_TYPE_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OBJECT_TYPE', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'OWNER', 'ID', user, 'SOLVED_DIM', 'OWNER_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'OWNER', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'OWNER', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'OWNER', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'OWNER', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'OWNER', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'OWNER', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ID', 'SOLVED_DIM_HI', 'TOP', 'ID', user, 'SOLVED_DIM', 'TOP_ID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'ET key', 'SOLVED_DIM_HI', 'TOP', 'ET key', user, 'SOLVED_DIM', 'ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent ET key', 'SOLVED_DIM_HI', 'TOP', 'Parent ET key', user, 'SOLVED_DIM', 'PARENT_ETKEY');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Grouping ID', 'SOLVED_DIM_HI', 'TOP', 'Grouping ID', user, 'SOLVED_DIM', 'GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Parent Grouping ID', 'SOLVED_DIM_HI', 'TOP', 'Parent Grouping ID', user, 'SOLVED_DIM', 'PARENT_GID');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Long Description', 'SOLVED_DIM_HI', 'TOP', 'Long Description', user, 'SOLVED_DIM', 'LONG_DESCRIPTION');
    cwm2_olap_table_map.map_dimtbl_hierlevelattr(user, 'SOLVED_DIM', 'Short Description', 'SOLVED_DIM_HI', 'TOP', 'Short Description', user, 'SOLVED_DIM', 'SHORT_DESCRIPTION');
    -- + Validate and Refresh +
    cwm2_olap_validate.validate_dimension(user, 'SOLVED_DIM');
    cwm2_olap_metadata_refresh.mr_refresh;
    END;
    The first dataset works perfectly. But not the second one... There are some intersections at OBJECT_TYPE level.
    TOP->OLAP_USR->DIMENSION->OUD1
    and
    TOP->SH->DIMENSION->OUD2.
    When I'm watching TOP->OLAP_USR->DIMENSION->OUD1, I not only open OUD1, but OUD2 under SH (even skipping OBJECT_TYPE level). It's simple to do it for USOLVED LEVEL-BASED by assigning different Id for the same OBJECT_TYPES from different owners. But it looks like my ids are ignored for Solved hierarchy.
    Does anybody knows how to handle such situation?

  • Associating attribute dimensions with the standard dimension in EIS

    Hi... we need to bring 2 attribute dimensions in to the Metaoutline of EIS.These 2 attribute dimensions must be associated with lev 0 member of the standard dimension.how to achieve in EIS?
    The current status: we did the olap model by mapping all the dimensional tables with the fact table and we are struck up how to bring the 2 attribute dimensions in to the model screen and association with standard dimesnion.
    The table structure for the standard dimension is
    column1/Gen-1     column2/Gen-2-Alis     consolidation     col3(Attr)     colu 4(Attri)
    Reason-1     Reason-1-extension               
    Reason-2     Reason-2-extension               
    Reason-3     Reason-3-extension          
    col3 and col4 are attributes to be associated with column2.
    Pls guide us the approach to be done in EIS..

    Graham,
    This is definitely a supported feature in EIS/9.3.1/ASO. I have many models with this type of structure. How you set it up can vary. Usually my Attribute Hierarchies are not that deep, only two to three levels, maybe four in a rare case, so I don't usually use a parent child table to set up the hierarchy (I'm not saying that it won't work, it might, I haven't tried, but same steps should apply). In a typical model I will have my stock table which has a buyer field. Then in another table I will have my attribute structure which will have columns for buyer, teams, and categories.
    In EIS OLAP model, you add your attribute hierarchy table and use a join to link it to the main stock table, joining on the buyer field (you are now going from a "star" schema to a "snowflake". Go into the properties and make sure you define all the columns as "Attributes".
    Then in Metadata model, drag your categories attribute onto the outline, then drag the teams and set it as a child of categories and finally drag buyer and set as child of teams. You only set the attribute association for the buyer back to the base dimension.
    When you run your dim build it will set up your attribute dimension correctly.
    Some things to keep in mind, make sure you have a process that ensures for every stock code you have in the main table, you have a matching one in your attribute dim table.
    Sometimes, depending on how much manipulation I need to do, instead of joining the tables in EIS I will go back to relational source and create a view that joins the two tables together, then in my OLAP model, I have one table that has three attribute columns, one column for the buyer and then the other two for team and category, from that point setting up in metadata model is the same.
    Good luck, let me know if you run into trouble.

Maybe you are looking for

  • Logic Pro 7.1.1 stability

    Hi, I'v been using logic on mac since v6, I have never bin able to have logic run continuously for more than an hour!! It always locks-up on me (crashes). I am at the end of my tether. I love the look of logic and love the way it works, (wen it works

  • How can i sign out from ichat ??

    how can i sign out from the ichat ??

  • Summing command is not getting the result

    Hi All, I am using summing command in my script to print page total on every page. I have used: SUMMING &ITAB_TDS-BASAMT& INTO &ZTDS-BASE_AMT& here itab-tds is my internal table which contains the line items..and ztds is the R/3 transparent table(glo

  • JD Edward Enterprise One

    hey I have a customer who is facing some performance issues with JD Edward enterprise one application and have interest around Pack for better managability. This application is hosted on DB2 (IBM). They are looking for a pack which works with DB2 dat

  • What is this weird box?

    So I opened up idvd and this weird box showed up, I have no idea what it is or what it does. I want to know how to get rid of it. I've tried restarting it and it didn't work. How can I fix this?