MailLib, Macro Language - Exercise #1
Outputting the current time while running a program, not the time the SAS® system was last opened
*function #time *macro variable #systime
*macro function #%sysfunc
MailLib, Macro Language - Exercise #2
Resolving a macro variable
*macro variable
MailLib, Macro Language - Exercise #3
Deleting global macro variables
*macro language #%symdel
MailLib, Macro Language - Exercise #4
Identifying an error due to lack of attention
*macro language
MailLib, Macro Language - Exercise #5
Separating missing values from other values when using a macro condition
*macro language #%if *macro function #%eval
MailLib, Macro Language - Exercise #6
Calculating with macro variable values
*macro function #%eval #%sysevalf
MailLib, Macro Language - Exercise #7
Looking for the term "ERROR" in the log: Making sure it only appears in the event of an error
*macro language *macro function #%str *log
MailLib, Macro Language - Exercise #8
Using the right syntax for macro comments
*macro language *comment #%else
MailLib, Macro Language - Exercise #9
De-assigning a library after storing a macro in a permanent macro catalog
*macro language #%sysmstoreclear *SAS® 9.3 (PDF)
MailLib, Macro Language - Exercise #10
Creating and using a macro variable in a data step
*macro language *data step #function #symget
MailLib, Macro Language - Exercise #11
Setting the scope of a macro variable to local
*macro variable *global *local #%local *data step #call symputx
MailLib, Macro Language - Exercise #12
Saving the code after calling a macro in a text file, except comments
*macro language #options #mprint #mprint #filename #mprint
*comment
MailLib, Macro Language - Exercise #13
Using a path (and therefore slashes) as macro parameter value
*macro language *macro function #%quote #%str
MailLib, Macro Language - Exercise #14
Using a comma as macro parameter value
*macro language *macro function #%str
MailLib, Macro Language - Exercise #15
Replacing several blanks in a macro variable value or in a macro parameter with a single blank
*macro language *macro function #%cmpres
MailLib, Macro Language - Exercise #16
Dealing with leading blanks in a macro variable created with proc sql
*macro language *macro function #%cmpres *macro variable #proc sql #trimmed *SAS® 9.3 (PDF) *function #cats
MailLib, Macro Language - Exercise #17
Dealing with leading blanks in a macro variable created with proc sql (SAS® 9.3 or later)
*macro language *macro variable #proc sql #untrim *SAS® 9.3
MailLib, Macro Language - Exercise #18
Avoiding the sqlobs
macro variable
*macro variable #proc sql #sqlobs
#into