腳本中的JMP幫助你好,
我正在嘗試根據其他列更新一列。 如果無法更新,我也很高興使用公式創建一個新列。 但是我無法做到這一點。 查看我的樣本以及解決方案數據和圖像。
所以說,對於
如果缺少“ Site_B”並且“ Data_set_ID” = 221或169或136,則“ customer_id” = A =>將“ Site_B” =“ Site_B”放在“ Data_set_ID” = 142
和
另一個類似的條件(最多4或5個條件)
並對所有客戶重複此操作-B,C,AA,AD等。
有什麼幫助嗎?
謝謝。
腳本編寫回复:腳本中的JMP幫助根據“討論”請求中使用的語法,您沒有受過JSL語法的教育。您需要花一些時間閱讀《腳本指南》,以精通JSL。
下面是根據Sample_Data_Solution.jpg中的Blue和Red偽代碼滿足我所理解的所需的JSL
names default to here(1);
dt=current data table();
for(i=1,i<=N Rows(dt),i++,
If(:Customer_ID[i] == "A",
if(IsMissing(:Site_B[i]) & (:Data_set_ID[i] == 44 | :Data_set_ID[i] == 87),
:Site_B[i] = :Site_B[ (dt << get rows where( :Data_set_ID == 142))[1]]
,
IsMissing(:Site_B[i]) & (:Data_set_ID[i] == 221 | :Data_set_ID[i] == 169 | :Data_set_ID[i] == 136),
:Site_B[i] = :Site_B[ (dt << get rows where( :Data_set_ID == 164))[1]]
)
,
:Customer_ID[i] == "B",
if(IsMissing(:Site_B[i]) & (:Data_set_ID[i] == 44 | :Data_set_ID[i] == 87),
:Site_B[i] = :Site_B[ (dt << get rows where( :Data_set_ID == 142))[1]]
,
IsMissing(:Site_B[i]) & (:Data_set_ID[i] == 221 | :Data_set_ID[i] == 169 | :Data_set_ID[i] == 136),
:Site_B[i] = :Site_B[ (dt << get rows where( :Data_set_ID == 164))[1]]
)
)
);
回复:腳本中的JMP幫助嗨納爾遜,
感謝您的回復和評論。 我需要在JMP中學習很多東西。
我正在尋找嵌套的“ For Loop”。 我的意思是在您的腳本中,我需要在“ Customer_ID”上進行另一個循環。 在我的數據集中,我有6000-7000多個客戶ID。
謝謝。
回复:腳本中的JMP幫助你好
我的意思是,在您的代碼中,我無法像if語句那樣手動分配customer_id-
:Customer_ID [i] ==“ A”,
:Customer_ID [i] ==“ B”,
對我來說,這將是6000-7000 alpha數字變量。 喜歡
:Customer_ID [i] ==“ 9UHIW”,
:Customer_ID [i] ==“ 7EIGO”,依此類推。
因此,我需要另一個循環來標識每個唯一的Customer_ID,然後在其上實現您的腳本。
謝謝。