The TIMEDATA Procedure

ID Statement

ID variable INTERVAL=interval <options> ;

The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the time series. The information specified affects all variables listed in subsequent VAR statements. If the ID statement is specified, the INTERVAL= must also be used. If an ID statement is not specified, the observation number, with respect to the BY group, is used as the time ID.

You can specify following options in the ID statement:

ACCUMULATE= option

specifies how the data set observations are to be accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option. The ID variable contains the time ID values. Each time ID variable value corresponds to a specific time period. The accumulated values form the time series, which is used in subsequent analysis.

The ACCUMULATE= option is useful when there are zero or more than one input observations that coincide with a particular time period (for example, time-stamped transactional data). The EXPAND procedure offers additional frequency conversions and transformations that can also be useful in creating a time series.

The following options determine how the observations are accumulated within each time period based on the ID variable and the frequency specified by the INTERVAL= option:

NONE

No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default. Observations are accumulated based on the:

TOTAL

total sum of their values.

AVERAGE | AVG

average of their values.

MINIMUM | MIN

minimum of their values.

MEDIAN | MED

median of their values.

MAXIMUM | MAX

maximum of their values.

N

number of nonmissing observations.

NMISS

number of missing observations.

NOBS

number of observations.

FIRST

first of their values.

LAST

last of their values.

STDDEV |STD

standard deviation of their values.

CSS

corrected sum of squares of their values.

USS

uncorrected sum of squares of their values.

If the ACCUMULATE= option is specified, the SETMISSING= option is useful for specifying how accumulated missing values are to be treated. If missing values should be interpreted as zero, then SETMISSING=0 should be used. The section Details: TIMEDATA Procedure describes accumulation in greater detail.

ALIGN=option

controls the alignment of SAS dates that are used to identify output observations. The ALIGN= option accepts the following values: BEGINNING | BEG | B, MIDDLE | MID | M, and ENDING | END | E. BEGINNING is the default.

END=option

specifies a SAS date or datetime value that represents the end of the data. If the last time ID variable value is less than the END= value, the series is extended with missing values. If the last time ID variable value is greater than the END= value, the series is truncated. For example, END=&sysdateD uses the automatic macro variable SYSDATE to extend or truncate the series to the current date. You can specify the START= and END= options to ensure that the data that are associated within each BY group contain the same number of observations.

FORMAT=format

specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is inferred from the INTERVAL= option.

INTERVAL=interval

specifies the frequency of the accumulated time series. For example, if the input data set consists of quarterly observations, then INTERVAL=QTR should be used. If the SEASONALITY= option is not specified in the PROC TIMEDATA statement, the length of the seasonal cycle is implied from the INTERVAL= option. For example, INTERVAL=QTR implies a seasonal cycle of length 4. If the ACCUMULATE= option is also specified, the INTERVAL= option determines the time periods for the accumulation of observations. The INTERVAL= option is required and must be specified in the ID statement.

NOTSORTED

specifies that the time ID values not be in sorted order. The TIMEDATA procedure sorts the data with respect to the time ID prior to analysis.

SETMISSING=option | number

specifies how missing values (either actual or accumulated) are to be interpreted in the accumulated time series. If a number is specified, missing values are set to the number. If a missing value indicates an unknown value, specify SETMISSING=MISSING. If a missing value indicates a zero value, specify SETMISSING=0. You would typically use SETMISSING=0 for transactional data because no recorded data usually implies no activity. You can use the following options to determine how missing values are assigned. Missing values are set to:

MISSING

a missing value. This is the default.

AVERAGE | AVG

the accumulated average value.

MINIMUM | MIN

the accumulated minimum value.

MEDIAN | MED

the accumulated median value.

MAXIMUM | MAX

the accumulated maximum value.

FIRST

the accumulated first nonmissing value.

LAST

the accumulated last nonmissing value.

PREVIOUS | PREV

the previous period’s accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.

NEXT

the next period’s accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.

START=option

specifies a SAS date or datetime value that represents the beginning of the data. If the first time ID variable value is greater than the START= value, missing values are added at the beginning of the series. If the first time ID variable value is less than the START= value, the series is truncated. You can specify the START= and END= options to ensure that data associated with each BY group contain the same number of observations.

ZEROMISS=option

specifies how beginning and ending zero values (either actual or accumulated) are interpreted in the accumulated time series. The following options can also be used to determine how beginning and ending zero values are assigned:

NONE

Beginning and ending zeros are unchanged. This is the default.

LEFT

Beginning zeros are set to missing.

RIGHT

Ending zeros are set to missing.

BOTH

Both beginning and ending zeros are set to missing.

If the accumulated series is all missing or zero, the series is not changed.