LIST Statement
displays observations of a data set
- LIST <range> <VAR operand>
<WHERE(expression)>;
The inputs to the LIST statement are as follows:
- range
- specifies a range of observations
- operand
- specifies a set of variables
- expression
- 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
- all observations
- CURRENT
- the current observation (this is
the default for the LIST statement)
- NEXT <number>
- the next observation or the next number of observations
- AFTER
- 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 number | point 5 |
a literal giving several | point {2 5 10} |
record numbers | |
the name of a matrix | point p |
containing record numbers | |
an expression in parentheses | point (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:
- a literal containing variable names
- the name of a matrix containing variable names
- an expression in parentheses yielding variable names
- one of the keywords described in the following list:
- _ALL_
- for all variables
- _CHAR_
- for all character variables
- _NUM_
- for all numeric variables
The following examples show 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 preceding statement,
- variable
- is a variable in the SAS data set.
- comparison-op
- 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 like a given string
- operand
- 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 by using the AND (&) and OR (|) operators.
The general form is as follows:
| 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 by 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.
The following examples demonstrate the use of 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 */