"selectedDataPinColumn" 목록에 열 이름을 저장하는 열 대화 상자가 있습니다. 루프를 사용하여 이름이 해당하는 열 번호를 찾고 발견된 번호를 기반으로 열을 참조하고 있습니다. 작동합니다. 테이블에서 이전에 선택한 항목에 추가하려고 하는데 하드 코딩된 열 이름 이외의 항목과 함께 작동하는 Select Where 기능을 얻을 수 없는 것 같습니다. 이 기능은 동적이어야 하므로 작동하지 않습니다. 아래에 메인 루프인 JMP 16을 포함시켰습니다.
For ( i = 1, i <= N Cols (originalTable), i++,
tempColName = Char(Column ( originalTable, i) << Get Name ());
For ( j = 1, j <= N Items (selectedDataPinColumn), j++,
If ( tempColName == Char(selectedDataPinColumn[j]),
originalTable << Select Where ( Column( originalTable, i ) == "GND" | Column (originalTable, i) == "GND & MeasI" | Column (originalTable, i) == "HIZ" | Column (originalTable, i) == "HiZ"*/, Current Selection( "Extend" ));
originalTable << Invert Row Selection();
selectedRows = originalTable << Get Selected Rows ();
selectVsandAs << Close Window();
//originalTable << Delete Rows (selectedRows);
);
);
);Column()을 AsColumn() 또는 Column()[] 또는 Column()[Row()]로 변경하는 것으로 충분할 수 있습니다. 또한 수행 중인 작업에 따라 코드를 단순화할 수 있는 몇 가지 방법이 있을 수 있습니다(Or() 대신 Contains 사용, For 대신 For Each 사용...).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
i = 1;
dt << Select Where(Contains({"JOE", "F"}, AsColumn(dt, i)), Current Selection("Extend"));
wait(1); // for demo purposes
i = 3;
dt << Select Where(Contains({"JOE", "F"}, Column(dt, i)[]), Current Selection("Extend"));