<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/530859#M145194</link>
    <description>&lt;P&gt;Hi Can you suggest what all modification needs to be done. if we have duplicate(that will form another hierarchy/tree) node. currently I am working on some similar project where I need to create a parent child grandchildren ....so on. relation table. Your code seems to be perfect but only thing is that I have duplicate also in the input file.&lt;/P&gt;</description>
    <pubDate>Tue, 29 Jan 2019 08:23:59 GMT</pubDate>
    <dc:creator>Sukhi1</dc:creator>
    <dc:date>2019-01-29T08:23:59Z</dc:date>
    <item>
      <title>Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320367#M70556</link>
      <description>&lt;P&gt;Version: 7.1 (7.100.0.1966)(64-bit)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This question seems to have been asked many times over, but I am so new to SAS that it's difficult for me to apply&amp;nbsp;solutions that are geared toward even&amp;nbsp;slightly different scenarios.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to convert a spreadsheet of given employee-manager relationships to a data set that gives all employees that report through each employee. Each step down the management pathway would be recorded as a lesser&amp;nbsp;"Levels from Reference".&amp;nbsp;I've attached a sample Excel spreadhseet to illustrate what I'm probably doing a poor job of describing!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be greatly appreciated!&lt;/P&gt;</description>
      <pubDate>Tue, 20 Dec 2016 21:19:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320367#M70556</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-20T21:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320371#M70557</link>
      <description>&lt;P&gt;Many users here don't want to download Excel files because of virus potential, others have such things blocked by security software. Also if you give us Excel we have to create a SAS data set and due to the non-existent constraints on Excel data cells the result we end up with may not have variables of the same type (numeric or character) and even values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The first step would be to read some data into SAS, likely one set that describes the relationships manager/subordinates and then the employee data. Have you accomplished that?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Dec 2016 21:36:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320371#M70557</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-12-20T21:36:20Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320373#M70559</link>
      <description>&lt;P&gt;Thanks for responding--that's good to know about Excel!&amp;nbsp;I pasted the tables that were in the Excel&amp;nbsp;attachment below, hopefully they format properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Original Employee-Manager Data&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Employee ID&lt;/TD&gt;&lt;TD&gt;Employee Position&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Manager Position&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;55555&lt;/TD&gt;&lt;TD&gt;Dir Accounting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Converted Employee Hierarchy&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Reference&lt;/TD&gt;&lt;TD&gt;Levels from Reference&lt;/TD&gt;&lt;TD&gt;Employee ID&lt;/TD&gt;&lt;TD&gt;Employee Position&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Manager Position&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;19448&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;144733&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;1729532&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;7353675&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;144733&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;150599&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1016187&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1558477&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;55555&lt;/TD&gt;&lt;TD&gt;Dir Accounting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;19448&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;1753292&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;4621165&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;144733&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;150599&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;1016187&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;1621911&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;1729532&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;1786326&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;3007598&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;7353675&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1621911&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1729532&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1753292&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1786326&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;3007598&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;4621165&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;150599&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;1016187&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;1621911&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;1786326&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;3007598&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;7353675&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have read the data into SAS using EG's Import Data feature -- that code is below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;FONT face="Courier New" size="3"&gt;DATA WORK.'Example Employee Hierarchy Conve'n;
    LENGTH
        'Employee ID'n     8
        'Employee Position'n $ 23
        'Manager ID'n      8
        'Manager Position'n $ 23 ;
    FORMAT
        'Employee ID'n   BEST12.
        'Employee Position'n $CHAR23.
        'Manager ID'n    BEST12.
        'Manager Position'n $CHAR23. ;
    INFORMAT
        'Employee ID'n   BEST12.
        'Employee Position'n $CHAR23.
        'Manager ID'n    BEST12.
        'Manager Position'n $CHAR23. ;
    INFILE '/work/sas/SAS_EXAMPLE/#LN00020'
        LRECL=55
        ENCODING="LATIN1"
        TERMSTR=CRLF
        DLM='7F'x
        MISSOVER
        DSD ;
    INPUT
        'Employee ID'n   : BEST32.
        'Employee Position'n : $CHAR23.
        'Manager ID'n    : BEST32.
        'Manager Position'n : $CHAR23. ;
RUN;&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Please let me know if there's any more information I could provide&amp;nbsp;that would be helpful!&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Dec 2016 22:04:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320373#M70559</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-20T22:04:20Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320376#M70560</link>
      <description>&lt;P&gt;I'm sorry, I gave a converted table with incorrect employee IDs. The table below has accurate values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Reference&lt;/TD&gt;&lt;TD&gt;Levels from Reference&lt;/TD&gt;&lt;TD&gt;Employee ID&lt;/TD&gt;&lt;TD&gt;Employee Position&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Manager Position&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;55555&lt;/TD&gt;&lt;TD&gt;Dir Accounting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;88888&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;66666&lt;/TD&gt;&lt;TD&gt;Sr Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;TD&gt;Asst Mgr Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;77777&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;111110&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;122221&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;TD&gt;133332&lt;/TD&gt;&lt;TD&gt;Mgr Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;144443&lt;/TD&gt;&lt;TD&gt;General Clerk&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;Sr Analyst Revenue Mgmt&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 20 Dec 2016 22:15:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320376#M70560</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-20T22:15:42Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320392#M70563</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/120403"&gt;@jsimons&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;What most people in this forum prefer are sample data created via a SAS data step.&amp;nbsp;I've done this now for you.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.HAVE;
  infile datalines dsd truncover;
  input Employee_ID:BEST. Employee_Position:$23. Manager_ID:BEST. Manager_Position:$23.;
