Importación de XML directamente a tablas de datos<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Quiero importar un conjunto de datos de XML (bien formado) directamente a una tabla de datos. Esto es algo que Excel puede hacer, ¡así que estoy seguro de que JMP puede hacerlo! El XML y las tablas de datos finales se ven como los ejemplos a continuación; hay un conjunto de pruebas con resultados para pines individuales, asociados con un troquel, todo parte de un lote general, con atributos asociados como probador o coordenadas x, y (se basa en datos de prueba de semiconductores, como habrás adivinado!) . El conjunto de datos podría ser potencialmente muy largo.
Sé que hay una función Parse XML JSL pero no entiendo cómo implementarla en esta situación. ¡Cualquier sugerencia recibida con gratitud!
Gracias, Mateo.
| lote_id | tipo_probador | die_id | morir_x | morir_y | nombre de la prueba | unidad | pin_name | resultado |
| PAJA | J750 | 1 | 1 | 1 | PRUEBA1 | A | A B C | 1234 |
| PAJA | J750 | 1 | 1 | 1 | PRUEBA1 | A | DEF | 2345 |
| PAJA | J750 | 1 | 1 | 1 | PRUEBA2 | A | XCV | 414 |
| PAJA | J750 | 1 | 1 | 1 | PRUEBA2 | A | VBN | 1351 |
| PAJA | J750 | 2 | 3 | 4 | PRUEBA1 | A | A B C | 5433 |
| PAJA | J750 | 2 | 3 | 4 | PRUEBA1 | A | DEF | 4321 |
| PAJA | J750 | 2 | 3 | 4 | PRUEBA2 | A | XCV | 6856 |
| PAJA | J750 | 2 | 3 | 4 | PRUEBA2 | A | VBN | 5345 |
Re: Importar XML directamente a tablas de datoshola tengo un error al escribir esto
Analizar XML ( QasFile ,
en elemento ( "Grupos de indicadores" ,
Etiqueta de inicio (
dt = nueva mesa ( "TestJMPTable" ) ;
dt << Nueva columna ( "NORTE" , Numérico ) ;
dt << Nueva columna ( "Archivo de gráficos" , Personaje ) ;
dt << Nueva columna ( "Descripción" , Personaje ) ;
)) ;
fila = 1 ;
en elemento ( "NORTE" ,
etiqueta de inicio (
si ( fila > 0 , dt << Addrows ( 1 )) ;
Columna ( dt , "NORTE" )[ fila ()] = Atributo XML ( "NORTE" ) ;
)) ,
etiqueta final ()
) ;
Re: Importar XML directamente a tablas de datosPara aquellos interesados en XML (parece aparecer cada vez más en estos días), puedo informar que un asistente de importación de XML está en desarrollo activo en JMP 15. Permite la selección de apuntar y hacer clic para asegurarse de que JMP comprenda el formato adecuado de su XML. JMP 15 se enviará en el otoño de 2019.
Re: Importar XML directamente a tablas de datosLoad Text File() es una alternativa a Open() para XML y otros archivos de texto.Re: Importar XML directamente a tablas de datosGran ejemplo.Encontré esto mucho más fácil de entender que la Guía de secuencias de comandos o el Índice de secuencias de comandos.¡Gracias!
Re: Importar XML directamente a tablas de datosHola Stan,
No sabía que eras un hombre de JMP, pero ahora veo el pequeño ícono de JMP debajo de tu nombre, eso lo explica
Gracias de nuevo por su ayuda y, de hecho, sugeriré esto como una mejora futura.
Saludos,
Mateo.
Re: Importar XML directamente a tablas de datosMate,
¡Excelente!Me alegro de que lo hayas encontrado útil.Nuestro equipo de soporte es fantástico y siempre está listo para ayudar a los clientes con cualquier pregunta o comentario que pueda tener.
La mejor manera de agregar funciones a una versión futura de JMP es enviar la solicitud directamente a support@jmp.com .
Salud,
Stan
Re: Importar XML directamente a tablas de datosHola Pedro,
Gracias.Me alegra que te haya resultado útil el ejemplo.Apliqué mi implementación usando los ejemplos del índice de secuencias de comandos.Busqué "XML" en el índice de secuencias de comandos y arrojó varios resultados.
Enviaré una solicitud para actualizar la documentación para tener algunos ejemplos adicionales.
Salud,
Stan
Re: Importar XML directamente a tablas de datosStan, ese es un ejemplo genial del uso de PARSE XML.¿Está documentado en alguna parte?No pude encontrar mucho en la ayuda en línea de JMP 11 o en los libros de secuencias de comandos.
Re: Importar XML directamente a tablas de datosHola Stan,
eso funciona bien, muchas gracias! Jugaré con él para comprender completamente cómo funciona el JSL.
En caso de que alguien de JMP esté leyendo esto: la opción de importar un archivo de datos XML bien formado directamente en una tabla de datos (sin conocer la estructura o profundidad de los datos) sería una adición útil. ¿Es esto factible o posible?
Gracias,
Mateo.
Re: Importar XML directamente a tablas de datosHola Matt,
JMP actualmente no tiene una forma directa de importar archivos XML mediante el cuadro de diálogo Abrir archivo.
Sin embargo, podría usar el JSL para realizar esta tarea.
Vea a continuación un ejemplo de una forma de hacer esto.
Quizás alguien más pueda simplificar el guión para que sea más conciso.
Salud,
Stan
// asignar texto xml
xmlTxtArchivo = "\[
]\"
;
// Analizar el XML
Analizar XML ( xmlTxtArchivo ,
// Crea una nueva tabla
en elemento ( "Examen final" ,
Etiqueta de inicio (
dt = Nueva tabla ( "Mesa de obleas" ,
// Crear nuevas columnas
Nueva columna ( "Identificador de lote" , Personaje ) ,
Nueva columna ( "Tipo de probador" , Personaje ) ,
Nueva columna ( "Identificación de muerte" , Numérico ) ,
Nueva columna ( "Muere X" , Numérico ) ,
Nueva columna ( "Muere Y" , Numérico ) ,
Nueva columna ( "Nombre de la prueba" , Personaje ) ,
Nueva columna ( "Nombre de la unidad" , Personaje ) ,
Nueva columna ( "Nombre de PIN" , Personaje ) ,
Nueva columna ( "Resultado de marcador" , Numérico ) ,
) ;
fila = 1 ;
) // Fin de la etiqueta de inicio, prueba final en el elemento
) ,
// Obtener el siguiente elemento
en elemento ( "Lote" ,
Etiqueta de inicio (
Si ( fila > 0 , dt << Agregar filas ( 1 )) ;
columna ( dt , "Identificador de lote" )[ fila ()] = Atributo XML ( "lot_id" ) ;
columna ( dt , "Tipo de probador" )[ fila ()] = Atributo XML ( "tipo_probador" ) ;
) ,
etiqueta final ()
) ,
en elemento ( "Morir" ,
Etiqueta de inicio (
columna ( dt , "Identificación de muerte" )[ fila ()] = número ( Atributo XML ( "die_id" )) ;
columna ( dt , "Muere X" )[ fila ()] = número ( Atributo XML ( "morir_x" )) ;
columna ( dt , "Muere Y" )[ fila ()] = número ( Atributo XML ( "morir_y" )) ;
)
) ,
en elemento ( "Prueba" ,
Etiqueta de inicio (
columna ( dt , "Nombre de la prueba" )[ fila ()] = Atributo XML ( "nombre de la prueba" ) ;
columna ( dt , "Nombre de la unidad" )[ fila ()] = Atributo XML ( "unidad" ) ;
)
) ,
en elemento ( "Alfiler" ,
Etiqueta de inicio (
columna ( dt , "Nombre de PIN" )[ fila ()] = Atributo XML ( "nombre_pin" ) ;
columna ( dt , "Resultado de marcador" )[ fila ()] = número ( Atributo XML ( "resultado" )) ;
) ,
etiqueta final (
Si ( fila > 0 , dt << Agregar filas ( 1 )) ;
)
)
) ;
// eliminar fila adicional
no. = Fila N ( dt ) ;
dt << Ir a fila ( no. ) ;
dt << Ser seleccionado () ;
dt << Eliminar filas ;
// Rellenar los valores de fila que faltan
Por cada fila (
cr = fila () ;
Si ( cr != 1 ,
Si ( : ID de lote == "" , : ID de lote = Retraso ( : ID de lote , 1 ) , : ID de lote = : ID de lote ) ;
Si ( : Tipo de probador == "" , : Tipo de probador = Retraso ( : Tipo de probador , 1 ) , : Tipo de probador = : Tipo de probador ) ;
Si ( Está perdido ( : Muere la identificación ) == 1 , : Muere la identificación = Retraso ( : Muere la identificación , 1 ) , : Muere la identificación = : Muere la identificación ) ;
Si ( Está perdido ( : Muere X ) == 1 ,: Muere X = Retraso ( : Muere X , 1 ) , : Muere X = : Muere X ) ;
Si ( Está perdido ( : Muere Y ) == 1 , : Muere Y = Retraso ( : Muere Y , 1 ) , : Muere Y = : Muere Y ) ;
Si ( : Nombre de la prueba == "" , : Nombre de la prueba = Retraso ( : Nombre de la prueba , 1 ) , : Nombre de la prueba = : Nombre de la prueba ) ;
Si ( : Nombre de la unidad == "" , : Nombre de la unidad = Retraso ( : Nombre de la unidad , 1 ) , : Nombre de la unidad = : Nombre de la unidad ) ;
) ;
) ;