BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ChrisNZ
Tourmaline | Level 20

@Astounding The BY statement really slows things down. But more so for SET it seems. Without BY, SET is faster.

 

I suppose it's to with managing the PDV: MERGE populates it once per key value for all tables, SET populates it once per key value per table, so the underlying table-reading routine must be different. But I am only making assumptions here.

 

The values are CPU-bound on my server: 

data BASE ;
  do I=1 to 1e8;
    output ;
  end;
run;

sasfile BASE load;

data _null_ ;set   BASE;       run; * 3.8s;
data _null_ ;merge BASE;       run; * 5.4s; 

data _null_ ;set   BASE; by I; run; * 9.5s;
data _null_ ;merge BASE; by I; run; * 9.3s; 

sasfile BASE close;

 

 

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 5363 views
  • 4 likes
  • 5 in conversation