1
我具有由“通过实施例PROC SQL”,用于查找基于单个柱/场重复行启发宏:扩展SAS MACRO到多个字段
data have ;
input name $ term $;
cards;
Joe 2000
Joe 2000
Joe 2002
Joe 2008
Sally 2001
Sally 2003
; run;
%MACRO DUPS(LIB, TABLE, GROUPBY) ;
PROC SQL ;
CREATE TABLE DUPROWS AS
SELECT &GROUPBY, COUNT(*) AS Duplicate_Rows
FROM &LIB..&TABLE
GROUP BY &GROUPBY
HAVING COUNT(*) > 1
ORDER BY Duplicate_Rows;
QUIT;
%MEND DUPS ;
%DUPS(WORK,have,name) ;
proc print data=duprows ; run;
我想延长这是为了寻找基于多列的重复项(在我的例子中是第1行和第2行),但仍然足够灵活来处理单个列。
在这种情况下,将运行代码:
proc sql ;
create table duprows as select name,term,count(*) as Duplicate_Rows
from work.have
group by name,term
HAVING COUNT(*) > 1
;quit;
生产出:
是的,我试图通过一个引用的字符串,并使用unquote。不过,我认为这很有效,并且会服务于我的目的。 –
@WesMcClintick:很好,我很高兴这对你有用。 –