从元数据统计SAS数据集的观察次数

从元数据统计SAS数据集的观察次数,sas,Sas,用于计算数据集观察次数的代码: data _NULL_; if 0 then set sashelp.cars nobs=n; put "no. of observations =" n; stop; run; 如果=0意味着什么?这是如何工作的?零是SAS中固有的false值。因此,if 0 then Set..语句中的Set语句永远不会执行。nobs=n是在编译时设置的。因此,如果您的唯一目标是在SAS数据集中找到观测值的数量,则无需读取任何实际数据。在评估布尔

用于计算数据集观察次数的代码:

data _NULL_;
 if 0 then set sashelp.cars nobs=n;
 put "no. of observations =" n;
 stop;
run;


如果=0意味着什么?这是如何工作的?

零是SAS中固有的
false
值。因此,
if 0 then Set..
语句中的Set语句永远不会执行。nobs=n是在编译时设置的。因此,如果您的唯一目标是在SAS数据集中找到观测值的数量,则无需读取任何实际数据。

在评估布尔逻辑时,SAS会将零或缺失值视为FALSE,将任何其他值视为TRUE。因此,
如果为0,那么
允许您拥有数据步骤编译器看到的代码,但实际上从未运行过。由NOBS=选项创建的变量在数据步骤开始运行之前被赋值

对于这个简单的步骤,您可以通过将SET语句放在STOP语句之后获得相同的结果

data _null_;
  put "no. of observations =" n;
  stop;
  set sashelp.cars nobs=n;
run;