We are trying to concantenate column Items based on another column, Shopper_ID. Any suggestions on how we can achieve this?
Current result
Shopper_ID Items
1 keyboard
1 mouse
1 notebook
2 keyboard
2 screen protector
3 case
Desired result
Shopper_ID Items
1 keyboard, mouse, notebook
2 keyboard, screen protector
3 case
data have;
input Shopper_ID Items $40.;
cards;
1 keyboard
1 mouse
1 notebook
2 keyboard
2 screen protector
3 case
;
run;
data want;
length want $ 2000;
do until(last.Shopper_ID);
set have;
by Shopper_ID ;
want=catx(',',want,items);
end;
drop items;
run;
If you're working with the GUI, then you would first Transpose the data using a TRANSPOSE task and then you can aggregate them using the function CATX in a query and using a calculated column.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.