Chapter Contents
Chapter Contents
Language Reference

LIST Statement

displays observations of a data set

LIST <range> <VAR operand> <WHERE(expression)>;

The inputs to the LIST statement are as follows:

specifies a range of observations

specifies a set of variables

is an expression evaluated to be true or false.

The LIST statement prints selected observations of a data set. If all data values for variables in the VAR clause fit on a single line, values are displayed in columns headed by the variable names. Each record occupies a separate line. If the data values do not fit on a single line, values from each record are grouped into paragraphs. Each element in the paragraph has the form name=value.

You can specify a range of observations with a keyword or by record number using the POINT option. You can use any of the following keywords to specify a range:

all observations

the current observation (this is the default for the LIST statement)

NEXT <number>
the next observation or the next number of observations

all observations after the current one

POINT operand
observations specified by number, where operand can be one of the following:

Operand Example
a single record numberpoint 5
a literal giving severalpoint {2 5 10}
record numbers 
the name of a matrixpoint p
containing record numbers 
an expression in parenthesespoint (p+1)

If the current data set has an index in use, the POINT option is invalid.

You can specify a set of variables to use with the VAR clause. The operand can be specified as one of the following: Below are examples showing each possible way you can use the VAR clause:
   var {time1 time5 time9};  /* a literal giving the variables */
   var time;                 /* a matrix containing the names  */
   var('time1':'time9');     /* an expression                  */
   var _all_;                /* a keyword                      */
The WHERE clause conditionally selects observations, within the range specification, according to conditions given in the clause. The general form of the WHERE clause is

WHERE( variable comparison-op operand)

In the statement above,

is a variable in the SAS data set.

is any one of the following comparison operators:

less than

less than or equal to

equal to

greater than

greater than or equal to

not equal to

contains a given string

does not contain a given string

= :
begins with a given string

= *
sounds like or is spelled similar to a given string

is a literal value, a matrix name, or an expression in parentheses.

WHERE comparison arguments can be matrices. For the following operators, the WHERE clause succeeds if all the elements in the matrix satisfy the condition:

 ^=   ^?   <   <=   >   >=

For the following operators, the WHERE clause succeeds if any of the elements in the matrix satisfy the condition:

 =   ?   =:   =*

Logical expressions can be specified within the WHERE clause using the AND (&) and OR (|) operators. The general form is

 clause&clause(for an AND clause)
 clause|clause(for an OR clause)

where clause can be a comparison, a parenthesized clause, or a logical expression clause that is evaluated using operator precedence.

Note: The expression on the left-hand side refers to values of the data set variables and the expression on the right-hand side refers to matrix values.

Below are several examples on using the LIST statement:

list all;                              /* lists whole data set */
list;                             /* lists current observation */
list var{name addr};     /* lists NAME and ADDR in current obs */
list all where(age>30); /* lists all obs where condition holds */
list next;                           /* lists next observation */
list point 24;                         /* lists observation 24 */
list point (10:15);        /* lists observations 10 through 15 */

Chapter Contents
Chapter Contents

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