在 JSL 中記錄,同時保留大部分初始值你好,
我有一個關於機率的專欄。大多數情況下,這些只是0 到1 之間的數字。替換為“1” ”。
我正在使用的程式碼片段是:
dt << Recode Column (
:"probability"n,
{IF( _rcNOW == 100, 1)},
Target Column (:"probability"n)
);這部分有效,問題是在機率 < 100 的所有情況下,更新的列都是空的。那是因為 IF 語句不知道在這種情況下要做什麼。有沒有辦法告訴在這種情況下,它應該只保留原始值?
自動化和腳本編寫資料混合與清理回覆:在 JSL 中記錄,同時保留大部分初始值在 JMP 中以互動方式執行此操作,JMP 將為您建立腳本。例如我有一張桌子

我希望將 100 更改為 1


JMP 為您建立腳本

你可以清理它並稍微修改一下,讓它看起來像這樣
dt << Recode Column(
dt:Prob,
{Map Value(_rcOrig, {100, 1}, Unmatched(_rcNow))},
Target Column(:Prob)
);
JMP 基本上為我創建了這個腳本,而我沒有編寫任何 JSL。
回覆:在 JSL 中記錄,同時保留大部分初始值謝謝,效果很好! (事後看來很明顯)。
事實上,我可以互動式地處理它而不會出現問題,我可能必須在不同的文件上運行它,所以我更喜歡腳本解決方案。
「地圖價值」是什麼意思? (或者這就是互動方法?)
回覆:在 JSL 中記錄,同時保留大部分初始值我認為你可以在 else 語句中使用 _rcNOW
dt << Recode Column(
:"probability"n,
{If(_rcNOW == 100,
1
, _rcNOW
)},
Target Column(:"probability"n)
);
但如果您只想將 100 更改為 1,那麼使用 Map Value(最基本的重新編碼操作)可能會更容易。我認為您可以從“重新編碼”功能表中以互動方式執行此操作。