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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.