使用 JSL 獲取第一個選定行上給定列的值我試圖簡單地從第一個選定行的給定列中獲取值 - 但不知何故,這非常困難。這是我到目前為止所擁有的:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3);
selRow = ( dt << get selected rows() )[0];
Row() = selRow;
site = :Site; // returns "1", should return "5" (:Site from row 15)
我預計“site”最終會是 5,但結果卻是 1。我在這裡缺少什麼?
另請注意,我在具有 33M 行的表上嘗試類似的操作,JMP 在幾分鐘內沒有響應。我正在嘗試不同的方法來執行此操作,因此我可能無意中要求它首先創建 33M 項的列表,然後獲取第 14M 項。我希望我最終對上述問題提出的任何解決方案都不會這樣做。
自動化和腳本編寫回复:使用 JSL 從第一個選定行上的給定列獲取值您只需引用 Get RowsWhere 矩陣中的第一個 [1] 元素
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3 );
site = :site[(dt << get selected rows())[1]];
// or
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
site = :Site[(dt << get rows where( :Wafer Number == "16" & :Die X == 3 ))[1]];
回复:使用 JSL 從第一個選定行上的給定列獲取值那麼數據表中的數據基本上存儲為一組列,每個列都是一個條目列表?
(是的,我是一名 python 編碼員,所以我錯過了 [0] -> [1] 的事情......)
另外,我搜索了所有我認為可能有幫助的 JMP 文檔部分,但找不到任何相關內容,即 :site[rowNumber] 符號。如果有人知道這是在哪裡,我很樂意閱讀文檔的該部分。
謝謝,吉姆!
回复:使用 JSL 從第一個選定行上的給定列獲取值數據表下標是社區中的好帖子,您可以從腳本指南中找到文檔腳本編寫指南 > 數據表 > 訪問數據值是一個很好的起點。 它提供了指向其他頁面的附加鏈接,其中包含更多信息
回复:使用 JSL 從第一個選定行上的給定列獲取值@tx尼爾森:此方法需要一整秒的時間才能返回大型表(33M 行)中的值。桌子在其他方面表現良好,所以我認為這種方法可能會在幕後做一些嚴厲的事情......我可以測試其他方法嗎?
--> 更新:我剛剛意識到緩慢的是“獲取選定行()”調用,而不是數據訪問。好奇,看來應該很快。
回复:使用 JSL 從第一個選定行上的給定列獲取值我通常使用 Get RowsWhere() 而不是 SelectWhere,然後使用 Get Selected Rows。除非您需要所選行的可視化顯示,否則我一直認為它更快。
回复:使用 JSL 從第一個選定行上的給定列獲取值@tx尼爾森我的真正目的不是“選擇位置”,而是單擊與數據表 (A) 關聯的一個圖形生成器圖中的一個點,並且我想更新與數據表關聯的圖形生成器圖中的數據過濾器(二)。第一次單擊選擇行,然後 JSL 應該從第一個表的選定行中獲取 id 字段,然後將該值粘貼到 Graph Builder B 圖上的數據過濾器中。
我今天使用 Get Selected Rows() 讓它工作了(是的!),但奇怪的是,該函數在大型數據集上相對較慢。讓我覺得它正在一個不可見的列中搜索所有“1”或其他東西......
感謝您的幫助!