データ列には、多数のメタデータの属性オプションがあります。この属性は、Get Property、Set Property、およびDelete Property使って、設定、取得、または削除することができます。
col << Set Property( "プロパティ名", {引数リスト} );
col << Get Property( "プロパティ名" );
col << Delete Property( "プロパティ名" );
設定する際のプロパティ名は、常にSet Propertyの第1引数になり、設定するプロパティによって後続の引数が決まります。
• Get PropertyとDelete Propertyは常にプロパティ名を指定する引数を1つだけとります。
• Get Propertyは、プロパティの設定を戻します。Delete Propertyは、列からプロパティを完全に削除します。
• 列に設定されている列プロパティ名のリストを取得するには、列を指定し、Get Property Listを使います。
複数のプロパティを設定する場合は、Set Propertyメッセージを個別に複数回送る必要があります。単一のJSLステートメントに複数のメッセージをまとめることもできます。
col << Set Property( "Axis",{ Min(50), Max(180)} )<< Set Property( "ノート", "比率を取得する" );
プロパティの値を取得するには、引数に目的のプロパティの名前を指定してGet Propertyメッセージを送ります。
Column("比率") << Get Property( "Axis" ); // 軸の設定を戻す
列をラベル列として設定するには:
dt << Set Label Columns( col1, col2, col3 );
すべてのラベル列をクリアするには:
dt << Set Label Columns();
同じ構文をSet Scroll Lock Columnsでも使用できます。
ヒント: JSLで使用できるプロパティは、「列情報」ウィンドウの[列プロパティ]メニューにあるものと同じです。各プロパティの引数は、「列情報」ウィンドウの設定に対応します。構文を習得する簡単な方法は、まず列情報ウィンドウで目的のプロパティを設定し、次にGet Propertyを使ってJSLを表示することです。各種プロパティの詳細は、『JMPの使用法』のJMPの列プロパティの設定を参照してください。
JSLで列プロパティを記述する際、列はすべての列プロパティのリポジトリであるという点を理解しておくことが重要です。列には、列プロパティの名前と、評価や引数の検証が行われていない状態の値が格納されます。JSLコードで変数を使用して列プロパティを追加するには、スクリプト内のすべての変数が実際の値に展開されなければなりません。
そのための1つの手段として、式を使う方法があります。次の例では、Eval Expr()関数がExpr()関数で使われている各変数を評価し、それぞれの値に置き換えます。外側のEval()関数は、置換が行われた後にステートメント全体を評価します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//仕様限界の値を割り当てる
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
Eval(
Eval Expr(
// 「仕様限界」列プロパティに限界値を設定する
:"身長(インチ)"n << Set Property("仕様限界",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) ),
Show Limits( 0 )}
)
)
);
「値の表示順序」列プロパティは、レポートに表示する水準値の順序を指定するものです。数値の順序や、カスタム順序、データテーブルに出てくる順序を指定することができます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// 文字データを含む列を、数値の順序で並べる場合、データが文字列部分と数値部分に分割される。
次の例では、数値の順序を無効にしている。列に文字データが含まれる場合は、このように指定したい
場合がある。16進数のデータ("A1FE2", "A13E4", "BEEEE")は、数値の順序を有効/無効の
どちらに設定するかで、並び順が違ってくる。
:年齢 << Set Property( "Value Order", {Numerical Order( 0 )} );
// 「年齢」列のカスタム順序を指定
:年齢 << Set Property( "Value Order", {Custom Order( {15, 17, 12, 13, 14, 16} )} );
// "ELIZABETH"を先頭にして、それ以外をアルファベット順で並べる
:名前 << Set Property( "Value Order", {Custom Order( {"ELIZABETH"} )} )
//あらかじめ定義されている順序を使用する(曜日順など)。
// 項目はそれに従って並べられる。このオプションは、文字データにのみ指定できる。
:年齢 << Set Property( "Value Order", {Common Order( 1 )} )
// 列を値のコード順で並べるのではなく、
// データテーブルの中でそれら各データ値が出てくる順序に並べる
:名前 << Set Property( "Value Order", {Row Order Levels( 1 )} );
「値の表示順序」プロパティを設定するときは、このプロパティ全体を設定してください。たとえば、データの出現順を指定しても、データがCommon Order(一般的な順序・曜日順など)にマッチした場合は、Common Orderが優先されます。この場合、プロパティ設定時にCommon Order(0)も含める必要があります。別途Set Propertyメッセージで一般的な順序を解除すると、データの出現順も解除されてしまいます。
Table 9.4に、よく使用される列プロパティを設定する例と取得する例を示します。各種プロパティの詳細は、『JMPの使用法』のJMPの列プロパティの設定を参照してください。
プロパティ |
説明 |
引数の使用例 |
---|---|---|
Notes(ノート) |
列についての注記を保存する。引用符で囲んだ文字列。 |
col<<Set Property( "Notes", "Fisherのアヤメのデータから抽出" );
col<<Get Property( "Notes" ); |
List Check Range Check |
列に入力できる値を指定する。 |
col<<Set Property( List Check,{"F","M"} );
col<<Set Property( "Range Check",LTLT(0, 120) );
col<<Get Property( "List Check" );
col<<Delete Property( "Range Check" ); |
Missing Value Codes |
欠測値として扱う列の値を指定する。 |
col<<Set Property( "Missing Value Codes", {0, 1} ); |
Value Labels |
値の代わりに表示するラベルを指定する。 |
col<<Value Labels( {0 = "Male", 1 = "Female"} ); ラベルのオンとオフは、ブール値を使って切り替えます。 col<<Use Value Labels( 1 );. |
Value Order |
レポートに表示するデータの順序を指定する。 |
col<<Set Property( "Value Order", {"Spring", "Summer", "Fall", "Winter"} ); |
Value Colors(値の色)およびColor Gradient(カラーグラデーション) |
カテゴリカルデータまたは連続尺度のデータに色を設定する。 |
各値にJMPの色番号を割り当てることで色を指定する。 col<<Set Property( "Value Colors", {"Female" = 3, "Male" = 5} ); カラーテーマを指定するには: col<<Set Property( "Value Colors", Color Theme( "White to Blue" ) ); カラーテーマを指定しなかった場合、カラーテーマの環境設定が使用されます。 カラーグラデーション、グラデーションの範囲および中間点を指定する。 col<<Set Property( "Color Gradient", {"White to Blue", Range( {18, 60, 25} )} ); |
Axis(軸) |
ほとんどのプラットフォームで、グラフ軸の構築に使われる。ブール値を使うのが普通。 |
col<<Set Property( "Axis",{Min(50), Max(180), Inc(0), Minor Ticks(10), Show Major Ticks(1), Show Minor Ticks(1), Show Major Grid(0), Show Labels(1), Scale(Linear)} ); |
Units(単位) |
カスタムで使われる。計測単位を指定する。 |
col<<Set Property( "units", "grams" );
col<<Get Property( "units" ); |
Coding |
実験計画(DOE)とあてはめに使われる。下限値と上限値のリスト。 |
col<<Set Property( "Coding", {59,172} );
col<<Get Property( "Coding" ); |
Mixture |
DOE、あてはめ、およびプロファイルに使われる。リストの形で「配合」列プロパティを指定する。 |
col<<Set Property( "Mixture", {0.2, 0.8, 1, L PseudoComponent Coding} );
col<<Get Property( "Mixture" ); |
Row Order Levels |
水準を、値の順にではなくデータ内での出現順に並べるよう指定する。 |
col<<Set Property( "Row Order Levels", 1 ); |
Spec Limits |
工程能力分析と変動性図に使われる。 |
col<<Set Property( "Spec Limits", {LSL(-1), USL(1), Target(0)} );
col<<Get Property( "Spec Limits" ); |
Control Limits |
管理図に使われる。 |
col<<Set Property( "Control Limits", {XBar(Avg(44), LCL(29), UCL(69))} );
col<<Get Property( "Control Limits" ); |
Detection Limits |
DOEで指定し、一般化回帰で使われる。 |
col<<Set Property( "Detection Limits", {10, 50} ); |
Response Limits(応答変数の限界) |
DOEで指定し、満足度関数で使われる。 |
col<<Set Property( "Response Limits", {Goal("Match Target"), Lower(1,1), Middle(2,2), Upper(3,3)} );
col<<Get Property("Response Limits"); Goal(目標)に指定できるのは、Maximize、Match Target、Minimize、Noneです。他の引数は、数値引数と満足度の引数をとります。 |
Design Role |
DOEに使われる。役割を1つ指定する。 |
col<<Set Property( "Design Role", "Covariate" );
col<<Get Property( "Design Role" ); 指定できる役割は、Continuous、Discrete Numeric、Categorical、Blocking、Covariate、Mixture、Constant、Uncontrolled、Random Block、Signal、Noiseです。 |
Factor Changes |
因子変更の困難さ(Easy、Hard、Very Hard)を設定する。 |
col<<Set Property( "Factor Changes", Hard) ;
col<<Get Property( "Factor Changes" ); |
Sigma |
管理図に使われる。既知の標準偏差値を指定する。 |
col<<Set Property( "Sigma",1.332 );
col<<Get Property( "Sigma" ); 管理図の種類によってsigmaの計算方法が異なります。 |
Distribution(分布) |
列にあてはめる分布の種類を設定する。 |
col<<Set Property( "Distribution", Distribution( GLog ) );
col<<Get Property( "Distribution" ); |
Time Frequency |
時間の単位の種類を設定する。 |
col<<Set Property( "Time Frequency", Time Frequency( "Annual" ) );
col<<Get Property( "Time Frequency" ); |
Map Role |
地図シェープデータと名前データを接続するための列の使用方法を設定する。役割と、必要に応じてその他の情報を指定する。 |
col<<Set Property( "Map Role", Map Role( Shape Name Use( "filepath to data table", "column name" ) ) );
col<<Get Property( "Map Role" ); |
Supercategories(上位カテゴリ) |
特定のカテゴリを1つのカテゴリにまとめる。「カテゴリカル」プラットフォームでのみ使用できる。 |
col<<Set Property( "Supercategories", {Group( "Genders", {"F", "M"} )} );
col<<Get Property( "Supercategories" ); |
Multiple Response |
セル内の応答を区切る文字を指定する。 |
col<<Set Property( "Multiple Response", Multiple Response( Separator( "." ) ) );
col<<Get Property( "Multiple Response" ) ); メモ: 値がカンマで区切られている場合は、「多重応答」尺度を割り当てることをおすすめします。そうすると、列の属性で区切り文字を指定する必要がありません。『JMPの使用法』の多重応答を参照してください。 |
Profit Matrix |
意思決定モデルを定義する重みを割り当てる。 重みを行列の形で、また、カテゴリを別のリストとして含むリストを指定する。行列の各行には、行列の列で指示されたカテゴリを予測したときの利益または重みが含まれる。 注意: 引数の行列は、「列プロパティ」ウィンドウに表示される利益行列の転置。 |
col<<Set Property( "Profit Matrix", {[5 -1, -1 4, -2 -2], {"F", "M", "その他"}} );
col<<Get Property( "Profit Matrix" ); |
Expression Role(式の役割) |
式を含む列に適用される。式をピクチャー、行列、式のいずれとして解釈するかを指定する。 |
col<<Set Property( "Expression Role", Expression Role( "Picture", MaxSize( 640, 480 ), StretchToMaxSize( 1 ), PreserveAspectRatio( 1 ), Frame( 0 ) ) |
[カスタムプロパティ] |
カスタムで使われる。列情報ウィンドウ内の[列プロパティ]>[その他]に対応する。 第1引数はカスタムプロパティの名前で、第2引数は式。 |
col<<Set Property( "記録日",12Dec1999 );
long date( col<<Get Property( "記録日") ); |