Return to Snippet

Revision: 59971
at October 13, 2012 00:28 by webonomic


Initial Code
%global myParameter;  /* ensure it exists */
%let myParameter = %sysfunc(coalescec(&myParameter,default-value));
/*if myParameter has a value, it will be used, otherwise default-value will be assigned as the value.*/

Initial URL
http://www.sascommunity.org/wiki/Tip_of_the_Day:October_12

Initial Description
Quite often it is necessary to set a default value for a macro parameter that is passed to a program. If the program is a macro, the %IF statement can be used to check if the value is provided and provide a default value if not. Since %IF statements are not allowed outside of macros, that technique won't work for a non-macro program (e.g., a file/program that is %INCLUDEd). The following code snippet demonstrates the use of the COALESCEC function to assign a default value.

since macro is a text manipulation facility, the coalesceC function is used regardless of whether the expected value for the parameter is numeric (i.e., everything in macro is interpretted as a character string).

Initial Title
Default Macro Values

Initial Tags


Initial Language
SAS