Obtener nombres de columna de la lista de columnas
Names Default to Here(1);
dt = Current Data Table();
column list = dt << Get Column Names(Continuous);
key list = dt << Get Column Group("KEYS");"lista de columnas" contiene una lista de nombres de columnas que contienen datos continuos.
"Lista de claves" contiene una lista de columnas en el grupo "TECLAS".
¿Cómo obtengo los nombres de las columnas de la "lista de claves"? En última instancia, me gustaría eliminar los nombres de columnas continuos de la "lista de columnas" que se encuentran en el grupo "TECLAS". Encontré una publicación de Craige Hales para administrar las listas, pero necesito obtenerlas en el mismo formato.
Re: Obtener nombres de columnas de la lista de columnasAquí hay una tarea fácil con la que me puede ayudar: una vez que "obtenga los nombres de las columnas", ¿cómo puedo insertarlos en una tabla de datos que es solo la misma lista de nombres de columnas?GRACIAS Devin
Re: Obtener nombres de columnas de la lista de columnas¡Por favor, no te golpees la cabeza! Usar Ayuda > Scripting Índice en cambio.

Re: Obtener nombres de columnas de la lista de columnasGracias por su nota sobre el contenido que requiere cadenas literales y "obtener nombres de columna" que no proporciona eso sin la opción "cadena". Me golpeé la cabeza contra esto durante mucho tiempo y al agregar "cuerda" lo arreglé de inmediato.Re: Obtener nombres de columnas de la lista de columnasEl truco era: Char(lista de claves[i]))
(Nunca pensé en convertir la referencia de la columna en una cadena)Re: Obtener nombres de columnas de la lista de columnasAquí está la solución a la que llegué después de convertir la lista de claves en cadenas como se sugiere:
// Initialize
Names Default to Here(1);
dt = Current Data Table();
key list names = {};
// Get a list of all continuous columns
column list = dt << Get Column Names(Continuous, String);
// Create a list of column names in the KEYS group
key list = dt << Get Column Group("KEYS");
For(i = 1, i <= N Items(key list), i++,
Insert Into(key list names, Char(key list[i]))
);
// Remove from the column list any column that is in the KEYS group
/* <BR />Adapted from - Re: Quick way to compare two lists (uncommon elements)?
JAN 10, 2017 6:41 AM, by Craige_Hales, STAFF (RETIRED)
*/
set1 = Associative Array(column list);
set2 = Associative Array(key list names);
// Find the names common to both lists
intersection = set1;
intersection << Intersect(set2);
// Remove the common names
cleaned list = set1;
cleaned list << Remove(intersection);
column list = cleaned list << Get Keys;
Re: Obtener nombres de columnas de la lista de columnasGracias. Estoy buscando eliminar de la "lista de columnas" cualquier nombre que esté en el grupo "Procesos" (usando su ejemplo), por lo que los elementos deben eliminarse de la "lista de columnas", no de la "lista clave". Espero que tendré que buscar en la lista de columnas para Char (lista de claves [i]) y, si lo encuentra, eliminarlo.Re: Obtener nombres de columnas de la lista de columnasLo que se devuelve de << Obtener nombres de columna y << Obtener grupo de columnas son listas JMP.Aproximadamente puede pensar en ellos como matrices de valores.Consulte la sección Guías de secuencias de comandos sobre el uso de listas.
A continuación se muestra una modificación de su código, que verificará la comparación entre 2 listas, los nombres de las columnas que se encuentran en común en ambas listas y luego los eliminará de la Lista de claves, lista.Tenga en cuenta que la función Contiene requiere cadenas literales para que funcione, por eso <
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
column list = dt << Get Column Names( Continuous, string );
key list = dt << Get Column Group( "Processes" );
Show( "complete list", key list );
For( i = N Items( key list ), i >= 1, i--,
If( Contains( column list, Char( key list[i] ) ),
key list = Remove( key list, i, 1 )
)
);
Show( "final list", key list );
En mi ejemplo, la lista de claves termina sin tener ningún valor, ya que todos los elementos del grupo son columnas numéricas.