datalines4;
11111,Sr Analyst Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
22222,General Clerk,11111,Sr Analyst Revenue Mgmt
33333,Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
44444,Asst Mgr Revenue Mgmt,133332,Mgr Revenue Mgmt
66666,Sr Mgr Revenue Mgmt,55555,Dir Accounting
77777,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
88888,General Clerk,11111,Sr Analyst Revenue Mgmt
99999,Sr Analyst Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
111110,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
122221,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
133332,Mgr Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
144443,General Clerk,11111,Sr Analyst Revenue Mgmt
;;;;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've created this data in the following way:&lt;/P&gt;
&lt;PRE&gt;/* read excel into SAS dataset HAVE */&lt;BR /&gt;options validvarname=v7;&lt;BR /&gt;proc import &lt;BR /&gt; out=work.have&lt;BR /&gt; file="c:\temp\Example Employee Hierarchy Conversion.xlsx"&lt;BR /&gt; dbms=xlsx &lt;BR /&gt; replace;&lt;BR /&gt; range='Example$A2:D14';&lt;BR /&gt; getnames=yes;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;/* Create SAS datastep from HAVE to create sample data for SAS Forum */&lt;BR /&gt;%data2datastep(have,work,c:\temp\sampledata.txt)&lt;/PRE&gt;
&lt;P&gt;Explanation of macro %data2datastep and source code here:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_blank"&gt;http://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;(link to source code at bottom but before discussions under the 2nd link above)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2016 02:06:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320392#M70563</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2016-12-21T02:06:58Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320504#M70607</link>
      <description>&lt;P&gt;That's really handy, thank you, Patrick! Saving this for future reference.&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2016 14:19:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320504#M70607</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-21T14:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320533#M70622</link>
      <description>Please note since your using SAS EG proc import will not work unless you have SAS/ACCESS to PC Files.&lt;BR /&gt;It's hard to understand the logic behind the data you want.</description>
      <pubDate>Wed, 21 Dec 2016 15:46:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320533#M70622</guid>
      <dc:creator>SuryaKiran</dc:creator>
      <dc:date>2016-12-21T15:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320546#M70628</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/83078"&gt;@SuryaKiran&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Essentially, if you filter the Reference column for any employee ID, it will give each employee who reports through that Reference employee and the number of levels below that Reference employee each employee is. Maybe it'll help if I walk through a much shorter, specific example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Take these three employee-manager relationships:&lt;/P&gt;&lt;PRE&gt;data WORK.HAVE;
  infile datalines dsd truncover;
  input Employee_ID:BEST. Manager_ID:BEST.;
datalines2;
11111,33333
22222,33333
33333,44444&lt;/PRE&gt;&lt;P&gt;For each Employee ID, a level 0 reference record is created. Next, the Manager ID column is searched for that reference ID. This will give any direct reports who are -1 levels from the reference. Then, each direct report's ID is searched in the manager ID column. This gives anyone who indirectly reports -2 levels from the reference. After&amp;nbsp;the entire&amp;nbsp;employee hierarchy that reports through the reference is&amp;nbsp;exhausted, the program moves to the next employee to repeat the process.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the case above, this would be the output.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Reference ID&lt;/TD&gt;&lt;TD&gt;Levels from Reference ID&lt;/TD&gt;&lt;TD&gt;Employee ID&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;44444&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;11111&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;TD&gt;-1&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;33333&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does that make more sense?&lt;/P&gt;</description>
      <pubDate>Wed, 21 Dec 2016 16:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320546#M70628</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-21T16:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320659#M70649</link>
      <description>&lt;P&gt;I'd probably go for a more traditional way for creating an employee dimension table.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The following code works under the assumption that each employee has only 1 direct line manager. You should also add the director to your initial data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.HAVE;
  infile datalines dsd truncover;
  input Employee_ID:BEST. Employee_Position:$23. Manager_ID:BEST. Manager_Position:$23.;
datalines4;
11111,Sr Analyst Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
22222,General Clerk,11111,Sr Analyst Revenue Mgmt
33333,Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
44444,Asst Mgr Revenue Mgmt,133332,Mgr Revenue Mgmt
66666,Sr Mgr Revenue Mgmt,55555,Dir Accounting
77777,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
88888,General Clerk,11111,Sr Analyst Revenue Mgmt
99999,Sr Analyst Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
111110,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
122221,Sr Analyst Revenue Mgmt,133332,Mgr Revenue Mgmt
133332,Mgr Revenue Mgmt,66666,Sr Mgr Revenue Mgmt
144443,General Clerk,11111,Sr Analyst Revenue Mgmt
;;;;
run;

