Nombre de grupo de columnas variables para 'Columnas de grupo ()'Hola a todos,
Estoy tratando de seleccionar columnas en función de una lista de cadenas y volcar las columnas en un grupo también en función de la lista.
Aquí está el código que estoy usando:
dt = Current Data Table();<BR />// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
dt << Clear Column Selection;
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ),
As Column( allcols[j] ) << Set Selected( 1 );
//Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
//dt << Group Columns(char(groupnames[i]), curgroup);
dt << Group Columns( groupnames[i] );
);Recibo el error "JMP no puede determinar las columnas que se agruparán del script dado".
Si cambio la última línea a algo como dt << Group Columns ("cadena fija"), funcionará (pero todas estarán en el mismo grupo).No estoy seguro de lo que estoy haciendo mal.groupnames[i] debe ser una cadena (¿verdad?), que es la entrada esperada para Group Columns().
Gracias,
Kristo
Re: Nombre de grupo de columnas variables para 'Columnas de grupo ()'Gracias de nuevo.Solo estaba buscando en la documentación html, no en los libros.
Re: Nombre de grupo de columnas variables para 'Columnas de grupo ()'Aquí se explica cómo acceder a la documentación sobre los caracteres de escape.Ir
Ayuda==>Libros==>Guía de secuencias de comandos
y luego hacer una búsqueda de página para
\!
Te llevará directamente a la tabla de personajes de escape.
Re: Nombre de grupo de columnas variables para 'Columnas de grupo ()'Eval Insert() evalúa las variables dentro de una cadena. Las variables en la cadena están envueltas en caracteres "^". Parse() convierte una cadena en una expresión. Eval() evalúa la expresión.
Básicamente, crea la expresión como una cadena con los valores de las variables resueltos dentro de la cadena, analiza la cadena en una expresión y evalúa la expresión.
Re: Nombre de grupo de columnas variables para 'Columnas de grupo ()'Gracias, eso lo hizo!¿Algún indicador de documentación sobre para qué sirven las diferentes secuencias de escape?La "ayuda" para Parse() no es tan útil.
Re: Nombre de grupo de columnas variables para 'Columnas de grupo ()'A veces, JMP es extraño al evaluar variables que deberían resolverse en el tipo de argumento esperado.Por lo general, trato de no hacer esto, pero generalmente puede solucionar estos problemas con una secuencia de inserción Eval-Parse-Eval.Esto siempre se siente como un truco, pero es como cinta adhesiva con JSL.
dt = Current Data Table();// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ) > 0,
Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
Eval(Parse(Eval Insert("\[dt << Group Columns( "^groupnames[i]^", curgroup )]\")));
);