新 JMP 使用者的主要資料來源始終是 Excel。 這些可能會很混亂,例如可能用作手動輸入 KPI 追蹤的資料庫。
但是,Excel 加載項和 Excel 精靈都沒有提供從來源更新檔案的簡單方法。
這是一個常見請求,可以在該論壇中多次找到,並且所有請求都需要編寫腳本(請參見下面的範例)。
您可以看到初學者的反應是可以理解的,他們被拖入一個簡單請求的複雜解決方案中。
更新列、新增行、新增列,所有這些都是複雜的概念,需要多個步驟並透過 JSL 或 Automation Builder 自動化。
JMP 需要包含一個精靈來自動產生讀取和更新目前資料表的腳本。
https://community.jmp.com/t5/Discussions/Automatically-update-quot-source-quot-file/td-p/324299
https://community.jmp.com/t5/Virtual-JMP-Users-Group/How-to-update-a-JMP-data-table-to-reflect-Excel-updates/td-p/228625
https://community.jmp.com/t5/Discussions/How-do-I-automatically-update-JMP-data-table-while-populate/td-p/247303
JMP 18 現在有此選項。但是,它會刪除使用者在首次匯入後建立的所有欄位。
更新必須處理不存在的列,而不是刪除它們,只更新原始列中的列(以及引用這些列的公式)。
@FN是的,此回饋已與開發人員分享。感謝您讓我們知道該功能不是您所期望的。如果有任何計劃更新,我會通知您。我暫時保留這個願望,因為它似乎還沒有完全實現。
@Sarah-Sylvestre ,只是為了確保追蹤並與開發人員分享。
JMP 18 有此選項,但它仍然不是一鍵操作。現在,它會刪除使用者在第一次匯入後建立的所有欄位!
最後,它迫使使用者學習 JSL 或手動執行重複性任務。
非常有趣的是 jmp 開發人員如何努力實現更新功能。
在我們公司,我們非常接近解決方案 - 使用此Reread腳本:
dt = Current Data Table();
dtnew = dt << Run Script( "Source" );
dt << Select All Rows << Delete Rows;
dt << Concatenate( dtnew, Append to first table );
Close( dtnew, NoSave );
這個簡短的腳本基本上依賴於來源腳本的強大功能,這些腳本是在每次檔案匯入時自動產生的。
我要求:
它比許多其他方法更有用!
....幾乎完美。
但:
1) 不幸的是,這種方法有一個巨大的 (!!) 問題 - JMP 中的一個「Bug」:
更新與連線:來源腳本衝突
啊啊!
2)不太嚴重:
如果使用者對輸入表套用手動步驟,導致其與目前資料表不相容,
……他必須手動將這些處理步驟新增到來源腳本。
對於列的重命名,有一個更聰明的方法:
:folded_hands: 列屬性:列名稱別名
願望清單優先級調查的候選人 - 試運行:
JMP 願望清單優先調查隆重推出!