Chapter Contents

Previous

Next
INPUT, Column

INPUT, Column



Reads input values from specified columns and assigns them to the corresponding SAS variables

Valid: in a DATA step
Category: File-handling
Type: Executable


Syntax
Arguments
Details
When to Use Column Input
Missing Values
Reading Data Lines
Reading Variable-Length Records
Examples
See Also

Syntax

INPUT variable <$> start-column <-- end-column>
<.decimals> <@ | @@>;

Arguments

variable
names a variable that is assigned input values.

$
indicates that the variable has character values rather than numeric values.
Tip: If the variable is previously defined as character, $ is not required.

start-column
specifies the first column of the input record that contains the value to read.

-- end-column
specifies the last column of the input record that contains the value to read.
Tip: If the variable value occupies only one column, omit end-column.
Example: Because end-column is omitted, the values for the character variable GENDER occupy only column 6:
input name $ 1-10 pulse 11-13 waist 14-15
      gender $ 16;

.decimals
specifies the number of digits to the right of the decimal if the input value does not contain an explicit decimal point.
Tip: An explicit decimal point in the input value overrides a decimal specification in the INPUT statement.
Example: This INPUT statement reads the input data for a numeric variable using two decimal places:

Input Data Statement Results
----+---1

2314 
input number 1-5 .2;
23.14
2

.02
400

4.00
-140

-1.40
12.234

12.234
*
12.2

12.2
*
*The decimal specification in the INPUT statement is overridden by the input data value.

@
holds the input record for the execution of the next INPUT statement within the same iteration of the DATA step. This line-hold specifier is called trailing @.
Restriction: The trailing @ must be the last item in the INPUT statement.
Tip: The trailing @ prevents the next INPUT statement from automatically releasing the current input record and reading the next record into the input buffer. It is useful when you need to read from a record multiple times.
See: Pointer Controls.

@@
holds the input record for the execution of the next INPUT statement across iterations of the DATA step. This line-hold specifier is called double trailing @.
Restriction: The double trailing @ must be the last item in the INPUT statement.
Tip: The double trailing @ is useful when each input line contains values for several observations.
See: Using Line-Hold Specifiers.


Details

When to Use Column Input

With column input, the column numbers that contain the value follow a variable name in the INPUT statement. To read with column input, data values must be in

Useful features of column input are that


Missing Values

Missing data do not require a place-holder. The INPUT statement interprets a blank field as missing and reads other values correctly. If a numeric or character field contains a single period, the variable value is set to missing.

Reading Data Lines

SAS always pads the data records that follow the DATALINES statement (in-stream data) to a fixed length in multiples of 80. The CARDIMAGE system option determines whether to read or to truncate data past the 80th column.

Reading Variable-Length Records

By default, SAS uses the FLOWOVER option to read varying-length data records. If the record contains fewer values than expected, the INPUT statement reads the values from the next data record. To read varying-length data. you may need to use the TRUNCOVER option in the INFILE statement. The TRUNCOVER option is more efficient than the PAD option which pads the records to a fixed length. For more information, see Reading Past the End of a Line.


Examples

This DATA step demonstrates how to read input data records with column input:

data scores;
   input name $ 1-18 score1 25-27 score2 30-32
         score3 35-37;
   datalines;
Joseph                  11   32   76
Mitchel                 13   29   82
Sue Ellen               14   27   74
;

See Also

Statement:

INPUT


FOOTNOTE 1:  See SAS Language Reference: Concepts for the definition of standard and nonstandard data values. [arrow]


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.