Level based dimension

Hi All,
I have requirement to implement level based hierarchy using the fields from three different dimensions. The three columns are in three different tables. On all the examples I have seen all the components/fields for level based hierarchy are from one single dimension table( like country, region, state,district from Region table).Is there a way to create level based hierarchy from different dimension tables.
Thanks,
Virat

Hi All,
After I created the level based hierarchy dimension for logical table which have 3 LTS. I am getting the following warning.
"Logical table hierarchy has a source D1 that does not join to any fact source."
Thanks,
Virat

Similar Messages

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

  • Level Based Measures

    Hi Experts,
    please clarify my doubts .
    1. I created 3 level based measures. Year level Revenue, Quarter level Revenue and Month level revenue. And I do have Revenue column which is not at any level.
    Report:
    I put "Date" , "Year based Revenue" , "Quarter based Revenue" and "Month based Revenue" in a report.
    Everything works fine.
    But when i add ' Revenue' Column (not specific to any level) to this report, all values of level based measures changes. Why does this happen. And how to overcome this?
    2. Also when i add columns from other dimensions(Like ProductName) , values of all these level based measures in previous report changes.
    My questioin is why do these fields change their values when someone else comes into picture.(Though they are called level based measures !)
    Is there any way to hold a particular value in a field no matter which ever field comes in a report?
    Thanks in Advance
    Jaan

    Hi Pramod,
    It's customary to award points to Nico for helping you with your question. Could you also set the thread to Answered so other users can take advantage of your work in case they have the same problem?
    Thanks!
    -Joe

  • Level Based Measure and a column based on that

    Hello All,
    I need suggestions to implement the following requirement.
    1. No of orders stored in a fact table at day level
    2. No. of orders at month level should be calculated
    3. Depending on the count, each month would be assigned to a bucket.
    0-10 orders -> B1
    11-100 orders -> B2
    > 100 orders -> B3
    What I did in RPD
    1. fact joined to time dimension
    2. created a logical column: ORDER_COUNT: count(distinct order_number) iand set the level = month
    3. created a logical column: BUCKET: using the output of above logical column and CASE statement to implement the bucket rule.
    Now, when I run a report like this:
    Year; ORDER_COUNT; BUCKET
    Returns me 12 rows. Understood because ORDER_COUNT is a month level measure
    E.g.
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    2011 5 B1
    2011 5 B1
    2011 15 B2
    2011 15 B2
    But as soon as I pull the BUCKET column as column heading in pivot table, it returns me only the 1st month row and changes the "BUCKET" value to B3.
    Looks like, it recalculates the bucket and sums up all 12 months orders and then applies the bucket rule.
    Like this -
    B3
    2011 5
    My expectation was something like this
    B1 B2 B3
    2011 30 90 0
    where 30 is the sum of the order_counts of all B1 months, <m>
    Ques:
    1. Is there a way I can avoid the recalculation of bucket information when the granularity/dimensionality changes in the report
    2. I read in the below link that if the grain of the report > grain of the level-based-measure then the output of the report is "not-deterministic"
    Am I hitting that scenario?
    [http://gerardnico.com/wiki/dat/obiee/measure_level_based]
    Any suggestion would be highly appreciated.
    I am using 11.1.1.6.2 version.
    Thanks & Regards
    Monika

    Hi ,
    If I understand your requirement  correctly , then you need currency Conversion.
    you can refer this links.
    http://consultingblogs.emc.com/christianwade/archive/2006/08/24/Currency-Conversion-in-Analysis-Services-2005.aspx
    http://www.ssas-info.com/analysis-services-faq/27-mdx/244-how-change-currency-symbol-based-on-selected-currency-dimension-member
    http://social.technet.microsoft.com/wiki/contents/articles/18672.currency-conversion-in-ssas-2012-multidimensional-tabular.aspx
    May I know , You Require all this using MDX and SSRS Parameter ?
    Thanks

  • Level based measure and AGO function

    Hi,
    I've a TIME fact table with a single dimension (TIME_DIM) and a single measure (WORK_DAY).
    WORK_DAY is 1 if the day is a working day, otherwise it is 0.
    This way I can get the number of working days by month, quarter and year.
    (TIME is a logical fact table. WORK_DAY is phsical stored inside the physical TIME_DIM).
    To have WORK_DAY work correctly when used with others fact tables, I've defined it as a level based measure, where all the dimensions are set to the "total" level, apart TIME_DIM.
    So far so good.
    Then I created a new calculated measure WORK_DAY_PREVIOUS_YEAR.
    I used the AGO function this way: AGO (TIME.WORK_DAY, TIME_HIERARCHY.YEAR, 1)
    No complains by OBIEE, but this column always returns 1...
    I've no trouble using level based measures.
    I've no trouble using AGO.
    But if I mix them together they no longer work.
    Do you experience this issue? Any workaround?
    I'm using OBIEE 11.1.1.5
    Regards,
    Corraod

    What is the month level key column functionality in your time dimension?
    it should be in format of yyyymm but not in just mm ..

  • Issue with Level-based measure at Year level

    Hello everyone,
    I am facing weird issue while using OBIEE 11g level-based measure at the Year level. I am creating a trend analysis report that are displaying Expense Accounts dimension with 6 levels and 2 measures: Expense YTD, and Expense Full Year measures
    The report has multiple rows with value "Others" in the 3rd level of the account dimension (Account Level 3) yet, they all have different IDs and associated with different parents (different Account Level 2 values)...
    When i displaying the Expense YTD measure only results are fine and everything is perfect, when selecting Expense Full Year measure, only the first occurrence of the value "Others" in 3rd level column is displayed and non of the remaining records appears...
    What makes my life worse is that i can't even see the log file of this query because an error occurs when trying to view the session log i.e. "No log file found"
    Please help, i am about to start the UAT phase of the current project and i am running out of time..
    Thanks
    Mohamed Adel

    Hi,
    Are you using presentation hierarchy?
    Refer below if same is followed-
    http://gerardnico.com/wiki/dat/obiee/hierarchy_level_based
    Hope this helped/ answered.
    Regards
    MuRam

  • HANA level based Hierarchy is not displaying in AOLAP

    Hi all,
    I have created a level based Hierarchy in HANA which I have been able to display in Excel using a HANA MDX Provider connection:
    However when I try to use the Hierarchy in Analysis for OLAP I am unable to see it, instead the dimensions are flat:
    I have used an OLAP connection to HANA which otherwise appears to be working correctly.
    We are on SAP BusinessObjects BI Platform 4.1 Support Pack 1 Version: 14.1.1.1036.  and HANA 1.00.69.01.386065.
    If anyone can help it would be greatly appreciated.
    Regards,
    Steve Willis.

    Hi Stephen,
    This should be possible. In my environment, I'm able to access both the flat and hierarchical presentations for a dimension, if I expand the dimension in the tree (see screenshot). I have noticed that the flat presentation is the default. However, if I expand and drag the appropriate hierarchy, I am seeing the hierarchy in the crosstab.
    Are you able to expand the dimension and access the hierarchy?
    Best regards,
    Philip

  • OBIEE Multiple Facts With Level Based Measures

    Gurus,
    We have a requirement which we think complex to achieve at OBIEE level. Please help if anyone knows a solid solution for this problem.
    Orders, Shipments and Revenue are the fact tables and we have common dimensions like customer, product, time and others. For each fact table there is a corresponding dimension to store the non metric columns like Order Number and Shipment Number.
    Now the requirement from the customer is
    1. Need to see the Order Information completely even though he is looking at Shipment or Revenue data. Ideally, it is not mandatory for each order to have Shipment or Revenue. This is applicable for Shipment too, if the customer is looking at revenue and shipment data he needs see all the shipments including those that doesn't have any revenue.
    2. Non Confirming dimensions should not throw errors. This could be possible by using Level based measures.
    Please help with your thoughts here. Thanks in advance.
    Siva

    Hi,
    Create left outer join from Order Number to Revenue Fact and from Shipment Number to Revenue Fact.
    Now when you create a report you will get all Orders and Shipments.
    It will impact the performance of the reports though.
    or you can try creating a union report as
    Customer Order Number Shipment Number Revenue Quantity >>>>>>>> This will give you orders which have Revenue
    Union
    Customer Order Number Shipment Number 0 >>>>>>>> This will give all orders and shipments
    Hope this helps.
    Thanks

  • Creating dim, cube based on SOLVED LEVEL-BASED Dims

    Hi All,
    I have generated parent child script using cwm2_olap_pc_transform.create_script. After running this generated script, it has created 3 table/view.
    My Base Parent Child table is like this:-
    drop table PARENT_CHILD;
    create table PARENT_CHILD (PARENT varchar2(30), CHILD varchar2(30));
    insert into PARENT_CHILD values ('Eligible', 'Compliant');
    insert into PARENT_CHILD values ('Eligible', 'Non-Compliant');
    insert into PARENT_CHILD values ('All', 'Eligible');
    insert into PARENT_CHILD values ('All', 'Ineligible');
    insert into PARENT_CHILD values (null, 'All');
    After running generated script thru cwm2_olap_pc_transform.create_script, it has created :-
    Table - PARENT_CHILD_SOLVED
    View - PARENT_CHILD_SOLVED_view , PARENT_CHILD_view
    This script also inserted data in above table/view. (5 rec in each). Table/View structure is like this:-
    SQL> desc PARENT_CHILD_view
    Name Null? Type
    GID NUMBER
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 All Eligible Compliant
    0 All Eligible Non-Compliant
    1 All Eligible
    1 All Ineligible
    3 All
    SQL> desc PARENT_CHILD_SOLVED
    Name Null? Type
    GID NUMBER
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 All Eligible Compliant
    0 All Eligible Non-Compliant
    1 All Eligible
    1 All Ineligible
    3 All
    SQL> desc PARENT_CHILD_SOLVED_view
    Name Null? Type
    GID NUMBER
    SHORT_DESCRIPTION VARCHAR2(30)
    LONG_DESCRIPTION VARCHAR2(30)
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 Compliant Compliant All Eligible Compliant
    0 Non-Compliant Non-Compliant All Eligible Non-Compliant
    1 Eligible Eligible All Eligible
    1 Ineligible Ineligible All Ineligible
    3 All All All
    I tried to create dim and cube based on this. I am not sure whether its correct or not! Though validate_dimension API call shows that it is valid.
    Script for Dim:-
    DECLARE
    -- variable to hold error message
    errtxt varchar(60);
    BEGIN
    -- To be on safer side just drop dimension before creating new one and catch exceptions
    BEGIN
    cwm2_olap_dimension.drop_dimension('APPS', 'HCP_DIM_PC');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('Dimension HCP_DIM_PC not dropped');
    END;
    cwm2_olap_dimension.create_dimension(
    'APPS',
    'HCP_DIM_PC',
    'Parent Child',
    NULL,
    'Parent Child',
    'Parent Child',
    NULL);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'Short Description',
    'Short Description',
    'Short Description',
    TRUE);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'Long Description',
    'Long Description',
    'Long Description',
    TRUE);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    TRUE);
    cwm2_olap_hierarchy.create_hierarchy(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'Standard',
    'Standard',
    'Standard Parent Child Hierarchy',
    'SOLVED LEVEL-BASED');
    cwm2_olap_dimension.SET_DEFAULT_DISPLAY_HIERARCHY ('APPS', 'HCP_DIM_PC', 'HCP_DIM_PC_HIER');
    cwm2_olap_level.create_level(
    'APPS',
    'HCP_DIM_PC',
    'ALL_PARENT_LVL',
    'All Parent Child',
    'All Parent Child',
    'All Parent Child',
    'All Parent Child Level');
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'ALL_PARENT_LVL',
    'Short Description',
    'Short Description',
    'Short Description',
    'Short Description',
    TRUE);
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'ALL_PARENT_LVL',
    'Long Description',
    'Long Description',
    'Long Description',
    'Long Description',
    TRUE);
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'ALL_PARENT_LVL',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    'HTB Grouping ID',
    TRUE);
    -- Add all levels one by one to dimension hierarchy. For top most level last parameter is null.
    cwm2_olap_level.add_level_to_hierarchy(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    NULL);
    BEGIN
    cwm2_olap_table_map.removemap_dimtbl_hierlevel(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Short Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Short Description');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Long Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Long Description');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Grouping ID', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Grouping ID');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('Level map for ALL_PARENT_LVL not removed');
    END;
    -- Map ALL_PARENT_LVL level to dimension table. Last parameter is null since it is top most level
    cwm2_olap_table_map.map_dimtbl_hierlevel(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'GID',
    NULL);
    -- one by one map all the level attributes to respective columns in the dimension table.
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Short Description',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'SHORT_DESCRIPTION');
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Long Description',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'LONG_DESCRIPTION');
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Grouping ID',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'GID');
    -- Use cwm2_olap_validate.validate_dimension to validate the dimension
    cwm2_olap_validate.validate_dimension('APPS', 'HCP_DIM_PC');
    cwm2_olap_metadata_refresh.mr_refresh;
    -- Rollback if any exception occurs during processing this script
    EXCEPTION
    WHEN OTHERS THEN
    cwm_utility.dump_error;
    errtxt := cwm_utility.get_last_error_description;
    dbms_output.put_line('ERROR: ' || errtxt);
    ROLLBACK;
    RAISE;
    END;
    Script for Cube:-
    declare
    HCP_time_dim number;
    errtxt varchar(60);
    begin
    cwm_utility.collect_garbage;
    begin
    cwm2_olap_cube.drop_cube('APPS', 'HCP_PC_CUBE');
    exception
    when others then
    dbms_output.put_line('No HCP_PC_CUBE to drop');
    end;
    begin
    cwm2_olap_catalog.drop_catalog('HCP_PC_CAT');
    exception
    when others then
    dbms_output.put_line('No HCP_PC_CAT to drop');
    end;
    CWM2_OLAP_CUBE.Create_Cube('APPS', 'HCP_PC_CUBE', 'Parent Child Cube', 'Parent Child Cube','Parent Child Cube');
    cwm2_olap_cube.add_dimension_to_cube('APPS', 'HCP_PC_CUBE','APPS', 'HCP_DIM_PC');
    cwm2_olap_measure.create_measure('APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE', 'PC Measure','PC Measure', 'PC Measure Fact');
    cwm2_olap_table_map.map_facttbl_levelkey('APPS','HCP_PC_CUBE','APPS','HCP_PC_FACT','ET', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:ALL_PARENT_LVL/COL:CHILD3;');
    cwm2_olap_table_map.Map_FactTbl_Measure('APPS', 'HCP_PC_CUBE','HCP_PC_MEASURE', 'APPS', 'HCP_PC_FACT', 'MEASURE_COL', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:CHILD3/COL:SHORT_DESCRIPTION;');
    cwm2_olap_catalog.create_catalog('HCP_PC_CAT', 'Parent Child Catalog');
    cwm2_olap_catalog.add_catalog_entity('HCP_PC_CAT', 'APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE');
    cwm2_olap_validate.validate_cube('APPS', 'HCP_PC_CUBE','DEFAULT','YES');
    cwm2_olap_metadata_refresh.mr_refresh;
    exception
    when others then
    cwm_utility.dump_error;
    errtxt := cwm_utility.get_last_error_description;
    dbms_output.put_line('ERROR: ' || errtxt);
    rollback;
    raise;
    END;
    My Fact Table is :-
    DROP TABLE HCP_PC_FACT CASCADE CONSTRAINT;
    CREATE TABLE HCP_PC_FACT (
    SHORT_DESCRIPTION     VARCHAR2(30) NOT NULL,
    GID               NUMBER NOT NULL,
    CHILD1          VARCHAR2(30) NOT NULL,
    CHILD2          VARCHAR2(30) ,
    CHILD3          VARCHAR2(30) ,
    MEASURE_COL      NUMBER NOT NULL);
    Data in Fact Table:-
    insert into HCP_PC_FACT values('Compliant',0,'All','Eligible','Compliant', 100);
    insert into HCP_PC_FACT values('Non-Compliant',0,'All','Eligible','Non-Compliant', 200);
    insert into HCP_PC_FACT values('Eligible',1,'All','Eligible',null, 300);
    insert into HCP_PC_FACT values('Ineligible',1,'All','Ineligible',null, 400);
    insert into HCP_PC_FACT values('All',3,'All',null,null, 500);
    I am not sure how to create level, level attr, dim attr for such dim.
    Any complete working exapmle will be helpful.
    P.S. One more query I have can we have one solved and one un-solved dim in the same cube/measure?
    regds
    Prakash

    All CWM2 validation API shows that my all dims, cubes are valid but when I try to create presentation thru JDev it hangs after selecting Parent-Child Measure.

  • Query regarding Level Based Measure on Reports

    Hi All,
    I am facing an issue in OBIEE while using aggregate measures.
    Scenario
    My Report has the following columns. There is security applied on the report ie an Employee who logs in gets to see only his/her data.
    1) Employee
    2) Month
    3) Monthly Sales
    4) Org Sales(Aggregate Sales at Organization Level)
    My Issue is that even when an Employee does not have any Monthly Sales for a Month (no entry for the employee in the dimension table)  it displays results for Org Sales. So I have a report that looks like given below.
    Please note - There is no entry for this employee in the Dimension table for this month.
    Employee
    Month 
    Monthly Sales 
    Org Sales
    12000
    I do not want the report to display any value when there is no monthly Sales for the Employee. From the back end, I can see that there are 2 separate queries generated for this report. 1 for the fetching the Monthly Sales for the Employee and 1 for fetching the Org Sales. If I apply a condition saying Employee IS NOT NULL, it gets applied on the first query.
    Is there some workaround to make sure that the report does not come up or show some message when Employee data is not returned by the first query
    Thanks
    X

    hi Devarasu,
    Thanks mate.
    I know how level based measure works.
    But in my case The Hierarchy is bit different The UDA is part of Product hierarchy but its not the Child of Subdivision,
    I think problem is occurring because of that only but i am not sure
    anyone have any idea about this kind of hierarchy and level based measures?
    Thanks

  • DimensionmemberList with value-based dimension

    Hi,
    I'm unable to use a DimensionMemberList with a value-based dimension. It works fine with level-based, however when I select a value-based dimension and hierarchy in the wizard and click on "Next" an Error pop-up appears with no message and I have to click on "Cancel" to get out of the wizard.
    Has anyone encountered this behavior?

    Hi Ankita,
    As per my Understanding the VP column did't map to any LTS .
    When ever u have multiple LTS in Dim Admin tool won't create Dimension Hierarchy manually we need to create that.
    Follow these steps to resolve your Problem...
    1) give the simple join in physical layer for that two tables.
    2) Create one Dim table in to BMM layer drag all columns in 2 tables in to BMM Dim table so u can able to see all the columns is mapped in to their respective LTS.
    3) Now u can create hierarchy manually step by step.Like Grand total Parent ----> Child level .
    4) If u have any fact table joined with these dimension in physical layer give the logical joins in BMM layer and set the content levels properly.
    Let me know need any detail clarification.
    Thanks,
    Satya

  • Value based dimension hierarchy in OBIEE 10G

    Hi,
    I am a user of OBIEE10G. I have to create a value based dimension hierarchy in my RPD. My hierarchy should be such that when I click on any VP Name, the respective employees working under him/her should be shown. But my columns of VP Name and Employee_Name are present in separate dimensions. Hence when I drag the column of VP Name to Employee dimension and then create the dimension hierarchy, I get an error of illegal cross join .
    Is value based hierarchy possible in 10G?
    Pls reply.
    Thanks
    Ankita
    Edited by: 848789 on Sep 28, 2011 8:40 PM

    Hi Ankita,
    As per my Understanding the VP column did't map to any LTS .
    When ever u have multiple LTS in Dim Admin tool won't create Dimension Hierarchy manually we need to create that.
    Follow these steps to resolve your Problem...
    1) give the simple join in physical layer for that two tables.
    2) Create one Dim table in to BMM layer drag all columns in 2 tables in to BMM Dim table so u can able to see all the columns is mapped in to their respective LTS.
    3) Now u can create hierarchy manually step by step.Like Grand total Parent ----> Child level .
    4) If u have any fact table joined with these dimension in physical layer give the logical joins in BMM layer and set the content levels properly.
    Let me know need any detail clarification.
    Thanks,
    Satya

  • ALL level in level based hierarchy

    I want to induce a level ' ALL' for a level based hierarchy. meaning ALL should display at toplevel as one value drilling ALL should come as follows
    Country code ---> country name--> site name--- > site id
    these are 4 columns here... inside a view ( joining 2 tables)
    Thanks prasad

    If you are using OWB, just use a constant operator to load your upper level with ALL. If you are using AWM, create a view on top of your dimension table with a mockup column that would just have ALL as its value.

  • Help needed - OBIEE - Level Based Hierarchy - Expanding Month for one year affects all previous years

    I am creating a level based hierarchy for the Date Dimension
    year --> quarter --> month --> date (one path)
    year .--> month --> date (the second path).
    I create the pivot table using these dim hierarchies. But the problem is,
    when I click on, say "Month" under year 2012, it expands everything above 2012 (such as 2010, 2011 etc).
    I don't want to expand all the years, but only the one I clicked. Anyone knows what is the solution for that.
    I am sorry that I cannot attach any screen shots to explain better.
    I would really appreciate your help on this.
    Thanks
    JD

    I am using OBIEE 11.1.1.7.0.
    ok, I tried one hierarchy per dim table but didn't work too. When I created a logical column as Month + Year (e.g Jan 2014) and added to the hierarchy, its working fine. But that creates other issues on the
    client side.
    I guess, since the month is common to all the years its expanding when clicked. I also added month and year as "chronological key", but that didn't work either.
    Please advice any solution if you know it.

  • Question in Calclating Level based measure

    Hi all:
    I have a requirement, where I need to calculate a level based measure. Here is a thing though.
    Let me give you sample data.This is what the data in the table in database looks like
    company ||||account||||| product|||||subproduct||||||quantity||||||| amount
    http://i.imgur.com/1CfXd.png
    Amount column is at company-account-product combination level.. (It is loaded in the database table as same for each company-account-product combination. If you see the First image, amount is 100 for that company-accont- product combination level..
    Quantity is at sub product level...
    I need to display a report with these columns:
    Company||||| account|||||| product||||||||| subproduct||||||||| quantity||||||| amount|||||total quantity
    http://i.imgur.com/KLgBg.png
    The last column Total quantity should be at company-account-product combination level. Not at sub product level.
    see the above picture for detailed idea. Total quantity for first company-account-product combination is 5 and for the below one, its 10
    One thing is that I donot have Dimension tables for Account, product, company. They come from the fact itself.
    I guess level based measure will solve the problem. If so, how do I create a level based measure for Total Quantity column when there are no dimension tables?

    We got two types of grouping Logical level and column level
    We go for Logical level in most cases since we are going with default or defined dimension hierarchy for each logical table, we go with column level when you dont have hierarchy.
    See that can you go with column level using properties of measure
    General->Content-> choose column for 'Aggregate content, gorup by'
    Edited by: Srini VEERAVALLI on Dec 16, 2012 1:47 PM

Maybe you are looking for