在尝试使我的代码更具可读性时,我面临以下情况。
考虑一个数据步骤,您只想在其中选择具有variable
值的观测值。似乎有两种方法可以使用WHERE statement执行此操作:单独表达变量或使用MISSING函数。
例如,
案例1. VARIABLE
data where_var;
set sashelp.electric;
where AllPower;
run;
案例2.不丢失的地方(VARIABLE)
data where_not_missing;
set sashelp.electric;
where not missing(AllPower);
run;
这些产生相同的结果。但是,我不确定是否一定会这样。
答案 0 :(得分:5)
在SAS中,除0或缺失之外的任何数值都为true。有关详细信息,请参阅https://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000780367.htm。
这意味着您的案例1和案例2不是100%等效。如果AllPower = 0,结果将不同。
答案 1 :(得分:0)
如果您要确定AllPower
是否具有值,那么只有案例2才有效。
案例1正在选择AllPower
非零的记录。零是一个值,与缺少不同。