我有一个按x1和x2排序的数据集。对于x1的每个值,我只想打印x2的最后一个值。我该怎么做呢?它会是这样的:
if last.x2 then print;
答案 0 :(得分:5)
您可以使用last
语句,但不能在打印语句中使用它。试试这个:
data tmp;
set mydataset;
by x1 x2;
if last.x1;
run;
proc print data=tmp; run;
答案 1 :(得分:3)
Itzy很接近,但需要更改LAST语句以引用X1,如下所示:
data tmp;
set mydataset;
by x1 x2;
if last.x1;
run;
proc print data=tmp; run;
答案 2 :(得分:0)
这将打印具有最大值x2的单行。
proc sort data=mydataset;
by x2;
run;
data tmp;
set mydataset end=eof;
if eof then do;
output;
end;
run;
proc print data=tmp;
run;
请注意,如果有多个行具有最大值,则只会打印其中一行。