If the OBSERVED= option is specified in the PROC EXPAND statement and no CONVERT statement is included in the PROC EXPAND step, then the following occurs:
This can cause the results returned by the procedure to be different than expected, because the observation characteristics of the data specified in the OBSERVED= option are not used.
For example, suppose you have a data set, A, with a large number of variables that represent quarterly averages, and you want to convert the values of all these numeric variables to monthly averages. If you specify:
proc expand data=a out=b from=qtr to=month observed=average;
id date;
run;
Then the returned results are incorrect, because the OBSERVED=AVERAGE attribute is not honored and all input and output observations are treated as beginning-of-period values.
To circumvent the problem, add a CONVERT statement to the PROC EXPAND step and either list the variable names to be processed by the procedure or use the _NUMERIC_ keyword. The above example code can be modified as follows so that the OBSERVED=AVERAGE attribute is honored:
proc expand data=a out=b from=qtr to=month observed=average;
id date;
convert _numeric_;
run;