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.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.