|SAS Language Reference: Dictionary|
|Ways to Specify Informats|
You can specify informats in the following ways:
The INPUT statement with an informat after a variable name is the simplest way to read values into a variable. For example, the following INPUT statement uses two informats:
input @15 style $3. @21 price 5.2;The $w. character informat reads values into the variable STYLE. The w.d numeric informat reads values into the variable PRICE.
For a complete discussion of the INPUT
statement, see INPUT.
The INPUT function reads a SAS character expression using a specified informat. The informat determines whether the resulting value is numeric or character. Thus, the INPUT function is useful for converting data. For example,
TempCharacter='98.6'; TemperatureNumber=input(TempCharacter,4.);Here, the INPUT function in combination with the w.d informat reads the character value of TempCharacter as a numeric value and assigns the numeric value 98.6 to TemperatureNumber.
the PUT function with a SAS format to convert numeric values to
character values. See PUT
for an example of a numeric-to-character conversion. For a complete discussion
of the INPUT function, see INPUT.
The INFORMAT statement associates an informat with a variable. SAS uses the informat in any subsequent INPUT statement to read values into the variable. For example, in the following statements the INFORMAT statement associates the DATEw. informat with the variables Birthdate and Interview:
informat Birthdate Interview date9.; input @63 Birthdate Interview;
An informat that is associated with an INFORMAT statement behaves like an informat that you specify with a colon (:) format modifier in an INPUT statement. (For details about using the colon (:) modifier, see the INPUT, List.) Therefore, SAS uses a modified list input to read the variable so that
See INPUT, List
for more information on how to use modified list input to read data.
The ATTRIB statement can also associate an informat, as well as other attributes, with one or more variables. For example, in the following statements, the ATTRIB statement associates the DATEw. informat with the variables Birthdate and Interview:
attrib Birthdate Interview informat=date9.; input @63 Birthdate Interview;
An informat that is associated by using the INFORMAT= option in the ATTRIB statement behaves like an informat that you specify with a colon (:) format modifier in an INPUT statement. (For details about using the colon (:) modifier, see the INPUT, List.) Therefore, SAS uses a modified list input to read the variable in the same way as it does for the INFORMAT statement.
See ATTRIB for more information.
|Permanent versus Temporary Association|
When you specify an informat in an INPUT statement, SAS uses the informat to read input data values during that DATA step. SAS, however, does not permanently associate the informat with the variable. To permanently associate a format with a variable, use an INFORMAT statement or an ATTRIB statement. SAS permanently associates an informat with the variable by modifying the descriptor information in the SAS data set.
In addition to the informats that are supplied with base SAS software, you can create your own informats. In base SAS software, PROC FORMAT allows you to create your own informats and formats for both character and numeric variables. For more information on user-defined informats, see the FORMAT procedure in the SAS Procedures Guide.
When you execute a SAS program that uses user-defined informats, these informats should be available. The two ways to make these informats available are
If you execute a program that cannot locate a user-defined informat, the result depends on the setting of the FMTERR= system option. If the user-defined informat is not found, then these system options produce these results:
|FMTERR||SAS produces an error that causes the current DATA or PROC step to stop.|
|NOFMTERR||SAS continues processing by substituting a default informat.|
To avoid problems, make sure that users of your program have access to all the user-defined informats that are used.
Top of Page
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.