我有一个带有许多观察值的 sasdataset,其中一个变量称为 DATO。
此变量包含将观察添加到数据集的日期。
以前我使用过以下内容:
WHERE (DATE() - DATO) < 250;
选择要打印的观察,但这会带来问题。以前我每月添加观察,但现在我每天都这样做。
我需要找到一种方法来仅打印过去 8 个月第一天的观察结果。
我可能可以弄清楚 8 个月的问题,但不知道如何只选择该月的第一天。任何帮助将不胜感激。
data _null_;
infile cards;
input DATO:date9.;
if day(DATO)=1 /* first of the month */
and DATO>intnx('MONTH',date(),-8) /* returns date shifted back 8 months */
then put DATO= date9.;
cards;
01JAN2013
02JAN2013
01FEB2013
01MAR2013
03MAR2013
;run;
结果:
DATO=01JAN2013
DATO=01FEB2013
DATO=01MAR2013