從報告中取得表格的問題大家好,
我試圖將報告中的 TableBox() 中的資訊提取到資料表中進行操作。 我已讀完http://www.jmp.com/support/help/Manipulated_Displays.shtml#196022並且有一些工作,但我有兩個問題:
var = rdist["Summary Statistics"][1][1][1][1];
回報
"mean"
所以我知道我可以識別對象並使用語法,但是
var = rdist["Summary Statistics"][1][TableBox(4)][1][1];
回報
Cannot subscript Display Box in access or evaluation of 'Subscript' , rdist["Summary Statistics"][1][/*###*/Table Box( 4 )]
In the following script, error marked by /*###*/
var = rdist["Summary Statistics"][1][/*###*/Table Box( 4 )][1][1]
也許我錯過了一些明顯的東西。 附上展示樹的圖片。 不知道為什麼它不接受語法。
真正的目標是獲得我想要使用的表是“摘要統計”錶框(4)。
所以當我嘗試時:
var = rdist["Summary Statistics"][1][1];
rdist << make data table();
我得到:
The display box 'OutlineBox' does not recognize the message 'make data table'; perhaps you mean one of these: <<Make RowState Handler <<Selectable <<Get Title <<Set Title <<Set Menu Item State <<Get Menu Item State <<Set Scriptable Object <<Get Scriptable Object <<Add Text Item <<Set Font Name <<Get Font Name <<Set Window Title <<Add Pin Annotation <<Save Capture <<Get Window Title <<Set Window Title <<SetNotStretchable.

回覆:從報告中取得表格的問題謝謝!
回覆:從報告中取得表格的問題那是一個好主意。
這並不那麼棘手。 您只需了解可以使用絕對或相對引用。 顯示樹圖很有幫助,但我們不建議使用絕對引用。 如果顯示樹的根和目標顯示框之間出現或消失某些內容,則該索引將會變更。 另一方面,相對引用幾乎永遠不會中斷。 因此,在您的範例中, sr["Tests Between Groups"][TableBox(1)] 是最直接、最可靠的參考。 第一個下標到達目標輪廓框,然後下一個下標(它們是嵌套的)獲得目標。 您確實不需要初始範例中的所有 [1] 下標。 事實上,由於我在本文開頭提到的原因,這使得參考變得脆弱。
回覆:從報告中取得表格的問題這樣可行。 感謝您的澄清!
我想說這有點棘手,因為JMP 腳本中的括號“TableBox(1)”中的TableBox 列出了不同的數字,這是OutlineBox 標記為“組間測試”之後的第一個TableBox,而不是“TableBox ( 4)”,這就是它在顯示樹中的顯示方式。
我希望在 JMP 中看到的一個功能是能夠將功能從顯示樹甚至報表拖曳到腳本視窗中,並使顯示樹引用出現在腳本編輯器中。
無論如何,我喜歡 JMP,並且 << make合併資料表() 命令是我的救星! 謝謝你寫它!
回覆:從報告中取得表格的問題顯示樹圖中顯示的索引是絕對參考。 [5]是絕對的。 稍後您將下標下標到單一本機錶框,因此現在是 [1]。
我建議使用最接近的唯一參考,例如大綱框“組之間的測試”,然後是 TableBox(1)。
回覆:從報告中取得表格的問題好吧,我意識到我向“make data table()”發送了錯誤的變數。 所以這樣很好。 但我不明白的是:
sr = surv << Report;
var = sr[1][1][1]["Tests Between Groups"][1];
var<< make data table();
用我想要的統計數據製作一個漂亮的數據表。 但....
var = sr[1][1][1]["Tests Between Groups"][TableBox(5)];
返回:
Cannot subscript Display Box in access or evaluation of 'Subscript' , sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
In the following script, error marked by /*###*/
var = sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
所以我想知道的是為什麼:
“var = sr[ 1 ][ 1 ][ 1 ][ 《組間測試》 ][表格框( 5 )];" -------- 與 -------- 不一樣" var = sr[ 1 ][ 1 ][ 1 ][ 《組間測試》 ][ 1 ];”
我缺少一些文法嗎?
回覆:從報告中取得表格的問題將“製作數據表”更改為“製作組合數據表”,我想您會得到您想要的。它將把每個 Tableboxes 中的所有資料放入一個資料表中
回覆:從報告中取得表格的問題謝謝你的回覆吉姆。 這並不完全是我想要做的。
最終,我需要腳本對給定的報表進行迭代(「By」變數),並將 TableBox(4) 提取到資料表中,然後將所有這些與識別碼或來自分析的哪個迭代連接起來。
我想我可以弄清楚連線等等,在這個例子中,它只是提取 TableBox(4) 作為資料表。 根據 JMP 腳本>顯示樹>操縱顯示中的文章,這應該是可能的。
他們的例子是:
rbiv[tablebox(4)] << make data table("ANOVA table");所以我知道發送命令可以做資料表。 我只是不明白為什麼在我的情況下我會收到錯誤訊息,因為我可以適當地識別表中的資料。
回覆:從報告中取得表格的問題這是我用來解決問題的方法
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dis=Distribution(
Continuous Distribution( Column( :NPN1 ) ),
Continuous Distribution( Column( :PNP1 ) )
);
n items(report(dis));
mean=(report(dis)["NPN1"]["Summary Statistics"][1][1][2]<<GET></GET>