[英]SAS DO LOOP with specific dates
我想创建一个数据集,我只想保留 5 个特定日期。 所以我的 &date 是 31mar2020,&enddate 是 31mar2025,我只想每年保持 31mar 到 2025 年。
使用下面的代码,它可以为每天 31mar2025 创建日期,仅此而已,所以我只想保留 5 个特定日期。
我怎样才能做到这一点?
谢谢
DATA LOOP;FORMAT ROLL_BASE_DT DATE9.;DO ROLL_BASE_DT =&DATE TO &ENDdate;OUTPUT;END;RUN;
enter code here
enter code here
您可以在 DO 语句中使用逗号来列出多个值。
do date='31mar2021'd,'31mar2022'd,'31mar2023'd,'31mar2024'd,'31mar2025'd;
...
end;
您可以改为遍历 YEAR 值。
do year=2021 to 2025;
date=mdy(3,31,year);
...
end;
您可以使用 INTNX() 将日期增加 YEAR。 您可以使用 INTCK() 来计算运行循环的次数。
do index=0 to intck('year',&DATE,&ENDdate);
date=intnx('year',&date,index,'s');
...
end;
如果只是您想要的 5 个日期,您可以使用卡片输入(我知道但从未亲自使用过)。
或者,不是使用循环,而是在每次设置值后使用 output 关键字单独设置值。 那应该这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.