IF マクロ

(計算内容) IF マクロは、IBM® Campaign および IBM Interact で使用可能です。

構文

IF(predicate_col, then_value) IF(predicate_col, then_value, else_value)

パラメーター

predicate_col

ブール値の単一列、またはブール値の単一列として評価される式です。ブール値はゼロまたは非ゼロとして解釈されます。この列には、少なくともデータが抽出されるデータ範囲と同じ数の行が含まれている必要があります。

then_value

predicate_col の対応する行にゼロでない値が含まれている場合に返される値 (複数可)。これは定数値、列、または以上のいずれかに評価される式になります。then_value のフォーマット定義 (data と同じ) については、IBM Campaign のマクロ関数のパラメーターを参照してください。

else_value

このオプション・パラメーターを指定した場合、predicate_col の対応する行に 0 が含まれていると、それが返されます。これは定数値、列、または以上のいずれかに評価される式になります。else_value を指定しない場合、predicate_col が FALSE と評価されると必ず 0 が返されます。else_value のフォーマット定義 (data と同じ) については、IBM Campaign のマクロ関数のパラメーターを参照してください。

説明

IFpredicate_col 内の式を評価して、式が TRUE の場合は then_value を返し、式が FALSE の場合は else_value を返します。then_valueelse_value について、返す列の数は同じです。predicate_col の値が 0 以外である場合、新しい列には対応する then_value の行の値が入ります。else_value を指定した場合、predicate_col が 0 のときに、その値が返されます。else_value を指定しないと 0 が返されます。

IF は行ごとに処理するため、最も短い列 (すなわち、predicate_colthen_valueelse_value の各列で最も短い列) の最後の値まで各行の結果を生成します。

注: 一般に、比較マクロ関数のいずれか (例えば、==><ISEVENISODD など) を使用して述部列を作成します。

TEMP = IF(1, V1)

TEMP という名前で V1 列のコピーを含む新しい列を作成します。
TEMP = IF(V1, 1, 0)

V1 列の対応する値が 0 でない場合は各値が 1、それ以外の場合は 0 である新しい列を TEMP という名前で作成します。

TEMP = IF(V3, V1, V2)

V3 列の対応する値が 0 でない場合は各値が V1 列からコピーされ、それ以外の場合は V2 列からコピーされる新しい列を TEMP という名前で作成します。

TEMP = IF(ABS(V1-AVG(V1)) < STDV(V1), V1)

平均からの偏差が 1 標準偏差未満である V1 列の各値を含む新しい列を TEMP という名前で作成します。

TEMP = IF(V3[20:30], V1[30:40], V2)

TEMP という名前で 10 から 20 行の値を含む新しい列を作成します。V3 列 (セル 30 からセル 40 まで) の対応する値が 0 でない場合は各値が V1 列 (セル 10 からセル 20 まで) からコピーされ、それ以外の場合は V2 列 (セル 1 からセル 11 まで) からコピーされます。