在一个特定的库中我有许多不同的数据集,我想知道是否存在一种方法来查找与库中所有数据集中的特定唯一ID相关的最小和最大日期?
当前,我可以在特定数据集中找到与特定ID相关联的本地最小和本地最大日期,但是该ID将在整个不同数据集中再次显示,并且具有与该数据集相关联的自己的最小/最大日期。但是我想在整个库中比较此特定唯一ID上的日期,因此我可以找到全局最小和全局最大日期,但是我不知道如何在整个库中进行此搜索。
当前我的代码如下所示
DATA SUBSET_MIN_MAX (keep= MIN_DATE MAX_DATE UNIQUEID);
DO UNTIL (LAST.UNIQUEID);
set LIBRARY.&SAS_FILE_N;
BY UNIQUEID;
MIN_DATE = MIN(MIN_DATE,DATE);
MAX_DATE = MAX(MAX_DATE,DATE);
if last.UNIQUEID then output;
END;
format MIN_DATE MAX_DATE date9.;
RUN;
非常感谢您的协助。
答案 0 :(得分:3)
使用视图和PROC摘要来考虑这一点。
data d1; set sashelp.class; date=height+ranuni(4); run;
data d2; set sashelp.class; date=height-rannor(5); run;
data d3; set sashelp.class; date=height-ranuni(3); run;
data alld/view=alld;
length indsname $64;
set work.d:(keep=name date) indsname=indsname;
source=indsname;
run;
proc summary data=alld nway missing;
class name;
var date;
output out=want(drop=_type_)
idgroup(max(date) out(source date)=source1 globalmax)
idgroup(min(date) out(source date)=source2 globalmin)
;
run;
proc print;
run;