我是 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
但最终的输出应该是这样的:
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