根據儲存格中是否存在特定單字刪除行大家好!我認為這可能是許多使用各種儀器的數據文件的人的常見情況。我的資料集是透過拼接特定儀器的多個輸出檔案而得出的。除了有用的數據行之外,每個輸出文件頂部還有許多行指定配方、文件等,通常,此信息位於第 1 列中。儲存格中包含上述單字「配方」、「檔案」等不必要的行。幾種排列,但總是收到一條錯誤訊息:「發送需要在「發送」的評估訪問中編寫可編寫腳本的對象,等等。提前非常感謝!
dt_new2 << 取得行 where (contains (:Column 1, "Recipe"));
dt_new2 << 刪除行;
等待(1);
dt_new2 << 取得行 where (contains (:Column 1, "File"));
dt_new2 << 刪除行;
等待(1)
自動化和腳本編寫資料混合與清理回覆:根據儲存格中特定單字的存在刪除行試試這個
Names Default To Here( 1 );
dt_new2 = Current Data Table();
dt_new2 << select where( Contains( :Column 1, "Recipe" ) );
dt_new2 << delete rows;
Wait( 0 );
dt_new2 << select where( Contains( :Column 1, "File" ) );
dt_new2 << delete rows;
腳本索引
幫助=>腳本索引
是語句語法和範例的重要來源。
另外,我建議您花時間閱讀 JMP 幫助中的腳本指南
回覆:根據儲存格中特定單字的存在刪除行如果您希望僅使用 << 刪除行而不帶任何參數,則必須選擇行(就像吉姆所做的那樣)。其他選項是將行收集到變數中並使用它(我的首選方法,因為它會跳過“不必要的”行選擇,但如果您希望調試,選擇會更直觀)
Names Default To Here(1);
rows_to_delete = dt_new2 << get rows where(Contains(:Column 1, "Recipe"));
dt_new2 << delete rows(rows_to_delete);
rows_to_delete = dt_new2 << get rows where(Contains(:Column 1, "File"));
dt_new2 << delete rows(rows_to_delete);
此行為未記錄在腳本索引中,

但可以從 JSL 語法參考資料表訊息 (jmp.com)和腳本指南刪除行 (jmp.com)中找到(從腳本編輯器中搜尋刪除行並按主題幫助)
回覆:根據儲存格中特定單字的存在刪除行您好,txnelson,謝謝您的回覆!就像我說的,我嘗試了一堆相關命令,包括 select where + contains,但是如果沒有頂部的 Names default to here 語句,則該方法以前不起作用。現在這個例程對我來說很有效,非常感謝您的意見。乾杯!
回覆:根據儲存格中特定單字的存在刪除行你好,jthi,謝謝你的回复,我很感激。我總是提醒自己要更多地依賴變量,但不幸的是,我只有在沒有其他選擇的情況下才會這樣做。這是一個很好的建議,我相信它會對其他許多人有用。乾杯!
回覆:根據儲存格中特定單字的存在刪除行您也可以在沒有變數的情況下完成此操作,但我不建議這樣做,因為如果有任何問題,它更難以閱讀並且更難以調試
Names Default To Here(1);
dt_new2 << delete rows(dt_new2 << get rows where(Contains(:Column 1, "Recipe")));
dt_new2 << delete rows(dt_new2 << get rows where(Contains(:Column 1, "File")));