首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAS根据除一个变量/列之外的所有变量/列删除重复项

问SAS根据除一个变量/列之外的所有变量/列删除重复项
EN

Stack Overflow用户
提问于 2019-01-24 15:53:57
回答 2查看 1.8K关注 0票数 1

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

据我所知,以下是根据所有列删除重复项的说明

代码语言:javascript
复制
proc sort data=xyz_01 nodupkey out=xyz_02;
by _all_;
run;

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

EN

回答 2

Stack Overflow用户

发布于 2019-01-24 20:41:36

一种方法是使用宏变量

代码语言:javascript
复制
   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,然后在日志中查看您想要的列的排序顺序。

代码语言:javascript
复制
 %put &cols;

   proc sort data=sashelp.class nodupkey out=class;
        by &cols;
    run;

或者简单地列出变量,如下所示

代码语言:javascript
复制
   proc sort data=sashelp.class nodupkey out=class;
     by name sex height weight;
    run;
票数 1
EN

Stack Overflow用户

发布于 2019-01-24 18:07:50

您可以使用Nodup或Nodup选项。在by语句中提到你的主键。例如:Proc sort data=<dataset> out=<out> noduprecs; by <variable>; run;

或Proc sort data=<dataset> out=<out> nodup; by <variable>; run;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54341745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档