JMP 16的列切换器中的新功能列切换器使您可以快速分析不同的变量,而不必重新创建分析。 JMP 16包括对列切换器的几项可用性和功能改进。 以下是一些要点。
改进的启动器对话框
现在,有一个用于配置列切换器的对话框。 该对话框包括两个列表。

顶部列表包含平台中可用于切换的列。 一次只能选择此列表中的一列。 这称为初始列。
底部列表包含数据表中的列,可以将其切换到平台中。 这些是替换列,此列表支持多个选择。 底部列表是动态的,因为内容可能会根据所选的初始列而变化。 这两个列表都支持红色三角菜单下的各种过滤和排序操作。
在“选项”概述下,还有其他选项可用。 标题允许您为列切换器周围的轮廓设置标题。 通过选中“关闭轮廓”复选框,也可以在关闭位置启动列切换器。
列切换器的改进
如果在创建列切换器时忘记了列,或者在创建列切换器后将新列添加到数据表中,则现在可以在创建后从列切换器列表中添加(或删除)列。 在“列切换器”列表旁边有“添加”(+)和“删除”(-)按钮,它们会启动单独的对话框来操作列列表。 添加对话框将仅允许适用于当前平台和切换列的新列。
动画循环
动画控件中下面显示了一个新按钮,用于控制动画是连续循环在可用替换列上还是在到达列表底部时停止。 默认情况下,启用循环。 但是,切换按钮将禁用循环。 如果您正在录制动画,并且只想捕获列中的一个通道,这将很有用。

