OBIEE 11g New features : Working with Hierarchical Table - OBIEE GURU

govtjobonline-Latest Government Jobs 2023 Recruitment Notifications

Latest Govt Jobs Whatsapp Group Links-Telegram

For Latest Govt Jobs 2023 or for Freejobalerts or Join

Latest Government Jobs 2023

Tuesday 17 January 2012

OBIEE 11g New features : Working with Hierarchical Table


    Hierarchical table feature is a new addition to OBIEE 11g.
    A hierarchy can be created when a parent child table exists. Consider an Employee and manager table with the following hierarchy.
     
    To create an hierarchy out of this parent child table we follow the steps as detailed below.
    Step-1

    We create a table in the warehouse schema with the following script:
    CREATE TABLE XW_EMPL_D(EMPL_ID NUMBER,EMPL_NAME VARCHAR2(100),MANAGER_ID NUMBER,SALARY NUMBER);
    INSERT INTO XW_EMPL_D VALUES(1,'Andy',NULL,25000);
    INSERT INTO XW_EMPL_D VALUES(2,'Raj',1,18550);
    INSERT INTO XW_EMPL_D VALUES(3,'Kumar',1,19000);
    INSERT INTO XW_EMPL_D VALUES(4,'Gomez',3,16000);
    INSERT INTO XW_EMPL_D VALUES(5,'Puyol',3,15550);
    INSERT INTO XW_EMPL_D VALUES(6,'Ronald',5,15875);
    INSERT INTO XW_EMPL_D VALUES(8,'Borges',6,8000);
    INSERT INTO XW_EMPL_D VALUES(9,'Mark',6,9500);
    Step-2
     Import the table XW_EMPL_D and create an alias in physical layer of OBIEE  with the name Hier_Employee as shown in the figure above.
    Step-3

    Create a new Business model called ValueHierarchy. 
    Step-4
     Drag the physical table Hier_Employees table twice and rename one as Hier_Employees_Salary
    Step-5
    Define 1:N relationship between Hier_Employees and Hier_Employees_Salary as shown above in BMM only.
     
    Step-6
    Now create a Logical Parent-Child Dimension from Hier_Employees by right clicking on it.
    Step-7
    Verify that Member Key and Parent Key are EMPL_ID and Manager_ID respectively.
    Step-8
    Step-9
    Step-10
    Step-11
    Provide name of the hierarchy table and data source/schema details and click next.
     
    Step-12
    The DML and DDL script for the hierarchy table can be viewed by clicking the ViewScript Button. Encircled.  Say Finish.
     These scripts need to be executed back in the Datawarehouse schema so that the hierarchical stable is created and populated.
    DDL:
    CREATE TABLE HIERARCHY_TABLE ( MEMBER_KEY DOUBLE PRECISION, ANCESTOR_KEY DOUBLE PRECISION, DISTANCE NUMBER(10,0), IS_LEAF NUMBER(10,0) )
     
    declare
    v_max_depth integer;
     v_stmt varchar2(32000);
     i integer;
     begin
     select max(level) into v_max_depth
     from XW_EMPL_D
     connect by prior EMPL_ID=MANAGER_ID
     start with MANAGER_ID is null;
     v_stmt := 'insert into HIERARCHY_TABLE (MEMBER_KEY, ANCESTOR_KEY, DISTANCE, IS_LEAF)' || chr(10)
     || 'select EMPL_ID as member_key, null, null, 0 from XW_EMPL_D where MANAGER_ID is null' || chr(10)
     || 'union all' || chr(10)
     || 'select' || chr(10)
     || '  member_key,' || chr(10)
     || '  replace(replace(ancestor_key, ''\p'', ''|''), ''\'', ''\'') as ancestor_key,' || chr(10)
     || '  case when depth is null then 0' || chr(10)
     || '  else max(depth) over (partition by member_key) - depth + 1' || chr(10)
     || '  end as distance,' || chr(10)
     || '  is_leaf' || chr(10)
     || 'from' || chr(10)
     || '(' || chr(10)
     || '  select' || chr(10)
     || '    member_key,' || chr(10)
     || '    depth,' || chr(10)
     || '    case' || chr(10)
     || '      when depth is null then '''' || member_key' || chr(10)
     || '      when instr(hier_path, ''|'', 1, depth + 1) = 0 then null' || chr(10)
     || '      else substr(hier_path, instr(hier_path, ''|'', 1, depth) + 1, instr(hier_path, ''|'', 1, depth + 1) - instr(hier_path, ''|'', 1, depth) - 1)' || chr(10)
     || '    end ancestor_key,' || chr(10)
     || '    is_leaf' || chr(10)
     || '  from' || chr(10)
     || '    (' || chr(10)
     || '      select EMPL_ID as member_key, MANAGER_ID as ancestor_key, sys_connect_by_path(replace(replace(EMPL_ID, ''\'', ''\''), ''|'', ''\p''), ''|'') as hier_path,' || chr(10)
     || '        case when EMPL_ID in (select MANAGER_ID from XW_EMPL_D ) then 0 else 1 end as IS_LEAF' || chr(10)
     || '      from XW_EMPL_D ' || chr(10)
     || '      connect by prior EMPL_ID = MANAGER_ID ' || chr(10)
     || '      start with MANAGER_ID is null' || chr(10)
     || '    ),' || chr(10)
     || '    (' || chr(10)
     || '      select null as depth from dual' || chr(10);
     for i in 1..v_max_depth - 1 loop
     v_stmt := v_stmt || '      union all select ' || i || ' from dual' || chr(10);
     end loop;
     v_stmt := v_stmt || '    )' || chr(10)
     || ')' || chr(10)
     || 'where ancestor_key is not null' || chr(10);
     execute immediate v_stmt;
     end;
     /
    Step-13
    This is the final review window where the Member Key, Parent Key, Relationship Distance and Leaf Node Identifier are shown and it is pre-populated. Say OK.
     
    Step-14
    Verify that the dimension is created in the BMM layer
    Step-15
    Verify that a Hierarchy table is also created in the physical layer. Note the icon is different for this hierarchical table.
     
    Step-16

    Drag the 2 tables to the presentation Layer.
    Step-17
    Create a report using thehierarchy column along with Salary and Employee name. The report looks like the one above. One can browse the hierarchy tree using this feature.

    Whatsapp group

    Govt Jobs Whatsapp Group Links 2023

    Telegram group

    Govt Jobs Telegram Group

    Facebook group

    Govt Job Online Facebook Group

    Follow on Facebook group

    Govt Jobs Online Facebook Page

    Subscribe to Youtube Channel

    Govtjobsonline Youtube

    Join Latest Govt Jobs Telegram Group here

    Join Government Jobs Whatsapp Group here (State Wise)

    Join State Wise Sarkari Results Telegram here

    1. ITI Jobs Notifications
    2. ITI Apprenticeship Program
    3. Diploma Jobs Notifications
    4. Engineering Jobs Notifications
    5. UPSC Jobs Notifications
    6. Court Jobs Notifications
    7. Staff Nurse Jobs Notifications
    8. NHM Jobs Notifications
    9. Exam Syllabus and Pattern
    10. SSC Recruitment

    No comments:

    Post a Comment

    Latest Govt Jobs Vacancy 2023