gpt4 book ai didi

sas - 有没有办法检测何时到达 SAS DATA 步骤中的最后一个观察值?

转载 作者:行者123 更新时间:2023-12-03 14:33:42 24 4
gpt4 key购买 nike

有没有办法在运行时检查 SAS 数据集中有多少观测值,或者检测何时到达 DATA 步骤中的最后一个观测值?

对于这个看似简单的问题,我似乎无法在网上找到任何内容。谢谢!

最佳答案

nobs= set 的选项语句可以给你观察的数量。编译数据步骤时,会扫描输入数据集的 header 部分,因此您甚至不必执行 set语句以获取观察次数。例如,以下按预期报告 2:

/* a test data set with two observations and no vars */
data two;
output;
output;
run;

data _null_;
if 0 then set two nobs=nobs;
put nobs=;
run;
/* on log
nobs=2
*/
end=选项在读入最后一个观察(对于 set 语句)时设置一个标志。

但是,SAS 数据集可以是 SAS 数据文件或 SAS View 。在后者的情况下,在编译时或执行时可能不知道观察的数量。
data subclass/view=subclass;
set sashelp.class;
where sex = symget("sex");
run;

%let sex=F;
data girls;
set subclass end=end nobs=nobs;
put name= nobs= end=;
run;
/* on log
Name=Alice nobs=9.0071993E15 end=0
Name=Barbara nobs=9.0071993E15 end=0
Name=Carol nobs=9.0071993E15 end=0
Name=Jane nobs=9.0071993E15 end=0
Name=Janet nobs=9.0071993E15 end=0
Name=Joyce nobs=9.0071993E15 end=0
Name=Judy nobs=9.0071993E15 end=0
Name=Louise nobs=9.0071993E15 end=0
Name=Mary nobs=9.0071993E15 end=1
*/

关于sas - 有没有办法检测何时到达 SAS DATA 步骤中的最后一个观察值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com