<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我對 JMP 腳本完全陌生。
我正在嘗試創建一個腳本,該腳本將轉到表中的每個字符列,查找其所有值(PASS、FAIL 等),並使用分配的值(1、2、3)創建後綴為“_CODED”的新列, 4, 5) 基於上述的。
這是我現在擁有的腳本,它有效,但只考慮了一列。 有沒有辦法可以插入一個變量來代替該列名,以便計算所有列?
dt = 數據表("datatable.jmp");
cols = dt << 獲取列名(字符); //列出所有字符列
For(i = 1, i <= N Items(cols), i++,
dt << 新列(列<< 獲取姓名 || "_CODED",
數字,
“名義”,
格式(“最佳”,12),
公式(名稱表達式(
If(:Name("Level1") == "PASS", 1, If(:Name("Level1") == "FAIL", 2, If(:Name("Level1") == "", 3, If(:Name("Level1") == "NOTTESTED", 4, If(:Name("Level1") == "IGNORE", 5, If(:Name("Level1") == "PASS|PASS" , 6, If(:Name("Level1") == "IGNORE|IGNORE", 7, If(:Name("Level1") == "NOTTESTED|NOTTESTED", 8))))))))
))
);
);
基本上,我想知道是否有辦法讓腳本通過表格中的每個字符列而不是僅僅1級. 我試過用科爾斯作為一個變量代替1級,但這會導致腳本無法運行,因為需要引號,或者腳本會查找名為“Level 1”的列,這不是目標。
我拿了一些其他腳本並嘗試將它們應用到這個腳本中,所以如果有任何多餘的地方,也請告訴我。 非常感謝。
這將做到:
新表( “例子” ,添加行( 6 ) ,
新列( “啊” ,特點,標稱,
設定值( { “經過” , “經過” , “失敗” , “忽視” , “” , “忽視” } )
) ,
新列( “bb” ,特點,標稱,
設定值( { “通過|通過” , “忽略|忽略” , “經過” , “” , “失敗” , “失敗” } )
)
) ;
dt =數據表( “例子” ) ;
科爾斯= dt <<獲取列名(特點) ; //列出所有字符列
為了(一世= 1 ,一世<= N 項(科爾斯) ,一世++,
one_col =科爾斯[一世] <<得到名字;
coded_col = one_col || “_編碼” ;
col_expr =評估插入(
"\[ dt << 新列("^coded_col^", Numeric, "Nominal",
格式(“最佳”,12),公式(
if (:name("^one_col^") == "PASS", 1,
:name("^one_col^") == "失敗", 2,
:name("^one_col^") == "", 3,
:name("^one_col^") == "未測試", 4,
:name("^one_col^") == "忽略", 5,
:name("^one_col^") == "PASS|PASS", 6,
:name("^one_col^") == "忽略|忽略", 7,
:Name("^one_col^") == "未測試|未測試", 8;
);
)
);]\" ) ;
評估(解析( col_expr ))
) ;