INPUTN Function

Enables you to specify a numeric informat at run time.

Categories:Special
CAS
Note:This function supports the VARCHAR type.

Syntax

INPUTN(source, informat <, w<, d>>)

Required Arguments

source

specifies a character constant, variable, or expression to which you want to apply the informat.

informat

is a character constant, variable, or expression that contains the numeric informat that you want to apply to source.

Optional Arguments

w

is a numeric constant, variable, or expression that specifies a width to apply to the informat.

Interaction If you specify a width here, it overrides any width specification in the informat.

d

is a numeric constant, variable, or expression that specifies the number of decimal places to use.

Interaction If you specify a number here, it overrides any decimal-place specification in the informat.

Details

Some language elements are supported in SAS but not in CAS. An example is the DATALINES statement. Some examples in this document use DATALINES in SAS to create a data set using the CAS engine. For more information, see Functions in SAS and CAS.

Example: Specifying Numeric Informats

This example shows how to specify numeric informats. The PROC FORMAT step creates a format, READDATE., that formats the variable values 1 and 2 with the name of a SAS date informat. The DATA step creates a SAS data set from raw data originally from two different sources (indicated by the value of the variable SOURCE). Each source specified dates differently. After reading a record, the DATA step uses the value of SOURCE to create a variable, DATEINFORMAT, that contains the value of the appropriate informat for reading the date. The DATA step also creates a new variable, NEWDATE, whose value is a SAS date. The INPUTN function assigns the value of NEWDATE based on the source of the observation and the appropriate informat.
   proc format;
      value readdate 1='date7.'
                     2='mmddyy8.';
   run;
   options yearcutoff=1926;
   data fixdates(drop=start dateinformat);
      length jobdesc $12;
      input source id lname $ jobdesc $ start $;
      dateinformat=put(source, readdate.);
      newdate=inputn(start, dateinformat);
      datalines;
   1 1604 Ziminski writer 09aug99
   1 2010 Clavell editor 26jan95
   2 1833 Rivera writer 10/25/98
   2 2222 Barnes proofreader 3/26/12
   ;
Last updated: March 16, 2017