データテーブルの行には、選択・表示・除外・ラベル・色・マーカーといった6つの属性があります。列のデータタイプに「行の属性」を指定し、これらの属性を戻り値とする計算式を作成することができます(列プロパティおよび行の属性列を参照してください)。この計算式では、行の属性を、文字や数値のデータと同様に扱います。
構文の詳細については、『スクリプト構文リファレンス』の行の属性関数を参照してください。
注: 1つの行に対して、複数の属性を割り当てることができます。「行の属性」の列でも、複数の属性を持つことができます。
表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(選択されている) |
現在行の、アクティブになっている行の属性を戻します。この関数を使うと、現在の行の状態によって処理を分岐させる条件節を書くことができます。たとえば、図A.15の式は、現在選択されていてラベルのついている行には1を割り当て、その他の行には0を割り当てます。
図A.15 Row State
数値の引数を、行の属性に変換します。1つの属性にも、複数の属性の組み合わせにも変換できます。図A.3に示すように、行の属性は、16ビットの2進数で内部的に保持されています。各ビットは、行の属性のいずれかの状態を表しています。たとえば、1327を2進数で表すと、0000010100101111です。As Row State(1327)は、行の属性を、「選択されている」、「除外されている」、「表示しない」、「ラベルあり」、「番号2のマーカーがついている」、そして、「番号10の色がついている」という状態に設定します。
ビット | Row State |
---|---|
0 | 選択されていない(0)、選択されている(1) |
1 | 除外されていない(0)、除外されている(1) |
2 | 表示する(0)、表示しない(1) |
3 | ラベルなし(0)、ラベルあり(1) |
4~7 | マーカー |
8~14 | 色 |
複数の引数を使用して行の属性の組み合わせを生成します。Combine States関数に引数を追加するには、計算式エディタのキーパッドにある挿入ボタン()をクリックするか、またはカンマを入力します。Combine Statesを選んだとき、現在選択されている式が第1引数になります。各引数を行の属性を評価する式で置き換えてください。たとえば、
Combine States(
Selected State( Modulo( Row(), 2 ) ),
Labeled State( Modulo( Row() + 1, 2 ) ) );
という計算式は、ラベルや選択といった行の属性を各行に対して戻します。Selected State関数およびLabeled State関数については、この節の後半で説明しています。計算式エディタのキーパッドにある挿入ボタン()または削除ボタン()を使うと、引数を追加したり削除したりできます。
組み合わせの中に競合する属性がある場合、予測できない結果になります。
引数(数値)を真か偽かで解釈します。Excluded State関数は、引数を真と評価したとき、除外するという状態をその行の値として割り当てます。たとえば、Excluded State(Modulo(Row(),2))は、除外するという状態を奇数番号の各行に属性として割り当てます。
引数が0より大きい場合、非表示にするという属性の状態を設定します。引数が0の場合、その行は表示するという属性の状態に設定されます。
引数が0より大きい場合、ラベルありという属性の状態を設定します。引数が0の場合、その行はラベルなしという属性の状態に設定されます。
JMPカラーマップから、指定された整数の引数に対応する色を設定します。JMPカラーには0~84の番号が付いています。0は黒になります。
JMPマーカーマップから、指定された整数の引数に対応するマーカーを設定します。JMPマーカーには0~16の番号が付いています。式Marker State(Row())は、行の属性列に、現在の行番号によって決められたマーカーを割り当てます。行の属性列には複数の属性を指定できます。
引数が0より大きい場合、選択されているという属性の状態を設定します。引数が0の場合、その行は選択されていない状態が設定されます。
整数の引数に対応するJMP色相マップの色を設定します。JMPの色相には0~11の番号が付いています。それより大きい整数は12で割った余りの数として扱われます。Hue State関数は黒、グレー、および白は設定しません。色相が0の場合は赤に設定し、11の場合はマゼンタに設定します。図A.16の計算式は、zの値に基づいて色相を割り当てます。Hue State関数は、行の属性列で使用されます。
図A.16 Hue State関数の例
色または色調に5つの色合い(暗い~明るい)のレベルを割り当てます。−2が最も暗く、+2が最も明るいレベルです。0は純粋な色合いです。図A.17の計算式は、zの値に基づいて色合いの値を割り当てます。
図A.17 Shade State関数の例
カラーパレット内のすべての色のすべての色合いを割り当てるには、Hue StateとShade 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の例
これらの関数は、行の属性(行の属性列または行の属性定数)を引数にとり、1または0(真または偽)を戻します。明示的に各行の属性を引数として指定したい場合は、RowState()関数を使用します。たとえば、図A.19の計算式は、行が選択されているときは99、選択されていないときは0を割り当てます。この計算式は、データタイプが数値の列で使用されます。
図A.19 Selected関数を使った計算式の例
図A.20の例では、行の属性列に行の属性の状態を割り当てます。「x」という行の属性列の計算式は、アクティブな行の属性がHiddenまたはExcludedであるかどうかをチェックし、どちらかが設定されている場合、Labeledの行の属性を割り当てます。
図A.20 行の属性列で行の属性情報を計算する
すべての行の属性の式または列、またはRow State()関数を引数にとります。そして、アクティブな色に対応するJMPカラーマップの番号、または、何も色が割り当てられていない場合は0を戻します。
すべての行の属性の式または列、またはRow State()関数を引数にとります。そして、アクティブなマーカーに対応するJMPマーカーマップの番号、または、何もマーカーが割り当てられていない場合は0を戻します。