I wonder how this program executes?
data want; set have1; by var1 var2; do n = 1 to nobs; do m = 1 to mobs; set have2 point = n nobs = nobs; set have3 point = m nobs = mobs; output; end; end; run;
I would recommend making three datasets with just a few observations each and see for yourself. Try putting a PUT statement before the OUTPUT statement. That is especially useful for looking at the values of M, N and _N_ which will not be in the WANT dataset.
This seems to do a complete cartesian join over all three datasets, in a very complicated and inefficient manner. Would need some test data to verify that.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.