IFステートメントの関数バージョンみたいなやつです。
これも大変便利なのでヘビーに使う関数のひとつですね。
IFN ( 条件式 , 条件式が真(TRUE)の場合の戻り値 , 条件式が偽(FALSE)の場合の戻り値 ) |
戻り値を数値で返したい場合はIFN関数を使い、文字値で返したい場合はIFC関数を使います。
以下記事ですでに紹介済みなので、まずはそちらをご覧ください。
IFN / IFC関数と謎の第4引数
では、IF関数を使わない場合と、使う場合とでプログラムを比較してみます。
例えば、以下のようなデータセットがあったとします。
data DT1;
length X1 $10.;
X1="YES"; output;
X1="NO"; output;
run;
X1="YES"; output;
X1="NO"; output;
run;
X1
|
---|
YES |
NO |
ここで
・X1="YES" だったら「1」
・X1="YES" 以外だったら「0」
みたいな条件分岐で値を設定したいとします。
通常はIFステートメントを使いますよね。
Before
data DT2;
set DT1; if X1 = "YES" then X2=1; else X2=0; run;
|
IFN関数を使えばもっとスッキリとした文になります。
After
data DT2;
set DT1; X2 = ifn(X1="YES",1,0); run;
|
8.IFN・IFC関数
0 件のコメント:
コメントを投稿