保持轴设置
默认情况下,大多数平台在切换列时都会重置轴。 如果轴上的数据在各列之间显着不同,并且您想查看每一列的数据的完整范围,则这是有道理的。 但是,有时您希望保留轴范围(以及可能的其他选项,例如参考线),以便可以在同一上下文中比较列。红色三角形菜单下有一个名为“保留轴设置”的新设置。 这是离开默认情况下。 如果打开并且对轴进行了一些自定义,例如设置比例或添加参考线,则在列之间切换时那些设置将不会丢失。
这是一个在列切换器运行时锁定轴范围和参考线的示例。 这使用户可以查看数据如何随时间变化而不会丢失y轴上的上下文。
将多个平台链接到同一列切换器
这是一项更高级的功能,目前仅通过JSL和Dashboard Builder支持。 它允许单个列切换器控制多个平台。 由于所有平台都必须包含相同的初始切换列,并且必须支持替换列的列表,因此这会带来一些复杂性。
将平台链接到现有的列切换器的过程相对容易。 您只需要引用列切换器和引用平台,然后使用“链接平台”命令即可。 尽管平台通常更容易跟踪交互,但它们不必位于同一窗口中。
在单独的Windows中链接两个平台的示例:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a distribution platform
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only
);
// Add a column switcher to the distribution
cs = dist << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
);
// Create a Fit Y by X platform
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) );
// Link the platform to the column switcher
cs << Link Platform(biv);
将平台组合到单个窗口中的示例:
// Open the data table
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a new window to hold the platforms and column switcher
New Window( "Multiple Platforms with one Column Switcher",
H List Box(
V List Box (
dist = dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Always use column properties( 1 ),
Process Capability( 0 )
),
Histograms Only),
biv = Bivariate( Y( :Process 1 ), X( :Process 2 ) )
),
cs = dt << Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7} )
)
);
cs << Link Platform( dist );
cs << Link Platform( biv );
我在本文的仪表板上附加了一个链接的列切换器的示例。 本示例使用Samples目录中的Process Measurements.jmp数据文件。
优先
现在可以为列切换器设置首选项。 这些旨在简化创建新的列切换器的过程。
始终在替换列表中包括开关列
创建列切换器时的一个常见错误是忘记将初始切换列包括在替换列列表中。 结果,一旦您退出了初始配置,您将无法找回,因为该列不在列表中。 通过JMP 16中的改进,您可以使用“添加”按钮将初始列添加到列表中。 但是,这是额外的工作。 另外,如果您在替换列表中未包含switch列,则启动对话框现在会提示您,因此这种情况发生的可能性较小。 此首选项使它变得更加容易,因为即使您不包括初始列,它也会自动在替换列表中包含初始列,并且它不会在启动过程中提示您添加它。
切换时保留轴设置
此首选项将“保留轴设置”的默认值从OFF更改为ON。
循环运行动画
这将更改动画循环按钮的默认设置。
默认大纲标题
默认情况下,列切换器的大纲标题为“列切换器”。 可以在启动过程中的“选项”部分中更改此设置。 该首选项可用于为所有新切换台更改它。
这些是列切换器中新功能的一些亮点。 还进行了许多错误修复和其他改进。
快速浏览JMP 16的列切换器中的一些新功能。
回复:JMP 16 列切换器中的新功能我完全无法使用仪表板构建器使列切换器正常工作。有什么指导吗?
回复:JMP 16 列切换器中的新功能谢谢@danschikore ,这有帮助 - 现在让它运行。
回复:JMP 16 列切换器中的新功能你好@David_Burnham - JMP 文档库中的“预览仪表板”下有一些提示 - 在该位置可能很容易错过。
要知道的重要事情是:
- 当您最初将切换器添加到仪表板时,它会显示所有列并默认选择第一列。在 Dashboard Builder 中进行编辑期间,它实际上并未连接到任何平台。
- 要设置初始列并删除不需要的列,请切换到预览模式以使用列切换器的 +/- 界面
- 当您运行 Dashboard 时,切换器将自动连接窗口中属于同一数据表的所有平台。这类似于仪表板中的数据过滤器功能。
如果这能解决问题,请告诉我!
-担
回复:JMP 16 列切换器中的新功能我无法让列切换器在使用不同表的应用程序中工作。每个表都有不同的列名,如果我成功地为一个表创建了一个切换器,当我在不同的表上运行应用程序时,我会收到一个错误(“找不到切换列。”)。我想对每个表运行相同的分析。我该怎么办?
回复:JMP 16 列切换器中的新功能你好@dspa - 您是使用 JSL 还是应用程序构建器开发应用程序?创建适用于不同数据表的 JSL 应用程序通常是通过创建变量来表示发生变化的列,或者通过在执行表达式之前操作表达式来替换变量名来代替占位符来完成的。这对于平台以及数据过滤器或列切换器等都是必要的。
在下面的脚本中,我使用了第一种方法,创建了一个函数来启动一个带有列切换器的平台。然后我使用来自两个不同数据表的输入调用该函数。
Names Default To Here( 1 );
// create function to implement report
createReport = Function({dt, yvar, xvar, xoptionlist}, {Default Local},
obj = dt << Contingency( Y( yvar), X( xvar ) );
ColumnSwitcherObject = obj << Column Switcher(
xvar,
xoptionlist
)
);
// call the function using columns from different data tables
dt1 = Open( "$SAMPLE_DATA/Car Poll.jmp" );
createReport(dt1, Column(dt1, "size"), Column(dt1, "marital status"),
EvalList({Column(dt1, "sex"), Column(dt1, "country"), Column(dt1, "marital status")}));
dt2 = Open( "$SAMPLE_DATA/Cereal.jmp" );
createReport(dt2, Column(dt2, "Fiber Gr"), Column(dt2, "Manufacturer"),
EvalList({Column(dt2, "Manufacturer"), Column(dt2, "Hot/Cold")}));
有关表达式操作的示例,请参阅有关使用 Eval Insert、Eval Expr、Parse 和 Substitute 将一个表达式插入到另一个表达式中。
回复:JMP 16 的列切换器中的新功能我正在使用 Application Builder,所以我不确定如何实现您所描述的技术。
我让用户选择分配给 yVar 的分析变量。我尝试了下面的代码将我的列切换器更改为 yVar,但它不起作用。
// This special function will receive parameters passed to CreateInstance()
OnModuleLoad({list},
yVar = Column(list[1]);
ColumnSwitcher1 << Set Current(yVar);
);回复:JMP 16 的列切换器中的新功能我正在尝试使用 Column Switcher 为流程能力个人详细信息报告设置动画。当您第一次选择要检查的尺寸时,您似乎必须链接所有规格限制表。如果您尝试切换维度以设置自动化,则会发生两件事。已选择的元素不可选择以进行动画处理,并且您尝试选择的任何新元素都带有不正确的规格限制从您切换的元素复制而来。
如何使用切换器为 Process 功能设置动画?
谢谢您的帮助
JMP16
回复:JMP 16 的列切换器中的新功能你好@CWBourneJr - 不幸的是,由于您提到的列规范的复杂性,Process Capability 平台在交互式菜单中明确禁用了列切换器。我假设您必须能够使用 JSL 来激活平台上的列切换器 - 我会对此进行调查,并且在这种情况下我们将努力提供错误消息。
幸好我的同事@Laura_Lancaster有人建议您可以使用分发平台及其可用的流程能力选项来执行您需要的操作。这是一个使用示例数据的示例:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
dt << Distribution(
Continuous Distribution(
Column( :Process 1 ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Always use column properties( 1 ),
Histogram( 0 ),
Outlier Box Plot( 0 ),
Process Capability( Use Column Property Specs )
),
Column Switcher(
:Process 1,
{:Process 1, :Process 2, :Process 3, :Process 4, :Process 5, :Process 6,
:Process 7}
)
);
希望有帮助!
-担