スクリプトガイド > データテーブル > > カスタム変換の例
公開日: 11/25/2021

カスタム変換の例

値を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.15に見られるようにカスタム変換が表示されます。

図9.15 データテーブル内のカスタム変換 

Custom Transform in a Data Table

カスタム形式の例: 掛け算

カスタム関数の最後のタイプは、カスタム表示形式です。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.16 [列情報]ウインドウのカスタム表示形式 

Custom Format in the Col Info Window

カスタム形式の例: 日付

JMPで提供されていない形式で日付を表示したい場合を考えます。以下のスクリプトにより、月、年、日付、曜日、を示すようにデータの形式を定義します。

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 )
	)
);

スクリプトを実行した後に、その表示形式を日付値の列に割り当てることができます。[列]>[列情報]ウィンドウでは、この日付の表示形式は[表示形式]>[カスタム関数]メニューの中に表示されます。すべての文字が表示できるように、列の総桁数を大きくする必要があります。

ヒント: カスタム形式の他の作成例については、数値を4桁で表示する場合を参照してください。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).