关于使用SAS中的指定标准进行观察

时间:2019-06-04 12:57:09

标签: sas

您好,在此先感谢您的回答和为帮助该论坛中的新用户所做的努力。

我有一个sas表,其中包含变量:ID,年,月和创建日期。 我想要的是,每月和每年以及创建日期仅保留一个ID。 我的HAVE数据是:

ID  Year    Month   Date of creation
1   2019    1       a
1   2019    1       a
1   2019    1       b
1   2019    2       c
1   2019    3       d
1   2020    5       e
2   2019    1       a
2   2019    1       b
2   2019    3       c
3   2021    8       m
3   2021    9       k

我的WANT数据是

ID  Year    Month   Date of creation
1   2019    1       a
1   2019    1       b
1   2019    2       c
1   2019    3       d
1   2020    5       e
2   2019    1       a
2   2019    1       b
2   2019    3       c
3   2021    8       m
3   2021    9       k

我尝试了nodup键,但是它删除了ID。

2 个答案:

答案 0 :(得分:1)

您的示例似乎可以与PROC SORT的NODUPKEY选项一起使用。也许您使用了错误的BY变量?

data have;
  input ID  Year    Month  Creation $ ;
cards;
1   2019    1       a
1   2019    1       a
1   2019    1       b
1   2019    2       c
1   2019    3       d
1   2020    5       e
2   2019    1       a
2   2019    1       b
2   2019    3       c
3   2021    8       m
3   2021    9       k
;
proc sort data=have out=want nodupkey;
  by id year month creation ;
run;

答案 1 :(得分:0)

您还可以使用与proc sql不同的子句,它将基于所有列删除重复项

proc sql;
create table want 
as
select distinct * from have;
quit;