前のページ|次のページ

IFC関数

式の真、偽、欠損に基づいて文字値を返します。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル2に準拠しており、SBCS、DBCSおよびMBCS(UTF8)での使用目的で設計されています。

構文

必須引数

logical-expression

数値の定数、変数または式を指定します。

value-returned-when-true

logical-expressionの値がtrueの場合に返される文字定数、変数または式を指定します。

value-returned-when-false

logical-expressionの値がfalseの場合に返される文字定数、変数または式を指定します。

オプション引数

value-returned-when-missing

logical-expressionの値が欠損値の場合に返される文字定数、変数または式を指定します。

詳細

返される変数の長さ

DATAステップで、まだ長さが割り当てられていない変数にIFC関数から値が返される場合、その変数には200バイトの長さが設定されます。

基本

IFC関数は、論理式の値に基づいて複数の値から選択できる条件ロジックを使用します。
IFCは、第1引数logical-expressionを評価します。logical-expressionがtrueの場合(ゼロや欠損値ではない場合)、IFCは第2引数の値を返します。logical-expressionが欠損値の場合、IFCは第4引数の値を返します(第4引数がある場合)。それ以外の場合、logical-expressionがfalseであれば、IFCは第3引数の値を返します。
IFC関数はDATAステップの式で役立ちます。IF/THEN/ELSE構文を使用しづらいまたは使用できないWHERE句や他の式ではさらに便利です。

比較

IFC関数はIFN関数と類似していますが、IFNが数値を返すのに対してIFCは文字値を返す点が異なります。

例1

次の例では、IFCは式grade>80を評価して、チームの複数のメンバのパフォーマンスを決定するロジックを実装します。
data _null_;
   input name $ grade;
   performance = ifc(grade>80, 'Pass             ', 'Needs Improvement');
   put name= performance=;
   datalines;
John 74
Kareem 89
Kati 100
Maria 92
;
次の出力がログに書き込まれます。
name=John performance=Needs Improvement name=Kareem performance=Pass name=Kati performance=Pass name=Maria performance=Pass

例2

この例では、IF/THEN/ELSE構文を使用してIFC関数と同じ出力を生成します。
data _null_;
   input name $ grade;
   if grade>80 then performance='Pass             ';
      else performance = 'Needs Improvement';
   put name= performance=;
   datalines;
John 74
Sam 89
Kati 100
Maria 92
;
次の出力がログに書き込まれます。
name=John performance=Needs Improvement name=Sam performance=Pass name=Kati performance=Pass name=Maria performance=Pass

関連項目:

関数:
前のページ|次のページ|ページの先頭へ