使用 JMP > 公式函数参考 > 行状态函数
发布日期: 04/13/2021

行状态函数

数据表中的行可以有六个特征:已选定、已隐藏、已排除、已添加标签、已着色和已添加标记。若您为行指定其中的一个或多个特征,然后创建行状态数据表列,可以接着创建计算并保存行状态条件的公式。(请参见列属性行状态列。)该公式像处理字符和数值数据一样来处理行状态数据。

有关语法的详细信息,请参见《JSL Syntax Reference》中的Row State Functions

注意:可以为行分配行状态的任意组合;行状态列可以具有多个行状态作为值。

Table A.2 介绍了每个行状态函数所需的参数类型以及返回的值类型。

表 A.2 行状态函数 

函数名称

所需的参数类型

函数返回的值类型(您的列数据类型应为该类型)

Row State

当前行的行状态

As Row State

数值

当前行的所有行状态

Combine States

多个行状态参数

多个行状态赋值

Excluded State

正整数或零

行状态:已排除或未排除

Hidden State

正整数或零

行状态:已隐藏或未隐藏

Labeled State

正整数或零

行状态:已添加标签或未添加标签

Color State

整数、颜色名称或 {red, green, blue}

行状态颜色

Marker State

整数或字符

行状态标记

Selected State

正整数或零

行状态:已选定或未选定

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

将当前行的活动行状态条件返回为真或假。您可以使用该函数方便地编写依赖当前行的状态的条件子句。例如,Figure A.15 将 1 赋给当前已选定且已添加标签的行,将 0 赋给其他行。

图 A.15 Row State 

Image shown here

As Row State

将数值参数转换为行状态或行状态条件的集合。行状态在 JMP 内部作为 16 位数字储存,分配的每位数表示Figure A.3中所示的可能行状态之一。例如,1327 的二进制表示为 0000010100101111
As Row State(1327) 因此将行状态设置为“已选定”、“已排除”、“已隐藏”和“已添加标签”,并具有标记 2 和颜色 10。

表 A.3 作为 16 位数储存的行状态:每位数表示一个行状态 

行状态

0

未选定 (0) 或已选定 (1)

1

未排除 (0) 或已排除 (1)

2

未隐藏 (0) 或已隐藏 (1)

3

未添加标签 (0) 或已添加标签 (1)

4-7

标记

8-14

颜色

Combine States

使用两个或多个参数生成行状态组合。使用“公式编辑器”小键盘上的插入按钮 (Image shown here) 或键入逗号可以将参数添加到 Combine States 函数。当您选择 Combine States 时,当前所选的表达式成为第一个参数。使用求值结果为行状态的表达式替换每个参数。该公式:

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

交替地为计算的行状态列中的每行添加标签或选定它们。Selected StateLabeled State 函数的定义将在本节的后面介绍。使用“公式编辑器”小键盘上的插入 (Image shown here) 和 删除 (Image shown here) 按钮可以添加更多参数或删除不想要的参数。

若在组合中包括冲突的行状态,结果将无法预测。

Excluded State

将数值参数解释为真或假。参数求值结果为真时,Excluded State 函数分配已排除条件作为该行的列值。例如,Excluded State(Modulo(Row(),2)) 分配已排除行状态作为每个奇数编号行的行状态列值。

Hidden State

参数大于零时分配已隐藏行状态条件。若参数为零,则不隐藏该行对应列中的值。

Labeled State

参数大于零时指定已添加标签行状态条件。若参数为零,则该行对应列中的行值不添加标签。

Color State

返回 JMP 颜色映射中与整数参数对应的颜色。JMP 颜色用数字 0-84 表示。0 映射为黑色。

Marker State

返回 JMP 标记映射中与整数参数对应的标记。JMP 标记用数字 0-16 表示。公式 Marker State(Row()) 将当前行号确定的重复序列中的所有行状态标记分配给计算的行状态列。行状态列可以有多个行状态作为值。

Selected State

参数大于零时指定已选定行状态条件。若参数为零,则该行对应列中的值未选定。

Hue State

返回 JMP 色调映射中与整数参数对应的颜色。JMP 色调用数字 0-11 表示,但是将较大的整数视为模数 12。Hue State 函数不映射为黑色、灰色或白色。值为 0 的色调映射为红色,值为 11 的色调映射为品红色。Figure A.16 中公式基于 z 的值分配颜色扩散中的行状态颜色。Hue State 函数用于行状态数据类型列。

图 A.16 Hue State 函数的示例 

Image shown here

Shade State

将 5 个阴影级别分配给颜色或色调。值为 –2 的阴影最深,值为 +2 的阴影最浅。值为 0 的阴影为纯色。Figure A.17 中的公式基于 z 的值分配阴影值。

图 A.17 Shade State 函数的示例 

Image shown here

要分配调色板中的所有颜色的所有阴影,您需要一起使用 Hue StateShade State 指定分配。Figure A.18 中的公式使用本节开头所述的 Combine States 函数。Combine States 函数中的第一个参数为以前所示的 Hue State 公式,第二个参数为 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(真或假)的行状态表达式参数(行状态列或行状态常数)。这些特征默认为不活动。通常,Row() 函数为参数,它检测每行的活动行状态条件。例如,在Figure A.19 中,只要有一行当下被选定,该公式分配 99,否则分配 0。请注意该公式在具有数值数据类型的列中使用。

图 A.19 使用 Selected 函数的公式示例 

Image shown here

Figure A.20 中的示例将行状态条件分配给行状态列。行状态列的公式(在名为 x 的列中)检查以确定活动行状态是否为 HiddenExcluded,若是,则分配 Labeled 行状态。

图 A.20 在行状态列中计算行状态信息 

Image shown here

Color Of

接受任意行状态表达式、列或 Row State() 函数作为参数。返回 JMP 颜色映射中与活动颜色状态对应的数字,若未分配颜色,则返回 0。

Marker Of

接受任意行状态表达式、列或 Row State() 函数作为参数。返回 JMP 标记映射中与活动标记对应的数字,若未分配标记,则返回 0。

需要更多信息?有问题?从 JMP 用户社区得到解答 (community.jmp.com).