Home » How to Rename Variables in SAS (With Examples)

How to Rename Variables in SAS (With Examples)

by Erma Khan

You can use the rename function to rename one or more variables in a SAS dataset.

This function uses the following basic syntax:

data new_data;
    set original_data (rename=(old_name=new_name));
run;

The following examples show how to use this function in practice with the following dataset:

/*create dataset*/
data original_data;
    input x y z;
    datalines;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run;

/*view dataset*/
proc print data=original_data;

Example 1: Rename One Variable

The following code shows how to rename just the x variable in the dataset:

/*rename one variable*/
data new_data;
    set original_data (rename=(x=new_x));
run;

/*view new dataset*/
proc print data=new_data;

Notice that x has been renamed to new_x, but every other variable name remained the same.

Example 2: Rename Multiple Variables

The following code shows how to rename both the x and y variables in the dataset.

Note that you don’t need to include commas in between the new variable names.

/*rename multiple variables*/
data new_data;
    set original_data (rename=(x=new_x y=new_y));
run;

/*view new dataset*/
proc print data=new_data;

Example 3: Add Prefix to All Variables

The following code shows how to add a prefix of _NEW to all variables in the dataset:

/*define prefix to append to each variable*/
proc sql noprint;
   select cats(name, '=', '_NEW', name)
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit;

/*add prefix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit;

/*view updated dataset*/
proc print data=original_data;

Example 4: Add Suffix to All Variables

The following code shows how to add a suffix of _NEW to all variables in the dataset:

/*define suffix to append to each variable*/
proc sql noprint;
   select cats(name, '=', name, '_NEW')
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit;

/*add suffix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit;

/*view updated dataset*/
proc print data=original_data;

Additional Resources

The following tutorials explain how to perform other common tasks in SAS:

How to Replace Missing Values with Zero in SAS
How to Remove Duplicates in SAS
How to Normalize Data in SAS

Related Posts