SAS Formats

Deepanshu Bhalla Add Comment

This tutorial explains how to use FORMATS in SAS, along with examples.

SAS Formats

SAS Formats decide how to display values of a variable. They define the appearance of variables when they are printed or exported. For example, you can use a format to display a numeric variable as a currency, percentage. Formats do not change the underlying data values; they only affect their presentation.

Below is a list of common SAS Formats.

Data Type Formats Explanation
Character $w. Displays character values of length w.
Numeric w.d Displays numeric values of length w with d decimal points
Date DATEw. Displays SAS date values of length w.
Time TIMEw.d Displays time values in the form hh:mm:ss.ss

Character Formats

  • $w.: Displays character values to a specified width.
  • $UPCASEw.: Displays character values in uppercase and optionally truncates them to a specified width.

The FORMAT statement is used to format values in a specific format. Here we are using the $UPCASEw. format.

data mydata;
set sashelp.cars; 
format make $upcase.;
run;
SAS Character Formats

Let's say we specify width 3 $upcase3., it will truncate to first 3 letters (as shown in the image below).

data mydata;
set sashelp.cars; 
format make $upcase3.;
run;
SAS Character Format Example

Numeric Formats

  • COMMAw.d: Displays numeric values with commas and a specified number of decimal places.
  • DOLLARw.d: Displays numeric values as currency with a dollar sign, commas, and a specified number of decimal places.
  • PERCENTw.d: Displays numeric values as percentages with a specified number of decimal places.

The "dollar8." format specifies that the values of the "msrp" variable should be displayed as currency with a dollar sign and commas, with a width of 8 characters. The "msrp" variable represents the manufacturer's suggested retail price of the cars.

data mydata;
set sashelp.cars; 
format msrp dollar8.;
run;
SAS Numeric Formats

If you only want commas in numeric values, you can use the format comma8.

data mydata;
set sashelp.cars; 
format msrp comma8.;
run;

In the code below, the percent8.2 format specifies that the "percent_gain" values should be displayed as percentages with two decimal places, with a total width of 8 characters.

data mydata;
percent_gain = 0.835; 
format percent_gain percent8.2;
run;

Result: 83.50%

Date Formats

Date Formats Result
date9. 30DEC2022
date11. 30-DEC-2022
YYMMDD10. 2022-12-30
MMDDYY10. 12-30-2022
DDMMYY10. 30-12-2022
WORDDATE. DECEMBER 30, 2022
DDMMYYP10. 30.12.2022
DDMMYYS10. 30/12/2022
MMDDYYP10. 12.30.2022
MMDDYYS10. 12/30/2022
WORDDATX19. 30 DECEMBER 2022

The line format date date11.; specifies that the "date" variable in the "mydata" dataset should be formatted using the "date11." format. This format represents the date values in the format "dd-MON-yyyy". The resulting dates will have a width of 11 characters.

data mydata;
set sashelp.pricedata;
format date date11.;
run;
SAS Date Formats
Related Posts
Spread the Word!
Share
About Author:
Deepanshu Bhalla

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 10 years of experience in data science. During his tenure, he worked with global clients in various domains like Banking, Insurance, Private Equity, Telecom and HR.

Post Comment 0 Response to "SAS Formats"
Next → ← Prev