发布日期: 09/15/2026

变换作用域

在“图形生成器”中,变换作用域功能支持您控制变换列如何与平台上下文(例如本地数据过滤器)对应,从而使变换操作能够看到与平台相同的行。该作用域功能只能应用于依赖于多行的变换列,例如变换菜单的“聚合”、“分布”和“行”组中的列。

要在生成变换列之前应用作用域,请右击列名并选择默认作用域。要对现有变换列应用不同的作用域,请选择更改作用域。

作用域选项:

表

所有行

排除

具有相同的“已排除”行状态的所有行

过滤

具有相同的本地数据过滤器状态(和“排除”)的所有行。默认作用域。

图形

具有相同分组值(以及“过滤”和“排除”)的所有行

叠加

具有相同叠加值(以及“图形”、“过滤”和“排除”)的所有行

X

具有相同 X 值(以及“叠加”、“图形”、“过滤”和“排除”)的所有行

编写变换作用域的脚本

除“表”之外的其他作用域对应于隐式变换变量。这些变量以“@”开头,可以在“公式编辑器”和保存的平台脚本中看到。

您可以使用这些“@”变量编写“图形生成器”的脚本。例如,使用 @X 变量作为计算的一部分,或者跳过一些作用域级别(例如,使用“图形”和“X”而无需“叠加”(通常位于这两者之间))。

以下 JSL 脚本会计算“体重”除以平均体重的结果,并使用局部数据过滤器仅显示两个物种:

Open( "$SAMPLE_DATA/Penguins.jmp" );
Graph Builder(
     Transform Column( "relative mass", Formula( :Body Mass / :"Mean[Body Mass]"n ) ),
     Transform Column(
           "Mean[Body Mass]",
           Formula( Col Mean( :Body Mass, :"@Exclude"n, :"@Filter"n ) )
     ),
     Variables( X( :Species ), Y( :relative mass ), Group X( :Sex ) ),
     Elements( Points( X, Y, Legend( 13 ) ) ),
     Local Data Filter(
           Add Filter(
                columns( :Species ),
                Where(
                     :Species == {"Adelie Penguin (Pygoscelis adeliae)",
                     "Chinstrap penguin (Pygoscelis antarctica)"}
                ),
                Display( :Species, N Items( 3 ), "List Display" )
           )
     ),
     SendToReport(
           Dispatch( {}, "relative mass", ScaleBox,
                {Min( 0.5 ), Max( 1.4 ), Inc( 0.2 ),
                Minor Ticks( 0 ), Add Ref Line( 1, "Solid", "Black", "", 1 )}
           )
     )
);

生成的图形显示了未过滤掉的行的平均体重。要更改作用域以使用表中所有行,请右击 Mean[Body Mass] 列并选择更改作用域 > 表。

图 4.45 更改作用域 

Change Scope

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