為數據表分配新名稱並在處理後保持原始數據表不變我試圖避免對原始數據表進行更改,並在執行某些操作時使其保持原樣
說我們有這種情況
for (i = 1, 3, i++,
dt_process = data table("dt_original);
dt_process << newcolumn("elclassico", character,formula(if (Contains(:club, "BARC") , "Barcelona", "delete")
dt_process << save("save_my_club"||char(i))
)在此過程之後,當 i = 2 時,jsl 對我說找不到 dt_original,因為名稱已更改。
為什麼會這樣?
數據表腳本回复:為數據表分配新名稱並在處理後保持原始數據表不變保存將更改數據集的名稱,您始終使用對同一數據表 (dt_original) 的引用
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
show(dt << get name);
dt << Save("$temp\deleteme Big Class.jmp"); // explicit location
show(dt << get name);
您可以改為創建子集並保存(如果您不需要打開這些,請記住關閉它們)
dt_process = dt_original << Subset(Selected Columns(0), All Rows);
回复:為數據表分配新名稱並在處理後保持原始數據表不變非常感謝!