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


値を1000倍する簡単なカスタム関数を作ってみましょう。Add Custom Functions()に関数定義を指定します。
Add Custom Functions(
	New Custom Function(
		"custom", 	//新しい関数を作成する名前空間
		"x1000", 	/* 関数名。適用範囲まで指定する場合は、
			"custom:x1000"となる*/
 
		Function( {x}, x * 1000 ),
		// 関数の定義
		<<Transform Category( 1 )
		// カスタム変換として有効にするオプショナルメッセージ
	)
);
上の例を実行すると、JMPログに“関数の展開中: custom:x1000”と出力されます。custom:x1000関数が存在することを確認するには、スクリプトの索引でこの関数を検索してください。
計算式の列を新たに作成するとき、データテーブル内のカスタム変換に見られるようにカスタム変換が表示されます。
図9.10 データテーブル内のカスタム変換
カスタム関数の最後のタイプは、カスタム表示形式です。New Custom Function()を用い、Custom Format Category(1)メッセージを指定してカスタム表示形式を作成します。ここでは、入力の変数を2倍して、値の後ろに(x2)を表示する例を示します。この例では、この関数がカスタム表示形式および「新しいカテゴリ」という計算式カテゴリの両方に追加されます。これにより、列計算式、およびカスタム表示形式として使えるようになります。
//カスタム形式として指定する新しいカスタム関数
// データテーブルの値の後に「(x2)」を表示
Add Custom Functions(
	New Custom Function(
		"myNamespace",
		"Times 2",
		Function( {inputVar},
			{Default Local},
			Char( inputVar * 2 ) || " (x2)"
		),
		<<Description( "入力値を2倍し、 新しい値の後ろに「(x2)」を表示する。" ),
		<<Formula Category( "新しいカテゴリ" ),
		<<Custom Format Category( 1 )
		// カスタム表示形式として使用可能にする
	)
);
Custom Format Category(1)メッセージを指定することによって、この表示形式が表示形式メニューにある[カスタム関数]カテゴリに表示されるようになります。下の図のように、[列情報]ウインドウで、この新しいTimes 2カスタム表示形式を選択できるようになります。
図9.11 [列情報]ウインドウのカスタム表示形式
Add Custom Functions(
	New Custom Function(
		"myNamespace",
		"DateYMD_Day",
		Function( {inputVar},
			{Default Local},
			Char(
				Match( Month( inputVar ),
					1, "January ",
					2, "February ",
					3, "March ",
					4, "April ",
					5, "May ",
					6, "June ",
					7, "July ",
					8, "August ",
					9, "September ",
					10, "October ",
					11, "November ",
					12, "December "
				)
			) || Char( Year( inputVar ) ) || ", Day#" || Char( Day( inputVar ) ) || "-" ||
			Char(
				Match( Day Of Week( inputVar ),
					1, "Sunday",
					2, "Monday",
					3, "Tuesday",
					4, "Wednesday",
					5, "Thursday",
					6, "Friday",
					7, "Saturday"
				)
			)
 
		),
		<<Description(
			"月、年、日、曜日を表示する日付形式。 \!n例: April 1930, Day#29-Tuesday "
		),
		<<Custom Format Category( 1 )
	)
);