我是SAS新手,想知道如何最有效地列出开始日期和结束日期之间的月份和年份,以及开始日期和结束日期本身.我已经阅读了INTCK和INTNX函数,时间序列数据的EXPAND函数,甚至CALENDAR FILL,但我不确定如何将它们用于此特定目的.由于拖放自动填充功能,使用Excel中的小数据集可以轻松完成此任务,但由于数据集的大小,我需要在SAS中找到一种方法.任何建议将不胜感激.谢谢!
数据集位于如下组织的大型文本文件中:
ID Start End
1000 08/01/2012 12/31/2012
1001 07/01/2010 05/31/2011
1002 04/01/1990 10/31/1991
Run Code Online (Sandbox Code Playgroud)
但输出最终应该是这样的:
ID MonthYear
1000 08/12
1000 09/12
1000 10/12
1000 11/12
1000 12/12
1001 07/10
1001 08/10
1001 09/10
1001 10/10
1001 11/10
1001 12/10
1001 01/11
1001 02/11
1001 03/11
1001 04/11
1001 05/11
1002 04/90
1002 05/90
1002 06/90
1002 07/90
1002 08/90
1002 09/90
1002 10/90
1002 11/90
1002 12/90
1002 01/91
1002 02/91
1002 03/91
1002 04/91
1002 05/91
1002 06/91
1002 07/91
1002 08/91
1002 09/91
1002 10/91
Run Code Online (Sandbox Code Playgroud)
data want2;
set have;
do i = 0 to intck('month',start,end);
monthyear=intnx('month',start,i,'b');
output;
end;
format monthyear monyy.;
keep id monthyear;
run;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2788 次 |
| 最近记录: |