While discussing CALL EXECUTE, it is important to take CALL SYMPUT into consideration. As we already know, the latter is a DATA step routine that sends a character string argument to a macro variable. On the other hand, CALL EXECUTE sends a character string argument to the macro facility for immediate macro execution during the execution of the DATA step. CALL EXECUTE has been around for a long time but is still a relatively newer option as it became available in the SAS 6.07 release. The main advantage of CALL EXECUTE is that it does not require a macro or macro code, unlike CALL SYMPUT, as shown in the following code block:
Data Execute;
Set Class;
If Year = 2013
Then
Call Execute ('Proc Print Data = Execute; Var Age Height; Run;');
Else
Call Execute ('Proc Print Data = Execute; Run;');
Run;
Since we have not used any loop restrictions on the number...