BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Ksharp
Super User

As pointed out , You need to take care what you are going to do when there were multiple obs in a BY group .


data have ;
  input yearmonth areacode $ barcode $ tot_qty tot_value ;
cards;
201402 AR01 1101 67 123
201402 AR01 1201 67 123
201402 AR01 1301 67 123
201402 AR01 1401 67 123
201402 AR01 1501 67 123
201402 AR01 1601 67 123
201402 AR01 1701 67 123
201403 AR01 1101 67 123
201403 AR01 1201 67 123
201403 AR01 1301 67 123
201403 AR01 1401 67 123
201403 AR01 1501 67 123
201403 AR01 1601 67 123
201403 AR01 1701 67 123
;;;;
run;
proc sql;
 select distinct catt('have(where=(areacode="',areacode,'" and barcode="',barcode,'" and yearmonth=',yearmonth,') rename=(tot_qty=tot_qty_',yearmonth,' tot_value=tot_value_',yearmonth,'))') into : list separated by ' '
  from have;
quit;
data want;
 merge &list;
 by areacode barcode;
 drop yearmonth;
run;

Xia Keshan

Message was edited by: xia keshan

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 15 replies
  • 4466 views
  • 0 likes
  • 6 in conversation