質問

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;の場合。次に出力;

欠損値のないデータセットを出力します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top