buscar nombres de columnas y ejecutar una parte del código usando JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />hola a todos
tengo un requisito en el que necesito buscar los nombres de las columnas del archivo .jmp y luego realizar algunos pasos solo si esa columna está presente. ¿Cómo incluyo esta búsqueda de columna en JSL? por ejemplo, tengo datos en un archivo de Excel con nombres de columna "A", "B", "C", "D". La columna D tiene un filtro y las opciones son "Sí", "No" y "Puede ser". . Usando JSL, agrupé la hoja de datos usando Table->tabular->option. Agrupé los datos en la columna "D".Ahora tengo una tabla con columnas "sí, no y puede ser". Ahora quiero buscar en estas columnas la opción "puede ser". Si "puede ser" está disponible, quiero realizar algunos pasos. Si no, quiero realizar algunos otros pasos. ¿Cómo incluyo esto en JSL?
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLsolución muy útil
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLsi eso funciona Pero tengo algo que me impide ejecutar el código.
Tabla de filas ( Agrupar columnas ( : Número de serie , : Creado por ) )
)
) ;
nuevo = dttab << Convertir en tabla de datos ;
lista de nombres = { "APROBAR" , "SECU APROB" , "SEQU FELIZ" , "FELIZ" , "RJCT" , "SEQU RJCT" , "SEQU HREJ" , "HREJ" , "DREQ" , "SEQU DREQ" } ; // En estas opciones, quiero obtener las filas que tienen valores '0' para las columnas DREQ y SEQU DREQ. Estas dos columnas pueden contener valores de 1 o 0, pero no quiero filas con valores 0.
nombres_principales = nuevo << Obtener nombres de columna ( Cadena ) ;
Para ( i = 1 , i <= N elementos ( lista de nombres ) , i ++,
Si ( Contiene ( nombres_principales , lista de nombres [ i ] ) == 0 ,
nuevo << Nueva columna ( lista de nombres [ i ] , Número , << establecer cada valor ( 1000 ) ) ; // Establezco cada valor en 1000 porque ya tengo 0 o 1 para esas opciones
) ;
) ;
En el código anterior, cada vez que tengo las columnas DREQ y SEQU DREQ, quiero todas las filas que tienen los valores de 0 en cualquiera de estas columnas. Si estas columnas no están presentes, el valor 1000 se muestra en el código. Pero, ¿cómo incorporo esta condición de que solo necesito 0 si estas columnas están presentes? Espero que hayas entendido mi pregunta.
Muchas gracias
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLYa casi estás ahí.Tienes que darle un nombre a todo para que puedas consultarlo más tarde.Este código debería funcionar:
dt = Tabla de datos ( "Ficha de datos" ) ;
dttab = dt << Tabular (
Agregar tabla (
Tabla de columnas ( Agrupar columnas ( : Tarea de estado de usuario ) ) , //La tarea de estado del usuario tiene un estado diferente cada vez y cada una tiene un valor de 0 o 1. Cada vez, dependiendo de los datos, pueden faltar algunas opciones.
Tabla de filas ( Agrupar columnas ( : Número de serie , : Creado por ) )
)
) ;
nuevo = dttab << Convertir en tabla de datos ;
lista de nombres = { "APROBAR" , "SECU APROB" , "SEQU FELIZ" , "FELIZ" , "RJCT" , "SEQU RJCT" , "SEQU HREJ" , "HREJ" , "DREQ" , "SEQU DREQ" } ; //Tengo estas opciones en la columna de la lista desplegable "Tarea de estado del usuario". No tengo los mismos menús desplegables cada vez que faltan datos en esa columna.
nombres_principales = nuevo << Obtener nombres de columna ( Cadena ) ;
Para ( i = 1 , i <= N artículos ( lista de nombres ) , i ++,
Si ( Contiene ( nombres_principales , lista de nombres [ i ] ) == 0 ,
nuevo << Nueva columna ( lista de nombres [ i ] , Número , << establecer cada valor ( 1000 ) ) ; // Establezco cada valor en 1000 porque ya tengo 0 o 1 para esas opciones
) ;
) ;
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLPara un extraño, su secuencia de comandos es bastante confusa y es imposible decir exactamente qué salió mal sin más información. Intente describir "algún error" con más detalle.
Una suposición es que se dirige a la tabla incorrecta o que no existe una tabla inferida. Parece que trabaja con al menos cuatro tablas de datos: la tabla denominada "Hoja de datos" y las tres variables de la tabla dt , Crear lista & surv_pt_main . ¿Estás seguro de que tienes o usas todas estas tablas? Por ejemplo, haces dt de una tabla de "Hoja de datos". Pero en realidad nunca usas dt ?
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLJSL muestra algún error en la línea surv_pt_main.
Escribí el guión de la siguiente manera:
dt=tabla de datos("Hoja de datos");
<
Agregar tabla (
Tabla de columnas (Columnas de agrupación (: Tarea de estado del usuario)), // La tarea de estado del usuario tiene un estado diferente cada vez y cada una tiene un valor de 0 o 1. Cada vez, dependiendo de los datos, pueden faltar algunas opciones.
Tabla de filas (columnas de agrupación (: número de serie,: creado por))
))
<< Convertir en tabla de datos;
name_list={"APPR","SEQU APPR","SEQU HAPP","HAPP","RJCT","SEQU RJCT","SEQU HREJ","HREJ","DREQ","SEQU DREQ"}; //Tengo estas opciones en la columna de la lista desplegable "Tarea de estado del usuario". No tengo los mismos menús desplegables cada vez que faltan datos en esa columna.
main_names=create_list<
for(i=0,i<=nitems(name_list),i++,
if(contains(main_names,name_list )==0,
surv_pt_main< ,Número,<
);
);
Espero que alguien me pueda ayudar con esto.
gracias
Re: buscar nombres de columnas y ejecutar una parte del código usando JSLHago esto mucho porque en nuestros datos no está seguro de todas las respuestas.Si una columna no está allí, la agrego y le pongo 0.Algo como esto:
// Inserta las columnas que faltan.
lista de nombres = { "Actual" , "Anterior" , "Acumulativo" } ;
nombres_principales = surv_pt_main << Obtener nombres de columnas ( Cadena ) ;
// Si falta una columna, agréguela con un conjunto de 0
para ( i = 1 , i <= artículos ( lista de nombres ) , i ++,
si ( contiene ( nombres_principales , lista de nombres [ i ]) == 0 ,
surv_pt_main << Nueva columna ( lista de nombres [ i ] , Número , << establecer cada valor ( 0 )) ;
) ;
) ;