Sas Macros Cheat Sheet



  • The UUID is 5120eb8f-ca06-8c44-9f93-2dd2e557b1cb. The user is myacct and the active caslib is CASUSER(myacct). NOTE: The SAS option SESSREF was updated with the value MYSESSION. NOTE: The SAS macro SESSREF was updated with the value.
  • Institute for Digital Research and Education. Search this website. R; Stata; SAS; SPSS; Mplus; Other Packages.

SAS allows statements to be on the same or multiple lines, with each statement ending with a semicolon. The components in the statement of a SAS program can be separated using spaces. SAS keywords are not case sensitive but it is nice if uppercase letters are used so that the program looks more neat, organized and easy to understand.

  • SAS Tutorial
  • SAS Data Set Operations
  • SAS Data Representation
  • SAS Basic Statistical Procedure
  • SAS Useful Resources
  • Selected Reading
Sheet

SAS has a powerful programming feature called Macros which allows us to avoid repetitive sections of code and to use them again and again when needed. It also helps create dynamic variables within the code that can take different values for different run instances of the same code. Macros can also be declared for blocks of code which will be reused multiple times in a similar manner to macro variables. We will see both of these in the below examples.

Macro variables

These are the variables which hold a value to be used again and again by a SAS program. They are declared at the beginning of a SAS program and called out later in the body of the program. They can be Global or Local in scope.

Global Macro variable

They are called global macro variables because they can accessed by any SAS program available in the SAS environment. In general they are the system assigned variables which are accessed by multiple programs. A general example is the system date.

Example

Below is a example of the SAS variable called SYSDATE which represents the system date. Consider a scenario to print the system date in the title of the SAS report every day the report is generated. The title will show the current date and day without we coding any values for them. We use the in-built SAS data set called CARS available in the SASHELP library.

When the above code is run we get the following output.

Local Macro variable

These variables can be accessed by SAS programs in which they are declared as part of the program. They are typically used to supply different variables to the same SAS statements sl that they can process different observations of a data set.

Sas Hash Cheat Sheet

Syntax

The local variables are declared with below syntax.

Here the Value field can take any numeric, text or date value as required by the program. The Macro variable name is any valid SAS variable. Touchscreen technologyeffective curriculum ideas.

Sql In Sas Cheat Sheet

Example

The variables are used by the SAS statements using the & character appended at the beginning of the variable name. Below program gets us all the observation of the make 'Audi' and type 'Sports'. In case we want the result of different make, we need to change the value of the variable make_name without changing any other part of the program. In case of bring programs this variable can be referred again and again in any SAS statements.

When the above code is run we get the same output as the previous program. But let’s change the type name to 'Wagon' and run the same program. We will get the below result.

Macro Programs

Macro is a group of SAS statements that is referred by a name and to use it in program anywhere, using that name. It starts with a %MACRO statement and ends with %MEND statement.

Macro Sas Put

Syntax

The local variables are declared with below syntax.

Example

The below program decalres a group of SAT staemnets under a macro named 'show_result'; This Macro is being called by other SAS statements.

When the above code is run we get the following output.

Commonly Used Macros

SAS has many MACRO statements which are in-built in the SAS programming language. They are used by other SAS programs without explicitly declaring them.Common examples are - terminating a program when some condition is met or capturing the runtime value of a variable in the program log. Below are some examples.

Macro %PUT

Sas Macros Cheat Sheet Download

This macro statement writes text or macro variable information to the SAS log. In the below example the value of the variable 'today' is written to the program log.

When the above code is run we get the following output.

Macro %RETURN

Execution of this macro causes normal termination of the currently executing macro when certain condition evaluates to be true. In the below examplewhen the value of the variable 'val' becomes 10, the macro terminates else it contnues.

When the above code is run we get the following output.

Macro %END

This macro definition contains a %DO %WHILE loop that ends, as required, with a %END statement. In the below example the macro named test takes a user input and runs the DO loop using this input value. The end of DO loop is achieved through the %end statement while the end of macro is achieved through %mend statement.

When the above code is run we get the following output.