Ho una finestra di dialogo di colonna che memorizza il nome di una colonna nell'elenco "selectedDataPinColumn". Sto usando un ciclo per scoprire a quale numero di colonna corrisponde quel nome e sto facendo riferimento alla colonna in base al numero trovato, che funziona. Sto cercando di aggiungere a un precedente selezionato sul tavolo e non riesco proprio a far funzionare la funzione Seleziona dove con qualcosa di diverso dal nome della colonna hardcoded, che non funzionerà per me poiché questo deve essere dinamico. Ho incluso il ciclo principale di seguito, 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);
);
);
);Potrebbe essere sufficiente cambiare Column() in AsColumn() o Column()[] o Column()[Row()]. Inoltre, a seconda di cosa stai facendo, potrebbero esserci diversi modi per semplificare il tuo codice (usando Contains invece di Or(), For Each invece di For ...)
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"));