Muchos nombres de columna, busque parte de la cadena de nombre de columna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
He estado en esto por un día o dos y parece que no puedo llegar a una solución. Tengo una gran cantidad de nombres de columnas y deseo escribir un script que "mire" cada nombre de columna e identifique si los primeros dos caracteres son los caracteres que he especificado. La lista de nombres de columnas tiene una serie de tres primeros caracteres que varían, por ejemplo: "XX". "AA". "ZZ". Cuáles son mis intenciones generales para buscar a través de estas columnas y agrupar columnas en grupos que tengan: "XX". "AA". "ZZ". etc..
Re: Muchos nombres de columna, busque parte de la cadena de nombre de columna¡Gracias de nuevo, parece funcionar en mi tabla de datos de prueba! Estaba tratando de usar la función de Word con un delimitador y generar una lista a partir de ahí, pero su método es mucho mejor. Además, gracias por la sugerencia sobre el 'Índice de secuencias de comandos' que es muy útil. He estado usando la Guía de secuencias de comandos, pero el índice es excelente. Puedo ver que tengo mucho que aprender y agradezco toda su ayuda para comenzar.
Re: Muchos nombres de columna, busque parte de la cadena de nombre de columnaEl en cadena equivalente en JSL es contiene .La opción de menú Ayuda > Índice de secuencias de comandos es muy útil, por cierto.
Este código agrupa cada conjunto de XX e YY en grupos separados.
// Crea una tabla para probar cosas
dt = Nueva tabla ( "Prueba" , Agregar filas ( 3 ) ,
Nueva columna ( "XX1" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "XX2" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "AA1" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "YY2" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) )
) ;
// Lista de nombres de columnas para la tabla
col_names = dt << obtener nombres de columna ( cadena ) ;
// Cadena que estamos buscando
lista_de_grupos = { "XX" , "AA" } ;
// Bucle sobre grupos de columnas
para ( i = 1 , i <= artículos ( lista_de_grupos ) , i ++,
// Lista vacía para ser poblada con columnas encontradas
lista_encontrada = {} ;
un grupo = lista_de_grupos [ i ] ;
// Recorra todos los nombres de columna, buscando los que comienzan con "YY"
para ( k = 1 , k <= artículos ( col_names ) , k ++,
si ( comienza con ( col_names [ k ] , un grupo ) ,
insertar en ( lista_encontrada , col_names [ k ]) ;
) ;
) ;
si ( artículos ( lista_encontrada ) > 0 ,
dt << columnas de grupo ( un grupo , lista_encontrada ) ;
) ;
) ;
Re: Muchos nombres de columna, busque parte de la cadena de nombre de columnaPMroz,
Muchas gracias por su ayuda. Lo probé y parece estar generando la lista que quería.No estaba al tanto de los comandos "empieza con" o "insertar", soy bastante nuevo en JSL. Estaba buscando algún tipo de función de carácter 'InString', que no parece existir.Otra pregunta, ahora que los nombres de mis columnas están almacenados en un vector de lista/fila, ¿puedo almacenarlos en un grupo? ¿Solo para hacer que la interfaz de usuario en la tabla JMP sea un poco más fácil de ver? Gracias de nuevo por la ayuda.
Re: Muchos nombres de columna, busque parte de la cadena de nombre de columnaEsto debería ayudarte a empezar.
// Crea una tabla para probar cosas
dt = Nueva tabla ( "Prueba" , Agregar filas ( 3 ) ,
Nueva columna ( "XX1" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "XX2" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "AA1" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) ) ,
Nueva columna ( "YY2" , Numérico , Continuo , Formato ( "Mejor" , 12 ) , Establecer valores ( [ 1 , 2 , 3 ] ) )
) ;
// Lista de nombres de columnas para la tabla
col_names = dt << obtener nombres de columna ( cadena ) ;
// Lista vacía para ser poblada con columnas encontradas
lista_encontrada = {} ;
// Cadena que estamos buscando
Buscando = "AA" ;
// Recorra todos los nombres de columna, buscando los que comienzan con "YY"
para ( i = 1 , i <= artículos ( col_names ) , i ++,
si ( comienza con ( col_names [ i ] , Buscando ) ,
insertar en ( lista_encontrada , col_names [ i ]) ;
) ;
) ;
imprimir ( lista_encontrada ) ;