このバージョンのヘルプはこれ以降更新されません。最新のヘルプは https://www.jmp.com/support/help/ja/15.2   からご覧いただけます。


Match()関数を使うと、比較対象となる値をすべて手で入力しなくても、等しいかどうかの比較を繰り返すことができます。構文は次のとおりです。
Match( x, value1, result1, value2, result2, ..., resultElse );
たとえば次のスクリプトは、「Big Class.jmp」の性別の略称をコード変更します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For Each Row( 性別 =
	Match(
		性別,
		"F", "女性",
		"M", "男性",
		"不明");
	);
テーブルの各行で「性別」の列の値を変更するよう指定する。
Match()ループを開始する。
性別,
「性別」をMatchの引数に指定する。
"F", "女性",
"M", "男性",
"不明" );
このMatch()の例は、第 “If”の例を単純にしたものです。Match()の利点は、比較の変数を条件式ごとに繰り返す必要がなく、一度定義するだけでよいことです。欠点は、Ifとは異なり、演算子のある式が使えないことです。Match()式で性別 == "F"という引数を使うと、エラーになります。
条件と結果のグループが多いほど、Match()が本領を発揮します。次のようなスクリプトにIf()を使ったとすると、もっと多くの行が必要になります。
dt = Open( "$SAMPLE_DATA/Travel Costs.jmp" );
For Each Row(
	予約した曜日 = Match( 予約した曜日,
		"Sunday", "SUN",
		"Monday", "MON",
		"Tuesday", "TUE",
		"Wednesday", "WED",
		"Thursday", "THU",
		"Friday", "FRI",
		"Saturday", "SAT",
		"Not Specified"
	)
);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For Each Row(
	年齢 = Match( 年齢, 12, "Twelve", 13, "Thirteen", 14, "Fourteen", 15, "Fifteen", 16, "Sixteen", "Other" )
);
比較する値が1、2、3・・・という整数値の場合には、Choose()を使用するとさらに入力する引数を少なくできます。詳細については、第 “Choose”を参照してください。
メモ: Match()関数は比較の値xが欠測値であるか、value1の値が欠測値であるかを明示的にチェックします。もし両方とも欠測値であればresult1の値を戻します。そうでなければ欠測値を無視して、式xvalueN/resultNvalueNとの比較を続けます。もし式xvalueN値のいずれかと等しい場合は、対応するresultN値を戻します。もし等しいvalueN値が見つからなければ、resultElse値を戻します。