保留基于 Date SAS 的变量值

Keep variable values based on Date SAS

我有以下数据集:

  Date      Action     
 Jan2006      A
 Jan2006      A
 Jan2006      A
 Jan2006      N
 Jan2006      N
 Feb2006      A
 Feb2006      N
 Feb2006      N
 Mar2006      A
 Mar2006      N
 Mar2006      N
 Apr2006      A
 Apr2006      N
  and so on until Dec2014. 

我想做的是制作一个新的数据集,这样当它是年初(即 2006 年 1 月)时,我想同时保留 A 和 N,但只保留 N 和一年中剩余的月份(二月、三月……直到十二月)。所以上面的数据集应该如下所示:

 Date      Action     
 Jan2006      A
 Jan2006      A
 Jan2006      A
 Jan2006      N
 Jan2006      N
 Feb2006      N
 Feb2006      N
 Mar2006      N
 Mar2006      N
 Apr2006      N
 and so on until Dec2014.

如您所见,当月初(一月)时,我同时保留 A 和 N,但只有 N 和剩余的月份,直到我到达明年的月初(一月),并且然后重复该过程(即在 2007 年 1 月时保留 A 和 N,其余月份仅保留 N,其余所有年份均如此)。

执行此操作的最佳方法是什么?我知道我可能会使用某种条件 if then 语句,但我就是无法理解它。

你可以使用类似...我希望你的日期是日期格式,否则 substr 来获取 "Jan"

if month(date) ne 1 and Action= "A" then delete;

如果不是日期格式则

if substr(date,1,3) ne "Jan" and Action= "A" then delete;