What is the purpose of resetting temporary variables many1 and many2 in following code.
data pairs oddballs; many1=0; many2=0; merge many1 ( in = many1 ) many2 ( in = many2 ); by partkey; if many1 and many2 then output pairs; else output oddballs; run;
This type of code is used for many-to-many matches. For example, let's say:
That's what this program accomplishes ... matching based on whichever data set has fewer observations, and putting those matched observations into PAIRS. Discarding any that are left over without a match, putting them into ODDBALLS.
No practical purpose served that I can tell. If you found this code somewhere the assignments might be an artifact left in from previous code tested.
Or someone misunderstanding how temporary variables work in SAS.
This type of code is used for many-to-many matches. For example, let's say:
That's what this program accomplishes ... matching based on whichever data set has fewer observations, and putting those matched observations into PAIRS. Discarding any that are left over without a match, putting them into ODDBALLS.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.