質問
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にはこのようなものがありますか?
解決
合体機能は仕事をします。
where coalesce(myVar,0) > -2
この機能がSAS 9で使用可能になったかどうかはわかりません。したがって、本当に古いSASバージョンを使用している場合、これは機能しない可能性があります。
他のヒント
合体機能を使用するのがこれを行う正しい方法です。
ただし、合体が実装されていない古いバージョンのSASがある場合は、次のトリックを使用できます。
where sum(myVar,0) > -2
sum関数を追加するためのSASで、合計の非欠損数値は結果を強制的に非欠損にします。
したがって、sum関数で0を追加すると、欠損値が0に変換され、欠損値以外の値は変更されません。
yができることの1つは のような 配列varlistname var1 var2 var3 varn; 配列<!> lt; <!> gt;の場合。次に出力;
欠損値のないデータセットを出力します
所属していません StackOverflow