使用兩個清單進行 For 迴圈的更好方法?菜鳥在這裡。我有一個嵌套的 for 循環,它使用兩個列表,從多個診斷列中選擇特定的診斷代碼。它有效,但我想知道是否有更好的方法來編碼它。
ColumnList = {"DIAGNOSIS_1", "DIAGNOSIS_2", "DIAGNOSIS_3"};
ValueList = {"E871","O480","J449"};*/
For( i = 1, i <= N Items( ColumnList ), i++,
ColumnItem = ColumnList[i];
Eval(
Eval Expr(
As Constant( col = As Name( Expr( ColumnItem ) ) );
For( j = 1, j <= N Items( ValueList ), j++,
ValueItem = ValueList[j];
all_ip << select where( As Column( col ) == ValueItem, Current Selection( "extend" ) );
);
)
);
);
消費者與市場研究資料存取回覆:用兩個清單進行 For 迴圈的更好方法?抱歉耽擱了;我必須更新到 17。謝謝。
回覆:用兩個清單進行 For 迴圈的更好方法?我猜你是對的,這就是他們想要做的。添加到它上面,即使它是動態的,你也可以做類似的事情。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
col_dict = ["height"=>{13, 128, 60},
"weight"=>{95, 123, 79, 105},
"age"=>{17}
];
//create an orexpression
or_expr = Expr(OR());
for(key = col_dict<<FIRST></FIRST>回覆:用兩個清單進行 For 迴圈的更好方法?這樣就可以了。我還只有 15 歲。新冠病毒讓我很忙。
回覆:用兩個清單進行 For 迴圈的更好方法?JMP 17 中的每個腳本索引:新增至 JMP 16(JMP 或 JMP Pro)中

回覆:用兩個清單進行 For 迴圈的更好方法?常規 JMP,自 16 日起。
回覆:用兩個清單進行 For 迴圈的更好方法?For Each() 只能在 Pro 中使用嗎?我只有Basic,但不行。或者我錯過了某個地方的更新?
回覆:用兩個清單進行 For 迴圈的更好方法?甚至這個
dt = Open( "$sample_data/big class.jmp" );
ValueList = {13, 128, 60};
dt << select where( Contains( ValueList, :height ) | Contains( ValueList, :weight ) | Contains( ValueList, :age ) );
試想一下,身高、體重和年齡都是相同的單位,類似診斷欄。我認為如果診斷列的數量始終為三,這就是您想要的。
回覆:用兩個清單進行 For 迴圈的更好方法?也許這就是您正在嘗試做的事情。
dt = Open( "$sample_data/big class.jmp" );
ColumnList = {"height", "weight", "age"};
ValueList = {13, 128, 60};
For Each( {col}, ColumnList,
For Each( {ValueItem}, ValueList,
dt << select where( As Column( dt, col ) == ValueItem, Current Selection( "extend" ) )
)
);
甚至這個
dt = Open( "$sample_data/big class.jmp" );
ColumnList = {:height, :weight, :age};
ValueList = {13, 128, 60};
For Each( {col}, ColumnList,
For Each( {ValueItem}, ValueList, dt << select where( col == ValueItem, Current Selection( "extend" ) ) )
);
(這可能對您的數據有意義,但對於大類,選擇身高、體重或年齡為 13 的行,或者身高、體重或年齡為 128 的行,或者選擇身高、體重或年齡的行沒有多大意義。年齡是60。