I have the following Dataset:
data WORK.have;
Length EmpName $100. ManagerName $100.;
Infile datalines delimiter='#';
input EmpID ManagerID EmpName $ ManagerName $;
datalines;
1#4#WALTER WHITE#GUS FRING
2#1#JESSE PINKMAN#WALTER WHITE
3#1#SAUL GOODNAM#WALTER WHITE
4#5#GUS FRING#ELADIO VUENTE
5#5#ELADIO VUENTE#ELADIO VUENTE
6#2#SKINNY PETE#JESSE PINKMAN
7#2#COMBO#JESSE PINKMAN
;
run;
Is there a quick macro script that will find all children (if any) from the table based on EmpID / ManagerID hierarchy and produce the following output?:
data WORK.Want; Length EmpName $100. ManagerName $100.; Infile datalines delimiter='#'; input EmpName $ ManagerName $ Level; datalines; WALTER WHITE#WALTER WHITE#1 JESSE PINKMAN#WALTER WHITE#2 SKINNY PETE#WALTER WHITE#3 COMBO#WALTER WHITE#3 SAUL GOODNAM#WALTER WHITE#2 JESSE PINKMAN#JESSE PINKMAN#1 SKINNY PETE#JESSE PINKMAN#2 COMBO#JESSE PINKMAN#2 SAUL GOODNAM#SAUL GOODNAM#1 GUS FRING#GUS FRING#1 WALTER WHITE#GUS FRING#2 JESSE PINKMAN#GUS FRING#3 SKINNY PETE#GUS FRING#4 COMBO#GUS FRING#4 SAUL GOODNAM#GUS FRING#3 ELADIO VUENTE#ELADIO VUENTE#1 GUS FRING#ELADIO VUENTE#2 WALTER WHITE#ELADIO VUENTE#3 JESSE PINKMAN#ELADIO VUENTE#4 SKINNY PETE#ELADIO VUENTE#5 COMBO#ELADIO VUENTE#5 SAUL GOODNAM#ELADIO VUENTE#4 SKINNY PETE#SKINNY PETE#1 COMBO#COMBO#1 ; run;
Essentially expanding it out to a simple lookup table. I'm somewhat new to macros do I'm not too sure where to begin.
Thanks;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.