如何使用樹結構查找平台中對象的引用?您好,我一直在嘗試在腳本中使用對分析平台(圖形、表格等)中的對象的引用,但在我看來,從我看到的示例來看,這不是很直觀。
我有多個用例,但我希望找到有關如何在分析平台中查找對任何對象的引用的通用描述或手冊。 我猜它存在於該網站的某個地方,但我無法找到它。
自動化和腳本編寫大規模定制回复:如何使用樹結構查找平台中對象的引用?還有一個實用函數可以幫助確定到達顯示框的最佳路徑。

回复:如何使用樹結構查找平台中對象的引用?
因為我無法訪問 JMP17。
真的嗎?
我本來就猜到了你在新版本發布的第一天獲得您特別的、個人的、免費的 JMP Pro 簽名版
...盡可能支持您支持他人:)
回覆:如何使用樹狀結構尋找平台中物件的引用?另一個技巧:
為目前報表產生 XML 程式碼(不僅僅是物件的報表;考慮資料篩選器等)
我將下面的程式碼連結到鍵盤快捷鍵 - 現在我可以獲得我想要的任何報告的 XML 程式碼。
只需選擇報告並按(例如) CTRL - Alt + X
Local({myTitle= Current Report()<< get Window Title() || " - (xml)"},
New Window (myTitle ,<<TYPE></TYPE>回复:如何使用樹結構查找平台中對象的引用?正如 Jarmo 在他的第一個回復中指出的那樣,在 JMP17 中,現在獲取對象的正確 XPath 變得更容易了:
右鍵單擊該對象,然後單擊顯示屬性(...根據需要調整選擇)並單擊
在右側的 Box Path 菜單中:

回复:如何使用樹結構查找平台中對象的引用?您可以嘗試用 New Window 包裝 Oneway
Names Default To Here(1);
// group by sex
dt = Open("$SAMPLE_DATA\Big Class.jmp");
nw = New Window("", ow = dt << Oneway(Y(:height), X(:age), By(:sex), Means and Std Dev(1), Mean Error Bars(1), Std Dev Lines(1), Mean of Means(1)));
// get XML fails for this platform
testXML = nw << Get XML;
Write(testXML);
ncbList = nw << XPath("\[//OutlineBox[text()="Means and Std Deviations"]//NumberColBox]\");
回复:如何使用樹結構查找平台中對象的引用?當您使用 By() 時,您會收到消息返回平台列表,而不是單個平台。
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow_by = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow_by );
日誌:
/*:
ow = Oneway[];
ow_by = {Oneway[], Oneway[]};回复:如何使用樹結構查找平台中對象的引用?查看 XPath 示例,我意識到當我在平台中使用“group by”變量時會出現許多問題。
以我在 XPath 鏈接中找到的示例為例:
這個腳本運行良好
// not grouped by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )["Means and Std Deviations"] << XPath( "//NumberColBox" );
然而,如果我按性別分組,get XML 就會拋出錯誤。 這要怎麼處理呢?
// group by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
// get XML fails for this platform
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )[???]["Means and Std Deviations"] << XPath( "//NumberColBox" );
回复:如何使用樹結構查找平台中對象的引用?謝謝,這幾乎就是我一直在尋找的東西。 我記得“竊取此代碼”演示文稿,但我也找不到它了。
我會接受這個解決方案,儘管我仍然認為這個主題值得對 JMP 學習和/或 JMP 中的腳本索引進行更簡潔的解釋,以便用戶知道從哪裡開始。
回复:如何使用樹結構查找平台中對象的引用?在我看來,這個問題沒有通用的解決方案,因為 JMP 中有很多不同的平台,其中一些平台的行為確實與其他平台不同。 我的一般方法是查看 XML << 獲取 XML然後使用 XPath(XPath 也很好,因為它在 JSL 之外工作)與一些組合<< 兄弟姐妹,<< 孩子,<< 父母...... 如果這是一個非常簡單的情況那麼我可能會使用報告下標腳本編寫指南 > 顯示樹 > 導航 JMP 報表 > 顯示框對象引用。
以下是一些鏈接: