重新執行「來源」時自動複製表腳本你好,
我正在 Excel 中建立一個將不斷更新的資料庫。新的行和列將定期添加,現有行偶爾會添加新資料。因此,我開始使用「來源」腳本來更新對應的下游 JMP 表。
我的問題是,有沒有辦法在運行來源腳本時將任何現有的表腳本轉移到更新的表中?我將許多圖形生成器腳本保存到 JMP 表中,並且希望在每次運行來源腳本時自動將它們複製到新表中。我使用 JMP 版本 17。
謝謝你!
視窗回覆:重新執行「來源」時自動複製表腳本歡迎來到社區。
以下是將所有表腳本從一個資料表複製到另一個資料表(減去來源表腳本)所需的程式碼範例。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
names=dt<<GET table="" script="" names=""></GET>
<P>您必須將此方法新增至您的來源腳本中,或將其作為單獨的腳本運行來執行您想要執行的操作。</P>
<P>您可以在說明下拉選單下的腳本索引中找到此腳本中不同元素的詳細資訊和範例</P>回覆:重新執行「來源」時自動複製表腳本這是其他選項
Names Default To Here(1);
<BR />// Depending on your source script, there are different options of handling
// getting the reference to dt1 and dt2
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Big Class Families.jmp");<BR />
dt2 << Delete Scripts(dt2 << Get Table Script Names); // for demo purposes
wait(1); // for demo purposes
<BR />t_scripts = dt1 << Get Table Script Names;
Remove From(t_scripts, Contains(t_scripts, "Source"), 1);<BR />
For Each({t_script}, t_scripts,
Eval(EvalExpr(
dt2 << New Script(t_script,
Expr(dt1 << Get Script(t_script));
);
));
);
wait(0);回覆:重新執行「來源」時自動複製表腳本另一種方法:
升級到 JMP 18,所有授權使用者免費。
在 JMP 18 中,除了來源腳本之外,還有一個更新腳本:

這將更新表本身 - 而不是建立一個新表。手動新增的腳本保留。
與「來源腳本」相比,「更新表」的優點:
來源腳本「脆弱」 - JMP 會在不發出警告的情況下覆蓋它們:
更新與連線:來源腳本衝突
缺點:
更新表刪除任何手動新增的列
https://community.jmp.com/t5/JMP-Wish-List/Wizard-to-update-Excel-files-in-place-no-code-solution/idc-p/761983/highlight/true#M5540
回覆:重新執行「來源」時自動複製表腳本我知道我剛剛留下了另一條評論,說我如何看到您的 JMP 幫助無處不在,我真的很感激。但說真的。我到處都看到你的幫助,而且非常有用。感謝您為幫助人們所做的一切。