使用 JSL 腳本實現下一級自動化本次網路研討會以英語進行,時間為美國東部時間下午 2:00。
JMP 工作流程可讓您擷取、重播和分享您的點擊式資料工作。了解如何將一次性工作流程轉換為可跨不同使用者和資料來源工作的使用者友好腳本。本課程專為在創建 JMP 工作流程方面具有一定背景的 JMP 使用者而設計。請觀看 30 分鐘的簡明演示,然後是 15-30 分鐘的主題討論和問答。
此網路研討會涵蓋:用於使用者輸入的簡單模式視窗和相關的 JSL 語法。
自動化和腳本編寫英語掌握 JMP回覆:使用 JSL 腳本實現下一級自動化來自安德森·梅菲爾德@abmayfield 05-31-2023 下午 01:41
謝謝大家把這些放在一起。我有一個關於「概括」的後續問題,這與我缺乏腳本能力有關。通常在我的工作流程中,我需要“選擇所有列”,然後執行某些操作,無論是匯總、分組、探索缺失值等。都有不同的名稱,所以當它提示我找不到某一特定列(需要幾個小時)時,我不能只替換 5,000 列。我想知道是否可以先對列進行分組,然後對群組執行其餘的工作流程步驟。我可以給這個團體一個通用的名字。
另一種方法是嘗試透過名稱中的屬性來選擇列,如下面的腳本所示。是否有辦法將其腳本化到工作流程中下一步包含此腳本產生的選定列的位置?例如,如果我想轉置名稱中帶有“the”的所有列,可以將此腳本嵌入到工作流程中嗎?我正在嘗試考慮如何避免在每個文件中重新編碼列名,儘管這是另一種選擇!
我意識到,當您有數十個相同格式的表需要處理時,工作流程產生器可能效果最好,但我試圖弄清楚當每個表略有不同時我是否可以讓它合作。
names default to here(1);
dt=current data table();
colNames = dt << get column names(string);
for each({Name}, colNames,
if(contains(Name,"nox"),
for each row(
column(name)[row()] = ???????????; // your formula here
)
);
);
回覆:使用 JSL 腳本實現下一級自動化來自@Jordan_Hiller 06-03-2023 下午 06:49
如果我理解您的問題@abmayfield ,您是在問 JMP17 工作流程是否可以容納大量不斷變化的列名稱。我會說是的,這是可能的,但如果不將一些自訂 JSL 插入到工作流程中就不行。
一個好的方法是讓您的工作流程/腳本作用於使用者選擇的列 前 運行工作流程。
以下是使用血壓樣本資料集的範例。
Names Default To Here( 1 );
//Custom JSL: Get the user-selected columns, save them into list CNames
CNames = Current Data Table() << Get Selected Columns;
//Slightly modified workflow step: replace hard-coded columns with list CNames
Data Table( "Blood Pressure" ) << Transpose(
columns( CNames ),
By( :Dose ),
Label( :Subject ),
Output Table( "tdata" )
);
無論您如何解決這個問題,解決方案都可能涉及 JSL 清單。學習一些關於清單的知識可以給你新的編碼超能力!
回覆:使用 JSL 腳本實現下一級自動化對於@hogi,他問你能否在工作流程產生器中點擊“記錄”,然後運行你的腳本? WFB 會捕捉腳本的步驟嗎?
是的, JMP 18 工作流程確實會擷取在工作流程記錄時執行的腳本。
回覆:使用 JSL 腳本實現下一級自動化嗨@gail_massari ,這是一個很大的改進。它加快了將使用者產生的程式碼新增至工作流程的方式。感謝您實施它!
我希望下一步: Workflow Builder + AddIns很快就會出現:)
回覆:使用 JSL 腳本實現下一級自動化謝謝@hogi,我們將了解 JMP 19 對工作流程建構器和插件的請求如何追蹤。