每个 JMP 平台都会生成一个独特的显示,但报表布局中有共同的特征和共同的对象。 JMP 报告中最熟悉的特征是大纲框。 大多数 JMP 用户可能已经编辑了大纲框标题或切换按钮以显示或隐藏属于该大纲框的图形和分析。
下一步是学习这些用户界面任务的 JSL 等效项,例如更改大纲框标题或切换显示图标 ◢。
编辑报表层需要两种特定技能。 一种是使用适用于目标显示功能的有效 JSL 消息和语法。 另一个是找到要更改的功能的地址。 我们称之为最后的技能导航。
显示树结构
导航几乎总是从地图开始。 运行以下脚本以生成报告。 然后,右键单击披露图标◢位于标题为“按性别对身高进行单向分析”的大纲框左侧。选择编辑 ► 显示树结构. (见图 6.5。)
bigclass_dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
bigclass_ht_onew = bigclass_dt << Oneway(
Y( :height ), X( :sex ), Ignore Platform Preferences( 1 ),
Box Plots( 1 ), Means and Std Dev( 1 ), X Axis Proportional( 0 ),
Mean Error Bars( 0 ), Std Dev Lines( 0 )
);
图 6.5 编辑菜单 - 显示树结构:(L) 整个报告 (R) Y 轴


树结构显示在新窗口中。 它是大纲框的嵌套分层列表(是的,列表),其中每个大纲框代表报告中使用的 JMP 显示框。 因为选择了最顶部的显示按钮,所以显示了整个报告的树结构。 您需要向下滚动才能查看完整的树结构。 图 6.6 (L) 显示了右击顶部显示按钮后的树状结构,选择关闭所有下方,然后有选择地打开几个项目。
图 6.6 树结构:突出显示 FrameBox(1) 的链接报表
排列树形结构窗口和单向报告。 将鼠标悬停在显示按钮上框架盒(1)并查看单向报告中突出显示的相应显示。 参见图 6.6 (R)。 注意清单如果框()树中的项目。 将鼠标悬停在每个显示图标上。 如果框(1)包含显示图形部分的轮廓。 如果框(4)对应于均值和标准偏差桌子。 这如果框容器根据对象选项显示或隐藏其内容:如果指定了布尔选项,则显示;如果没有,隐藏。
报告窗口中的每个披露图标都具有相同的用户界面。 这使用户能够显示报告窗口较小部分的树结构。 图 6.5 (R) 显示右键单击 Y 轴等报表窗口功能会显示一个菜单 (编辑 ► 显示树结构) . 换句话说,树形结构可以请求的不仅仅是轮廓框。
关闭整个报告的树结构。 右键单击标题为“Means and Std Deviations”的大纲框左侧的显示按钮并创建树结构。 重复相同的步骤,但这次在选择时按住 SHIFT 键显示树结构. 请参见图 6.7。
图 6.7单因素分析均值和标准偏差树结构 - 交互式默认格式 (L) 经典格式 (R)
两种树结构格式都显示用于排列输出的对象。 每个对象的名称中都有单词“box”(例如,OutlineBox、TableBox、StringColBox 和 NumberColBox)。 对于这两种格式,对象的排列都是嵌套的层次结构。 交互式默认树结构 (L) 让人联想到大纲。 经典格式 (R) 让人想起组织 (org) 图。
默认树结构的交互式突出显示有助于将报告与其组件显示框匹配。 但是,它很长,并且在战略性选择的披露图标关闭之前很难辨别基本结构。 使用经典的格式树结构可以更容易地查看报表中对象的关系。 例如,NumberColBox(6) 与 TableBox(1) 的关系在这个组织结构图中是直接的,就像显示一样。
两种格式都提供信息。 有时我们两者都看。 对于任何一种格式,报告一部分的树结构都比整个报告的树结构更容易阅读。
引用报表层
对分析层的更改要求将有效消息发送到平台对象或该平台的引用对象。 对于当前示例,平台是 Oneway,它的句柄是变量引用bigclass_ht_onew .
//Message to the Analysis Layer
bigclass_ht_onew << Points Jittered(1);
同样,要更改显示对象,必须向报告层发送有效消息。 将变量引用分配给报表层的两种方法如下:
//These two lines assign a variable name to the report,
//either syntax is acceptable
rpt_bc_ht_onew = Report( bigclass_ht_onew );
rpt_bc_ht_onew = bigclass_ht_onew << Report;
要更改显示功能,必须将有效消息发送到显示对象的地址。 这报告消息(或函数)返回目标显示对象的地址。 对于前面的两个例子, rpt_bc_ht_onew存储 Oneway 分析显示的地址,即 Oneway 报表层。 查看图 6.5 (L) 中显示的大纲框消息。 使用报告地址、在树结构中看到的框的嵌套和地址,下一组语句应该是显而易见的:
bigclass_ht_onew << Bring Window to Front;
//line up this script and this window, run 1 line at a time
rpt_bc_ht_onew[OutlineBox(1)] << Close;
rpt_bc_ht_onew[OutlineBox(1)] << Open All Below;
rpt_bc_ht_onew[OutlineBox(1)] << Close(1);
rpt_bc_ht_onew[OutlineBox(1)] << Close(0);
每个显示对象 (大纲框,表格框, StringColBox ) 属于更广泛的分类,称为显示框。 名字大纲框(或者NumberColBox等)是对象的类名。 学习的一项关键技能是遍历树结构,本章的“导航报告”部分对此进行了讨论。
JMP 可以轻松找到大多数显示框对象的有效消息。 从 JMP 脚本索引中,选择展示盒 ►大纲框. 首先,注意与图 6.5 所示的菜单选项列表相同的消息。 查找消息关. 它的描述表明这个消息有一个布尔参数。 查看示例脚本获取标题和设置标题,并运行以下 JSL 语句:
rpt_bc_ht_onew[OutlineBox(1)] << Set Title("Limit Mousing via JSL");恭喜! 您刚刚学习了 JSL 等效项来显示或隐藏,以及更改大纲框的标题。
在离开本节之前,我们提供了一项更有用的技能:使用消息选择和取消选择报告层部分的能力选择和取消选择. 这两条消息可用于每种类型的显示框,并可用于突出显示的一部分。 这里我们使用这两条消息来测试一个显示框的地址是否正确,然后再更改显示框。 这是一个片段6_ReportLayer.jsl通过脚本延迟查看选择过程:
rpt_bc_ht_onew[TableBox(1)] << Select;
wait(2);
rpt_bc_ht_onew[TableBox(1)] << Deselect;
rpt_bc_ht_onew[TableBox(1)][NumberColBox("Std Dev")] << Select;
wait(2);
rpt_bc_ht_onew[TableBox(1)][NumberColBox("Std Dev")] << Deselect;
最后一对选择和取消选择statements 是报表导航的预览,在“导航报表”部分中进行了描述。要选择的显示框的位置可以从报表顶部开始,然后向下移动到表格框(1) . 内表格框(1)下属,你会发现NumberColBox贴上标签标准开发.
为显示框对象生成报告和查找有效消息非常简单:使用脚本索引为了展示盒. 浏览一个简单的报告也很简单。 但是,还有更多需要学习,当报表更复杂或分析涉及许多 Y、X 和 By 列时,导航可能会变得很棘手。 下一节“显示框脚本”推荐了一个阅读列表来处理显示框及其消息的长列表。
这个博客的内容是从我们的书中摘录的, JSL Companion:JMP® 脚本语言的应用,第二版,您将在其中找到更多使用 JMP 脚本语言的技术和示例。