如何打印SAS数据集的最后一次观察?

Tre*_*vor 5 sas

我有一个包含1000个观测值的数据集.我只想打印出最后一个观察结果.使用以下内容:

proc print data=apple(firstobs = 1000 obs = 1000); 
run;
Run Code Online (Sandbox Code Playgroud)

我可以得到最后一个观察.但我必须提前知道我的数据集有1000个观察值.如何在不知情的情况下这样做?

itz*_*tzy 7

有很多方法可以做到这一点.这是两个:

proc sql noprint;
 select n(var1) into :nobs
 from apple;
quit;

proc print data=apple(firstobs=&nobs); run;
Run Code Online (Sandbox Code Playgroud)

这只是将观察次数读入宏变量,然后使用它来指定第一次观察.(注意,var1指的是数据中的变量.)

另一种方法是创建一个数据视图,只保留最后一个观察,然后打印:

data tmp / view=tmp;
 set apple nobs=nobs;
 if _n_=nobs;
run;

proc print data=tmp; run;
Run Code Online (Sandbox Code Playgroud)