Hola,
Nuevo en JMP y he buscado y leído mucha ayuda y dando vueltas en círculos. Creo que lo que estoy haciendo es fácil y directo, pero no obtengo esa sensación de JSL. Tengo una tabla de datos más complicada, pero con el propósito de intentar que mi código funcione, he simplificado mi tabla. Tengo una tabla con 5 columnas, 4 de cada una tienen "_Rendimiento" en el encabezado. 13 filas constan de 1 y 0 y lo que intento hacer es crear una columna para cada fila que muestre la primera aparición de un 1 en las columnas de rendimiento. Necesito que esto sea inteligente ya que los nombres de las columnas (aparte de contener _rendimiento) no siempre tendrán los mismos nombres ni estarán en las mismas ubicaciones. Descubrí cómo simplemente mirar las columnas de rendimiento y convertir esto en una matriz donde luego puedo encontrar los valores que estoy buscando. Simplemente no puedo convertir estos valores en los encabezados de columna. La columna de prueba muestra la posición en la matriz, la columna de resultados a continuación muestra lo que debería obtener en la columna de Ayuda.Gracias por adelantado.

dt = Tabla de datos actuales ();
lst = dt << Obtener nombres de columnas (cadena);
dt << borrar selección de columna;
For( i = 1, i <= N Elementos(lst), i++,
If( Contiene( lista[i], "_Rendimiento") > 0,
Columna( dt, lst[i] ) << conjunto seleccionado;
selcols = dt << obtener columnas seleccionadas;
));
Mat2 = dt << Obtener como Matriz(selcols);
DesLista = lista();
for(i = 1 , i <= N Filas(Mat2), i++,
Pos = Min(Loc(Mat2[i,0]));
Insertar en(DesLista,Pos);
);
dt << Nueva columna("Test",Numeric,Continuous,<< Set Values(DesList));
cols = dt << Obtener referencia de columna (dt << Obtener nombres de columna);
dt << Nueva Columna("Resultado", formula(If( Contiene( Lista Eval( selcols ), 1 ) == 1,
"B_Rendimiento",
If( Contiene( Lista de evaluación( selcols ), 1 ) == 2,
"C_Rendimiento",
If( Contiene( Lista de evaluación( selcols ), 1 ) == 3,
"D_Rendimiento",
If( Contiene( Lista de evaluación( selcols ), 1 ) == 4,
"Rendimiento_E",
"PASAR"
))))
));
valores1 = Columna(dt, selcols[1]) << Obtener valores;
NewColName = "AYUDA";
dt << Nueva Columna(NewColName, Carácter);
nuevaColumna = Columna(NombreNuevaColumna);
Para( j = 1, j <= N Elementos(valores1), j++,
// rendimiento = cuadro de lista (selcols, << establecer seleccionado (2,1), Imprimir ("lista", rendimiento << obtener seleccionado, rendimiento << obtener índices seleccionados));
resultado = (Deslistar[j] >= 1);
if(resultado >= 1,(nuevacolumna[j]= selcols),
falta (resultado), (nuevaColumna[j]= Parse("PASS")));
);