公開日: 04/01/2021

行の属性関数

データテーブルの行には、選択・表示・除外・ラベル・色・マーカーといった6つの属性があります。列のデータタイプに「行の属性」を指定し、これらの属性を戻り値とする計算式を作成することができます(列プロパティおよび行の属性列を参照してください)。この計算式では、行の属性を、文字や数値のデータと同様に扱います。

構文の詳細については、『スクリプト構文リファレンス』の行の属性関数を参照してください。

注: 1つの行に対して、複数の属性を割り当てることができます。「行の属性」の列でも、複数の属性を持つことができます。

表A.2に、それぞれの行の属性関数に必要な引数の種類と戻り値を示します。

表A.2 行の属性関数

関数名

必要な引数の種類

戻り値(列のデータタイプがこの値のタイプと一致している必要があります)

Row State

なし

現在行の、行の属性

As Row State

数値

現在行の、行の属性すべて

Combine States

複数の行の属性

複数の、行の属性

Excluded State

正の整数または0

行の属性-除外する/除外しない

Hidden State

正の整数または0

行の属性-表示しない/表示する

Labeled State

正の整数または0

行の属性-ラベルあり/ラベルなし

Color State

整数、色の名前、または{ r, g, b}

行の属性 色

Marker State

整数または文字

行の属性 マーカー

Selected State

正の整数または0

行の属性-選択されている/選択しない

Hue State

整数

行の属性 色相

Shade State

整数1~5

行の属性 色合い

Excluded

Row State()または行の属性列

整数0(除外しない)/1(除外する)

Hidden

Row State()または行の属性列

整数0(表示する)/1(表示しない)

Labeled

Row State()または行の属性列

整数0(ラベルなし)/1(ラベルあり)

Color Of

Row State()または行の属性列

カラーマップ 整数

Marker Of

Row State()または行の属性列

マーカーマップ 整数

Selected

Row State()または行の属性列

整数0(選択されていない)/1(選択されている)

Row State

現在行の、アクティブになっている行の属性を戻します。この関数を使うと、現在の行の状態によって処理を分岐させる条件節を書くことができます。たとえば、図A.15の式は、現在選択されていてラベルのついている行には1を割り当て、その他の行には0を割り当てます。

図A.15 Row State 

Image shown here

As Row State

数値の引数を、行の属性に変換します。1つの属性にも、複数の属性の組み合わせにも変換できます。図A.3に示すように、行の属性は、16ビットの2進数で内部的に保持されています。各ビットは、行の属性のいずれかの状態を表しています。たとえば、1327を2進数で表すと、0000010100101111です。As Row State(1327)は、行の属性を、「選択されている」、「除外されている」、「表示しない」、「ラベルあり」、「番号2のマーカーがついている」、そして、「番号10の色がついている」という状態に設定します。

表A.3 16ビットで保存される行の属性: 各ビットが行の属性の状態を表す

ビット

Row State

0

選択されていない(0)、選択されている(1)

1

除外されていない(0)、除外されている(1)

2

表示する(0)、表示しない(1)

3

ラベルなし(0)、ラベルあり(1)

4~7

マーカー

8~14

Combine States

複数の引数を使用して行の属性の組み合わせを生成します。Combine States関数に引数を追加するには、計算式エディタのキーパッドにある挿入ボタン(Image shown here)をクリックするか、またはカンマを入力します。Combine Statesを選んだとき、現在選択されている式が第1引数になります。各引数を行の属性を評価する式で置き換えてください。たとえば、

Combine States(
	Selected State( Modulo( Row(), 2 ) ),
	Labeled State( Modulo( Row() + 1, 2 ) ) );

という計算式は、ラベルや選択といった行の属性を各行に対して戻します。Selected State関数およびLabeled State関数については、この節の後半で説明しています。計算式エディタのキーパッドにある挿入ボタン(Image shown here)または削除ボタン(Image shown here)を使うと、引数を追加したり削除したりできます。

組み合わせの中に競合する属性がある場合、予測できない結果になります。

Excluded State

引数(数値)を真か偽かで解釈します。Excluded State関数は、引数を真と評価したとき、除外するという状態をその行の値として割り当てます。たとえば、Excluded State(Modulo(Row(),2))は、除外するという状態を奇数番号の各行に属性として割り当てます。

Hidden State

引数が0より大きい場合、非表示にするという属性の状態を設定します。引数が0の場合、その行は表示するという属性の状態に設定されます。

Labeled State

引数が0より大きい場合、ラベルありという属性の状態を設定します。引数が0の場合、その行はラベルなしという属性の状態に設定されます。

Color State

JMPカラーマップから、指定された整数の引数に対応する色を設定します。JMPカラーには0~84の番号が付いています。0は黒になります。

Marker State

JMPマーカーマップから、指定された整数の引数に対応するマーカーを設定します。JMPマーカーには0~16の番号が付いています。式Marker State(Row())は、行の属性列に、現在の行番号によって決められたマーカーを割り当てます。行の属性列には複数の属性を指定できます。

Selected State

引数が0より大きい場合、選択されているという属性の状態を設定します。引数が0の場合、その行は選択されていない状態が設定されます。

Hue State

整数の引数に対応するJMP色相マップの色を設定します。JMPの色相には0~11の番号が付いています。それより大きい整数は12で割った余りの数として扱われます。Hue State関数は黒、グレー、および白は設定しません。色相が0の場合は赤に設定し、11の場合はマゼンタに設定します。図A.16の計算式は、zの値に基づいて色相を割り当てます。Hue State関数は、行の属性列で使用されます。

図A.16 Hue State関数の例 

Image shown here

Shade State

色または色調に5つの色合い(暗い~明るい)のレベルを割り当てます。−2が最も暗く、+2が最も明るいレベルです。0は純粋な色合いです。図A.17の計算式は、zの値に基づいて色合いの値を割り当てます。

図A.17 Shade State関数の例 

Image shown here

カラーパレット内のすべての色のすべての色合いを割り当てるには、Hue StateShade Stateの両方を使う必要があります。図A.18の計算式は、この節の始めで説明したCombine States関数を使用しています。Combine States関数の第1引数は、先に説明したHue State計算式で、第2引数はShade State計算式です。さらに、引数が2のMarker State関数は、各行にXマーカーを割り当てます。また、引数が1のSelected State関数は各行を選択します。

図A.18 Hue StateとRow Stateの両方を使ったCombine Statesの例 

Image shown here

Excluded、Hidden、Labeled、Selected

これらの関数は、行の属性(行の属性列または行の属性定数)を引数にとり、1または0(真または偽)を戻します。明示的に各行の属性を引数として指定したい場合は、RowState()関数を使用します。たとえば、図A.19の計算式は、行が選択されているときは99、選択されていないときは0を割り当てます。この計算式は、データタイプが数値の列で使用されます。

図A.19 Selected関数を使った計算式の例 

Image shown here

図A.20の例では、行の属性列に行の属性の状態を割り当てます。「x」という行の属性列の計算式は、アクティブな行の属性がHiddenまたはExcludedであるかどうかをチェックし、どちらかが設定されている場合、Labeledの行の属性を割り当てます。

図A.20 行の属性列で行の属性情報を計算する 

Image shown here

Color Of

すべての行の属性の式または列、またはRow State()関数を引数にとります。そして、アクティブな色に対応するJMPカラーマップの番号、または、何も色が割り当てられていない場合は0を戻します。

Marker Of

すべての行の属性の式または列、またはRow State()関数を引数にとります。そして、アクティブなマーカーに対応するJMPマーカーマップの番号、または、何もマーカーが割り当てられていない場合は0を戻します。

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