SAS中是否有等效的Oracle NVL功能?
例如,如果我在SAS中有where子句,则说:
where myVar > -2;
它不会包含任何具有myVar =。
的行如果我想将缺失值视为零,我必须说:
where myVar > -2 or missing( myVar )
我希望能够做到这样的事情:
where NVL( myVar, 0 ) > -2 // or some SAS equivalent
SAS中有这样的东西吗?
答案 0 :(得分:13)
答案 1 :(得分:7)
使用coalesce函数是执行此操作的正确方法。
但是如果你有一个旧版本的SAS没有实现合并,你可以使用这个技巧:
where sum(myVar,0) > -2
如果您使用SAS中的sum function进行添加,则总和中的任何非缺失数字都会强制结果不会丢失。
因此,使用sum函数添加0会将缺失值转换为0,并且非缺失值将保持不变。
答案 2 :(得分:-1)
你可以做的一件事是 喜欢 array varlistname var1 var2 var3 varn; 如果数组<&gt ;.然后输出;
它将输出具有非缺失值的数据集