¿Cómo verificar si existe una lista de columnas e informar las que faltan mediante una ventana emergente?¡Hola a todos!
Me gustaría probar si existe una lista de 5 nombres de columna en una tabla de datos.
Si falta uno o más, me gustaría que aparezca una ventana emergente que le diga al usuario qué columnas faltan. Si todas las columnas están presentes, el script debería continuar su ejecución.
¿Podría indicarme la dirección correcta sobre cómo escribirlo?
¡Gracias!
Modelado Estadístico AvanzadoAutomatización y secuencias de comandosFusión y limpieza de datosLa personalización en masaIngeniería de Calidad y ProcesosRe: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?¡El enfoque con la matriz asociativa es excelente!
Pero tenga en cuenta que las comparaciones descritas aquí solo encuentran exacto partidos.
En general, para Jmp no importa si hay letras mayúsculas en el nombre de la columna o espacios.
Entonces, dependiendo de su caso de aplicación, tal vez el verificar si existe una lista de columnas tampoco debería importarte.
Muy robusto es @txnelson enfoque de:
r=try(column(dt,tn)<<GET name=""></GET>
comprobar si existe la columna?
Con todas las trampas de las comprobaciones de existencia de columnas, en mi opinión, Jmp debería proporcionar una forma sólida de preguntar a una tabla de datos si existe una columna.
Aquí está la publicación en la lista de deseos:
tabla de datos: ¿existe la columna de mensaje (nombre de columna)?
Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?¡Gracias! ¡Esta es una solución interesante! Realmente debería aprender a trabajar con matrices asociativas...
Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?¡Gracias! ¡Esto es exactamente lo que estaba buscando!
Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?Puedes usar el Eliminar() método de matrices asociativas para hacer esto sin bucles JSL:
Names Default to Here( 1 );
reference table = New Table( "TEST",
<<NEW column=""></NEW>
Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?Aquí hay un ejemplo simple de una manera de hacer esto
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = dt << get column names( string );
requiredList = {"name", "sex", "shoe size"};
For( i = N Items( requiredList ), i >= 1, i--,
If( Contains( colList, requiredList[i] ),
Remove From( requiredList, i, 1 )
)
);
stop = "NO";
If( N Items( requiredList ) > 0,
stop = "YES";
New Window( "Error",
Modal,
V List Box(
Text Box( "The following column(s) are required" ),
Text Box( "but were not found in the data table." ),
Spacer Box( size( 1, 10 ) ),
List Box( requiredList )
)
);
);
If( stop == "YES", Throw() );Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?¡Hola Rob!
¡Gracias por la sugerencia! Me gustaría realizar esta tarea usando JSL porque planeo incorporarlo en algunos de mis scripts, pero también me gustaría tener un mensaje de GUI fácil de usar para los usuarios en caso de que falten columnas.
¡Gracias!
Adi
Re: ¿Cómo verificar si existe una lista de columnas e informar las que faltan usando una ventana emergente?Hola Lavik17,
¿Ha intentado usar el Selector de vista de columnas en el menú desplegable de columnas? Luego, utilizando la función de estadísticas de resumen, puede buscar sin esfuerzo sus nombres de cinco columnas y determinar si faltan datos.
Espero que esto ayude,
Robar