cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
Get the free JMP Student Edition for qualified students and instructors at degree granting institutions.
Choose Language Hide Translation Bar
View Original Published Thread

How to Select values in a column Based on Column Number

waraulston
Level II

I have a column dialog that stores the name of a column into the list "selectedDataPinColumn". I am using a loop to find out which column number that name corresponds to and am referencing the column based on the number found, which works. I am trying to add to a previous selected on the table, and I just cannot seem to get the Select Where function to work with anything other than the hard coded column name, which will not work for me as this need to be dynamic. I have included the main loop below, 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);
						
					);
					
				);
				
			);
1 REPLY 1
jthi
Super User


Re: How to Select values in a column Based on Column Number

It might be enough you you change Column() to  AsColumn() or Column()[] or Column()[Row()]. Also depending on what you are doing, there might be quite a few ways how you could simplify your code (using Contains instead of Or(), For Each instead of 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"));

 

-Jarmo