使用 JSL 刪除公式中引用的列/表變量你好,
如本文主題所述,我觀察到當任一列具有函數或表變量是函數的一部分時,JSL 命令“刪除列”或“刪除表變量”不起作用。
當“手動”執行此操作時,會有一個額外的警告窗口,通知用戶此類操作的後果並允許選擇一個操作。
我知道這種行為是故意引入的,我對此完全沒有意見。
我想問一下使用JSL刪除列/表變量時是否有任何選項/參數/標誌/命令可以繞過此窗口?
謝謝你的幫助。
數據表腳本回覆:使用 JSL 刪除公式中引用的列/表變量我無法複製我所理解的您所詢問的問題。以下腳本正在刪除公式中的表格變數和列以及每個公式中的函數。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Table Variable( "Days", 42 );
Wait( 5 );
dt << New Column( "test",
formula(
delTVar = Function( {theVar},
dt << Delete Table Variable( theVar )
);
rc = delTVar( "Days" );
:weight;
)
);
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Wait( 5 );
dt << New Column( "test",
formula(
delCol = Function( {theCol},
dt << delete columns( theCol )
);
rc = delCol( "height" );
:weight;
)
);回覆:使用 JSL 刪除公式中引用的列/表變量我認為沒有任何標誌可以做到這一點。也許是願望清單項目的地方,我認為該標誌應該與要求刪除參考、公式或取消的互動版本類似地配置(我可能也會添加 Throw)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("f", Numeric, Continuous, Formula(:height*weight));
dt << Delete Columns({"height", "weight"});
將列印到日誌:
當某些列被剩餘列的公式引用時,無法刪除所選列。
刪除公式會使資料保持不變。刪除引用會將每個引用替換為空值。這些影響是永久性的且無法撤銷。
可編寫腳本[]
您可以使用 Log Capture() 擷取此訊息,然後執行一些 JSL 技巧來預先刪除參考/公式。