SAS基于除一个变量/列以外的所有变量/列删除重复项

SAS基于除一个变量/列以外的所有变量/列删除重复项,sas,duplicates,Sas,Duplicates,在SAS中,是否有一种方法可以基于除一列之外的所有列删除重复项 据我所知,以下内容用于基于所有列删除重复项 proc sort data=xyz_01 nodupkey out=xyz_02; by _all_; run; 由于输入表有很多列,我必须列出by语句中的所有列吗?您可以使用Nodup或noduprecs选项。在by语句中提到您的主键。 前任: Proc sort data=out=noduprecs; 通过 运行 或Proc sort data=out=点位; 通过 运行一种方法是

在SAS中,是否有一种方法可以基于除一列之外的所有列删除重复项

据我所知,以下内容用于基于所有列删除重复项

proc sort data=xyz_01 nodupkey out=xyz_02;
by _all_;
run;

由于输入表有很多列,我必须列出by语句中的所有列吗?

您可以使用Nodup或noduprecs选项。在by语句中提到您的主键。 前任:
Proc sort data=out=noduprecs;
通过
运行

Proc sort data=out=点位;
通过

运行

一种方法是使用宏变量

   proc sql noprint;
     select name into :cols separated by " "
     from Dictionary.columns
      where upcase(MEMNAME)= "CLASS"
     and upcase(libname) ="SASHELP"  
     and upcase(name) ne "AGE";
请尝试%put并在日志中查看您希望列的顺序

 %put &cols;

   proc sort data=sashelp.class nodupkey out=class;
        by &cols;
    run;
或者简单地列出如下所示的变量

   proc sort data=sashelp.class nodupkey out=class;
     by name sex height weight;
    run;

您真的需要保留排序中未包含的1列吗?如果是,您是否有保留哪个值的偏好?