Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
nikita42
Partner - Contributor III
Partner - Contributor III

Hierarchy function creates a blank Level 1 column

Hi,

I need to create an employee-manager hierarchy such that the CEO is at level 1 followed by her direct reports in level 2, their direct reports in level 3 and so on. In my source file, I have the fields:

Full Name

ID

Manager

Manager ID

I've tried to force a null manager ID for the CEO, but that makes no difference. Whether I keep the if ID='F0070' statement or not, I end up getting a blank Hierarchy level 1, with the CEO on level 2.

My script is as follows:

Hierarchy_Nodes:

Load

Distinct(ID),

If(ID='F0070',null(),[Manager ID]) as [Manager ID],

[Full Name] as [Hierarchy Level ]

Resident Person;

Hierarchy_tmp:

Hierarchy(ID,[Manager ID],[Hierarchy Level ],'Manager',[Hierarchy Level ],'Tree','|','Level')

Load

Distinct(ID),

[Manager ID],

[Hierarchy Level ]

Resident Hierarchy_Nodes;

It would be great if you could explain why this is happening along with any suggested fixes. Thanks!

6 Replies
el_aprendiz111
Specialist
Specialist

hi,

1 exapmple:

hierarchy.png

hierarchyTime.gif

nikita42
Partner - Contributor III
Partner - Contributor III
Author

Looking at the script, it looks like I've done the exact same thing, but I'm still getting a blank column before the highest parent..

el_aprendiz111
Specialist
Specialist

hi,

Would you be able to share a sample with the expected output?

nikita42
Partner - Contributor III
Partner - Contributor III
Author

I've attached the qvw and 1 of the source files here.

If you look at the model, my CEO Mildred Mitchell shows up at hierarchy level 2 with a blank column under hierarchy level 1.

I need Mildred Mitchell to be at level 1.

Thanks

el_aprendiz111
Specialist
Specialist

Hi,

Directory;

PERSON:

LOAD ID,

     first_name,

     last_name,

     [Full Name],

     [Salary Grade],

     [Hire Date],

     [Employee/Contractor],

     [Payment Type],

     Vendor,

     [Cost Center],

     Manager,

     [Location ID],

     If(ID='F0070',[Full Name],Manager) as Manager_ll

  

    

FROM

BSE_WEB.xlsx

(ooxml, embedded labels, table is person);

[VIEW]:

LOAD

Distinct

ID             AS VALUE,

ID          & '-[ID]' AS NODE_ID,

[Full Name] &   '-[Full Name]'  AS PARENT_NODE_ID

Resident PERSON;

[VIEW]:

LOAD

Distinct

[Full Name]               AS VALUE,

[Full Name] & '-[Full Name]'  AS NODE_ID,

Manager_ll  &    '-[Manager_ll]' AS PARENT_NODE_ID

Resident PERSON;

[VIEW]:

LOAD

Distinct

Manager_ll             AS VALUE,

Manager_ll  &  '-[Manager_ll]'  AS NODE_ID,

Manager_ll  &  '-[Manager_ll]' AS PARENT_NODE_ID

Resident PERSON;

[HIER]:

Hierarchy(NODE_ID_H,PARENT_NODE_ID_H, ID, PARENT_NAME, NAME,MY_LEVEL)

LOAD

NODE_ID,

NODE_ID   AS NODE_ID_H,

PARENT_NODE_ID  AS PARENT_NODE_ID_H,

VALUE           AS ID,

VALUE           AS NAME

Resident VIEW;

DROP Table VIEW;

my_level.png

nikita42
Partner - Contributor III
Partner - Contributor III
Author

Thanks for this. Could you please explain why you've done 3 different loads separately for the names, manager names, and manager IDs?

I don't understand why my initial code didn't work.