두 개의 목록을 사용하여 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" ) );
);
)
);
);
소비자 및 시장 조사데이터 접근Re: 두 개의 목록을 사용하여 For 루프를 실행하는 더 나은 방법?지연되어 죄송합니다. 17로 업데이트해야 했습니다. 그리고 귀하의 코드는 완벽하게 작동합니다! 감사합니다.
Re: 두 개의 목록을 사용하여 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>Re: 두 개의 목록을 사용하여 For 루프를 실행하는 더 나은 방법?그리고 그걸로 됐어요. 저는 아직 15살이에요. 제가 업데이트했다고 맹세할 수 있었어요. 코로나 때문에 바빴거든요.
Re: 두 개의 목록을 사용하여 For 루프를 실행하는 더 나은 방법?JMP 17의 Per Scripting Index: JMP 16(JMP 또는 JMP Pro)에 추가됨

Re: 두 개의 목록으로 For 루프를 수행하는 더 좋은 방법은 무엇입니까?16부터 일반 JMP.
Re: 두 개의 목록을 사용하여 For 루프를 실행하는 더 나은 방법?For Each()는 Pro에서만 사용 가능한가요? 저는 Basic만 있는데 작동하지 않습니다. 아니면 어딘가에서 업데이트를 놓친 건가요?
Re: 두 개의 목록을 사용하여 For 루프를 실행하는 더 나은 방법?아니면 이것도
dt = Open( "$sample_data/big class.jmp" );
ValueList = {13, 128, 60};
dt << select where( Contains( ValueList, :height ) | Contains( ValueList, :weight ) | Contains( ValueList, :age ) );
키, 몸무게, 나이가 모두 같은 단위라고 상상해보세요. 진단 열과 비슷합니다. 진단 열의 수가 항상 3개라면 이런 게 좋을 것 같습니다.
Re: 두 개의 목록을 사용하여 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인 행을 선택하는 것은 별로 의미가 없습니다. 그저 제 생각에 맞는지 알아보려고 사용하는 것일 뿐입니다.)