7

SASにOracleNVL機能に相当するものはありますか?

たとえば、SASに次のようなwhere句がある場合:

where myVar > -2;

myVar=を持つ行は含まれません。

欠落している値をゼロとして扱いたい場合は、次のように言う必要があります。

where myVar > -2 or missing( myVar )

私は次のようなことができるようになりたいです:

where NVL( myVar, 0 ) > -2 // or some SAS equivalent

SASにこのようなものはありますか?

4

3 に答える 3

13

合体機能がその仕事をするはずです。

where coalesce(myVar,0) > -2

この機能が SAS 9 で利用可能になったかどうかはわかりません。そのため、非常に古い SAS バージョンを使用している場合、これは機能しない可能性があります。

于 2009-06-25T04:04:37.720 に答える
7

合体機能を使用することは、これを行う正しい方法です。

ただし、coalesce が実装されていない古いバージョンの SAS を使用している場合は、次のトリックを使用できます。

where sum(myVar,0) > -2

加算にSASのsum関数を使用すると、合計に欠損値がない場合、結果が欠損値にならなくなります。

したがって、sum 関数で 0 を追加すると、欠損値が 0 に変換され、欠損値以外の値は変更されません。

于 2009-06-26T13:37:38.813 に答える
-1

y ができることの 1 つは、array varlistname var1 var2 var3 varn; のようなものです。配列の場合 <>。次に出力します。

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

于 2010-06-10T15:13:40.557 に答える