IF 語句錯誤
我正在使用 IF 語句,如下所示。 當我運行腳本時,它僅實現“打開”命令> 腳本甚至不進入 IF 循環。
我嘗試使用「FOR EACH ROW」以及 IF 語句,如腳本 2 所示,但它引發以下錯誤
有什麼建議麼??
dt = Open ("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means.jmp");
IF( :"Ppk"n <= 2 ,
(
dt << Select where( :"Ppk"n <=2 );
dt_ppk = dt << subset (Output table("fc_mcs11_evm_cluster_means_low_ppk.jmp"), Selected Rows( 1 ), selected columns( 0 ));
dt_ppk << Save As("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means_low_ppk.jmp");
),
"PPk Good"
);dt = Open ("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means.jmp");
For each row(dt,
IF( :"Ppk"n <= 2 ,
(
dt << Select where( :"Ppk"n <=2 );
dt_ppk = dt << subset (Output table("fc_mcs11_evm_cluster_means_low_ppk.jmp"), Selected Rows( 1 ), selected columns( 0 ));
dt_ppk << Save As("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means_low_ppk.jmp");
),
"PPk Good"
)
); 自動化和腳本編寫基礎資料分析與建模回覆: IF 語句錯誤嗨克雷格,
謝謝你的解釋。 現在已經清楚了。
回覆: IF 語句錯誤太感謝了。 這很好用。
回覆: IF 語句錯誤If() 函數的第一個參數,
:"Ppk"n <= 2
進行評估並將列引用或表變數與數值進行比較。 這就是你想做的事嗎?
您是否有一列和一個表格變數的名稱均為 Ppk?
回覆: IF 語句錯誤使用@jthi回答。 但為了解釋發生了什麼事......
在原來的兩個片段中,第一個失敗,因為表中沒有當前行,所以
:"Ppk"n <= 2
正在與缺失值進行比較;與缺失進行比較既不是 true 也不是 false,並且 if 的 true 和 false 子句不會執行(如果您不知道 JMP 中的缺失值,則會出現令人驚訝的結果。)
dt=open("$sample_data/big class.jmp");
dt:age==14
. <<< no row selected, result is missing
row()=5; dt:age==13
0 <<< LILLIE is 12
在第二個範例中,ForEachRow 確實使每一行一次成為目前行,因此避免了第一個問題。 基於無法儲存在第 2 行訊息,我很確定第一個子集表掛在檔案名稱上,而由第 2 行產生的第二個子集想要儲存到已在使用中的相同檔案中。 (編:)關閉(dt_ppk)可能會解決這個問題,但它仍然會一遍又一遍地重新建立相同的檔案。
回覆: IF 語句錯誤使用 << Get RowsWhere 取得 Ppk <= 2 的行,然後使用 if 語句檢查該清單中的項目是否大於 0
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Show(Row()); // Row() is inmitialize as 0 which isn't valid row number in JMP
// -> :name; // won't return anything useful
rows_of_interest = dt << Get Rows Where(:height <= 60);
If(N Items(rows_of_interest) > 0,
// perform actions
Show("PPK NOK")
,
Print("PPK OK");
);回覆: IF 語句錯誤1]開啟文件
2]檢查列名 Ppk <=2 是否
a] 如果是,則選擇 Ppk <=2 的行 - 將它們子集化並儲存為另一個資料表
b] 如果否則顯示“PPk good”
回覆: IF 語句錯誤你想做什麼?