每個 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 軸)會顯示一個菜單(編輯 ► 顯示樹結構) 。 換句話說,樹結構可以被請求為不僅僅是輪廓框。
關閉整個報表的樹結構。 右鍵單擊標題為“平均值和標準差”的大綱框左側的顯示按鈕,然後創建樹結構。 重複相同的步驟,但這次按住 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 Analysis 顯示(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);
每個顯示對象(大綱框,表格框,字符串列框)屬於一個更廣泛的分類,稱為展示盒。 名字大綱框(或者數字列框等)是對象的類名。 需要學習的一項關鍵技能是遍歷樹結構,本章“導航報表”部分對此進行了討論。
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)下屬,你會發現數字列框貼上標籤標準差。
生成報告並查找顯示框對象的有效消息非常簡單:使用腳本索引為了展示盒。 瀏覽簡單的報告也很簡單。 但是,還有更多東西需要學習,並且當報告更複雜或分析涉及許多 Y、X 和 By 列時,導航可能會變得很棘手。 下一節“顯示框腳本”推薦了一個閱讀列表來處理一長串的顯示框及其消息。
該博客的內容是從我們的書中摘錄而來的, JSL Companion:JMP® 腳本語言的應用,第二版,您可以在其中找到更多使用 JMP 腳本語言的技術和示例。