/* work out hierarchy structure and number of levels */
data hierarchy;
  
  if _n_=1 then 
    do;
      if 0 then set have(keep=Employee_ID Manager_ID);
      dcl hash mgr(dataset:'have(keep=Employee_ID Manager_ID)');
      mgr.defineKey('Employee_ID');
      mgr.defineData('Manager_ID');
      mgr.defineDone();

      dcl hash emp(dataset:'have(keep=Employee_ID Manager_ID)');
      emp.defineKey('Manager_ID');
      emp.defineData('Employee_ID');
      emp.defineDone();
    end;


  set have(keep=Employee_ID Manager_ID);

  /* only create chain for leaf employees (=no direct reports) */
  if emp.check(key:Employee_ID)=0 then return;

  level=1;
  output;

  do while( mgr.find(key:Manager_ID) = 0 );
    level+1;
    output;
  end;
run;


/* determine hierarchy level per manager and max. hierarchy levels */
proc sql noprint;
  create table hier as
    select 
      manager_id,
      max(level) as level
  from hierarchy
  group by manager_id
  ;
  select cats(max(level)) into :n_hier from hier;
quit;


/* build employee dimension table */
data emp_dim(drop=Manager_ID Manager_Position level);
  if _n_=1 then
    do;
      if 0 then set have hier;
      dcl hash hier(dataset:'hier');
      hier.defineKey('manager_id');
      hier.defineData('level');
      hier.defineDone();

      dcl hash mgr(dataset:'have(keep=Employee_ID Manager_ID)');
      mgr.defineKey('Employee_ID');
      mgr.defineData('Manager_ID');
      mgr.defineDone();
    end;
  call missing(of _all_);

  set have;
  array hiers {&amp;amp;n_hier} 8 level&amp;amp;n_hier - level1;
  level0='Company';
  if hier.find()=0 then hiers[level]=Manager_ID;

  do while( mgr.find(key:Manager_ID) = 0 );
    if hier.find()=0 then hiers[level]=Manager_ID;
  end;

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/6459i91122AC868F45950/image-size/original?v=v2&amp;amp;px=-1" border="0" alt="Capture.PNG" title="Capture.PNG" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Dec 2016 00:00:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320659#M70649</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2016-12-22T00:00:17Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320740#M70683</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;&amp;nbsp;Thanks again for taking the time to be incredibly helpful! This style of output seems like it would work for identifying the reporting chain both upward and downward, which I like.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to think through how this output would work for my purposes--which is to combine this hierarchy data with other data in Tableau for reporting purposes.&amp;nbsp;Say I want to find each employee that reports through manager 66666, would that manager only ever be found in one level (a single column)? Would it be possible to add an identifier, if an employee is a manager, that will give the "level" of manager they are,&amp;nbsp;or is there a better way to programatically find all of the employees that report through a given manager?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I suppose the advantage of the output style I was originally going for is that it's intuitively straight forward to identify all of the employees that report through a given manager and to structure output based on the level difference from manager to each employee, but the style you've come up with&amp;nbsp;is probably traditional for good reason. It would certainly be more compact, especially given a population of 50k+!&lt;/P&gt;</description>
      <pubDate>Thu, 22 Dec 2016 14:43:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320740#M70683</guid>
      <dc:creator>jsimons</dc:creator>
      <dc:date>2016-12-22T14:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320843#M70726</link>
      <description>&lt;P&gt;&lt;EM&gt;"Say I want to find each employee that reports through manager 66666, would that manager only ever be found in one level (a single column)?"&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A manager is also an employee. So you first filter employee_id for 66666. The last missing "level" variable then tells you if and on what level this employee is in the role of a manager. Then you filter the records on this level variable (level2 for 66666) which returns the full reporting structure for this manager. The direct reports are the ones where level2=66666 and level3 is missing.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;If you want to add the management level: &lt;BR /&gt;There is a variable "level" in the code which I've dropped. This variable contains the management level. Add it back in if you like. And yes: A manager is only found on a single level.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What will work for you depends of course what you intend to do with the data and also how your real data looks like. For example: Is it possible for an employee to have more than one entry in your source table (eg. being in two roles). If so then what I've posted would require amendments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have no experience with Tableau. Can you work with multiple tables or do you need everything in a single denormalized datamart. If you're going for some sort of OLAP then you would likely need to go for some sort of dimensional modelling first - whether you then create in the end a single datamart or not.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Dec 2016 23:19:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/320843#M70726</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2016-12-22T23:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: Help: Creating Employee Hierarchy from Employee - Manager Relationships</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/530859#M145194</link>
      <description>&lt;P&gt;Hi Can you suggest what all modification needs to be done. if we have duplicate(that will form another hierarchy/tree) node. currently I am working on some similar project where I need to create a parent child grandchildren ....so on. relation table. Your code seems to be perfect but only thing is that I have duplicate also in the input file.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Jan 2019 08:23:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-Creating-Employee-Hierarchy-from-Employee-Manager/m-p/530859#M145194</guid>
      <dc:creator>Sukhi1</dc:creator>
      <dc:date>2019-01-29T08:23:59Z</dc:date>
    </item>
  </channel>
</rss>

