SAS Programming Professionals,
Did you know that you can specify the length, format, informat, and label for a variable all in the same statement?
The aptly named ATTRIB statement lets you specify the aforementioned attributes of a variable in a single statement, obviating the need for separate LENGTH, FORMAT, INFORMAT, and LABEL statements. Here is an example:
attrib birthdate length=6 label = "Birth Date" format=worddate. informat=mmddyy.;
attrib firstname length=$7 label = "First Name";
attrib lastname length=$7 label = "Last Name";
input birthdate firstname lastname;
042775 Michael Raithel
proc print label noobs;
In the example, we use the ATTRIB statement to specify LENGTH, FORMAT, INFORMAT, and LABEL for BIRTHDATE. We don’t really need a FORMAT or INFORMAT for FIRSTNAME and LASTNAME, so we only specify the LENGTH and LABEL on the second two ATTRIB statements. The resulting PROC PRINT looks like this:
Birth Date Name Name
April 27, 1975 Michael Raithel
Using an ATTRIB statement is a good alternative to using multiple LENGTH, FORMAT, INFORMAT, and LABEL statements because it specifies all of the attributes of a variable in one spot. Good documentation! See if it makes sense in your own SAS programs.
Best of luck in all of your SAS endeavors!
(aka Michael A. Raithel)
Excerpt from the book: Did You Know That? Essential Hacks for Clever SAS Programmers
I plan to post each and every one of the hacks in the book to social media on a weekly basis. Please pass them along to colleagues who you know would benefit.