| Vocero |
Transcripción |
| Georg Raming (Siltronic AG) |
Hola a todos. |
| |
Hoy quiero hablar sobre estrategias y ejemplos para la adquisición de datos de fuentes distribuidas y complejas. |
| |
Me llamo Georg Raming y trabajo en Siltronic, donde desarrollo procesos de monocristales cultivados en ???. Tengo experiencia en evaluación estadística y procesos. |
| |
y formación en datos de productos y estadística. También soy responsable del software JMP en Siltronic y de actividades de formación para cientos de usuarios. |
| |
Siltronic es uno de los principales fabricantes mundiales de obleas de silicio hiperpuro altamente especializadas. |
| |
Algunos consejos técnicos. En esta presentación, trabajo con tablas de datos en lugar de bases de datos, pero los conceptos que se muestran aquí se utilizan originalmente para obtener datos de bases de datos relacionales mediante una conexión ODBC. |
| |
Y el generador de consultas JMP funciona de manera similar para las tablas de datos JMP y para las tablas de bases de datos. |
| |
¿Cuál es el objetivo de la presentación de hoy? Se trata de establecer algunas maneras de obtener datos de una base de datos de forma fácil y eficiente para integrarlos en su JMP o en una tabla de JMP. |
| |
Hablemos primero de los componentes básicos. |
| |
Por lo tanto, uno puede ser una tabla de datos JMP. |
| |
Si generó una tabla de datos a partir de una consulta de base de datos, podría verse así. Tomé la famosa tabla de ejemplo de JMP, Big Class, y consulté los datos mediante el Constructor de Consultas de JMP. Eliminé todo el script que venía con la tabla. |
| |
Y lo encontraras |
| |
para esta tabla de datos, si la consulta mediante JMP Query Builder, varios scripts y variables de tabla. |
| |
Dentro de esa variable, se puede ver el SQL. La definición de la tabla de datos se obtiene de la tabla o base de datos. |
| |
Y tienes estos guiones, un guion fuente que simplemente... |
| |
Obtiene otra copia de la tabla de datos original, como esta. Aquí se puede ver que los scripts originales también están ahí, pero también están presentes estos scripts del Generador de Consultas JMP. |
| |
También hay un script de modificación de consulta que le permite editar esta consulta en la tabla de datos JMP y también ejecutarla. |
| |
Y hay una consulta para actualizar la base de datos. Entonces, si cambias los datos en tu tabla de datos... |
| |
o hay nuevos datos en la tabla de datos, simplemente puede actualizar los datos presionando este botón. |
| |
Así. Aquí también los scripts provienen de la tabla de muestra. |
| |
Bien, entonces el siguiente bloque de construcción es JMP Query Builder. |
| |
Entonces, una vez que tenga una o varias tablas en la base de datos, desea realizar una consulta como aquí, tomé Big Class y Big Class Families de la tabla de muestra JMP |
| |
directorio y use el generador de consultas JMP como |
| |
Aquí en las tablas. Constructor de consultas JMP. |
| |
JMP ve estas mesas abiertas |
| |
También hay una en el campo principal, y puedo agregar una tabla secundaria como esta, y JMP crea automáticamente una unión entre ambas tablas. Así es como se unen. Puedes editar esta unión. |
| |
como esto. |
| |
Verás los detalles aquí. |
| |
Y luego puedes seguir construyendo la consulta. |
| |
Así. Tienes ambas mesas disponibles. |
| |
Aquí también puedes volver a editar la unión. |
| |
Y quizás quieras agregarlo todo |
| |
columnas, |
| |
como esto. |
| |
Y quizás quieras poner un filtro, |
| |
como esto. |
| |
Y ejecuta la consulta. Luego, de nuevo. |
| |
Obtenga esta tabla de resultados con los scripts de |
| |
Tablas de muestra que no necesitamos aquí. |
| |
Los borro. Y estos son los scripts y las variables escritos por JMP Query Builder. |
| |
como lo usé antes. Y de nuevo, aquí puedes |
| |
Edite esta consulta. El script de la consulta se guarda en esta tabla de resultados, como lo definimos anteriormente. |
| |
Así es como funciona el generador de consultas JMP. |
| |
Y como se mencionó anteriormente, funciona de la misma manera en las tablas de base de datos como funciona aquí en las tablas de muestra JMP. |
| |
El siguiente edificio... También puse aquí algunos scripts y siempre puedes cambiar desde Visual Query Builder |
| |
a un SQL personalizado |
| |
Consulta. Esto funciona aquí. Otro menú triangular rojo. |
| |
Convierte a SQL personalizado y lo que has definido aquí visualmente. |
| |
Puede definir aquí una consulta SQL de texto. |
| |
Puedes ejecutarlo |
| |
Y al mirar aquí esta consulta o presionar el botón Modificar consulta, |
| |
Verá la consulta de texto. Así que esta es solo una opción. |
| |
Conversión de consulta visual a consulta SQL personalizada. |
| |
Así que déjame ponerlo en orden. |
| |
Algunas mesas. Está bien. |
| |
El siguiente bloque de construcción es obtener datos de la base de datos y necesita una conexión ODBC a esas fuentes de datos. |
| |
Normalmente, las fuentes de datos y los controladores ODBC los configura el departamento de TI. Por lo tanto, en Windows, puede encontrar... |
| |
estas conexiones bajo el administrador de fuentes de datos ODBC. |
| |
Tenga en cuenta que el bitness de las fuentes de la base de datos debe ser compatible con JMP. En este caso, tengo una aplicación JMP de 64 bits y, por lo tanto, necesito controladores de 64 bits. |
| |
Y las fuentes de usuario las puedes configurar tú mismo. |
| |
Además, los DSN del sistema los configura el administrador, al igual que los controladores para diferentes tipos de bases de datos. |
| |
En caso de solución de problemas, puede utilizar esta pestaña para realizar un seguimiento. |
| |
A dónde fue la consulta y cuál puede ser el problema. |
| |
Un consejo: comprueba si la conexión funciona correctamente desde estas fuentes de datos. Si pulsas "Configurar" y el administrador de la fuente de datos, podrás comprobar la conexión de una fuente específica después de proporcionar tus credenciales. |
| |
Y si esta todo bien entonces el sistema te dice que |
| |
La conexión se realizó correctamente. |
| |
No es responsabilidad de Windows que la consulta no funcione. |
| |
También puede encontrar más detalles en el manual de JMP, en la documentación. Por ejemplo, "Uso de JMP", capítulo tres, lo encontrará aquí. |
| |
Menú de ayuda |
| |
y la biblioteca de documentación de JMP. Allí se explica detalladamente cómo usar todas estas herramientas. |
| |
Bien, entonces, en scripting y JSL, en el lenguaje de scripting, existen tres maneras de crear estas consultas de base de datos SQL. La primera es una nueva consulta SQL, como ya hemos usado antes. Se encuentra aquí, en el menú JMP, en Tabla, Generador de Consultas JMP para tablas JMP. |
| |
O para la base de datos, puede encontrarla aquí en el Generador de consultas de base de datos. |
| |
Nueva Consulta SQL es el comando más potente de todos. Genera un nuevo objeto de consulta que se puede guardar como un archivo de consulta JMP. Puede generar una tabla de datos directamente y proporciona un excelente origen de los datos, como vimos anteriormente con los scripts de modificación y actualización de origen. |
| |
Otro comando en JSL para consultar datos de una base de datos es el comando "abrir base de datos". Encontrará documentación de todos estos comandos en el índice de scripts. Como aquí, |
| |
si escribo |
| |
abierto |
| |
base de datos, |
| |
Aquí puedes encontrar cómo funciona para todos los comandos. |
| |
Y una tercera forma de conectarse a la base de datos y realizar algunas consultas es la conexión a la base de datos. |
| |
Se necesitan tres pasos. El primero es crear una conexión a la base de datos. El segundo es enviar las consultas (una o varias) a la base de datos. Y, por último, hay que cerrar la conexión a la base de datos. |
| |
Y por último, si escribiste algunos buenos guiones. |
| |
Debes hacerlo accesible para ti, o quizás para tus colegas, y hay al menos dos maneras. Una es incluirlo en un complemento para que puedas compartirlo fácilmente con otros. La otra posibilidad es incluirlo en un menú personalizado, como hice aquí. |
| |
Y lo podrás encontrar |
| |
En el menú, luego aquí, así. Hay dos complementos instalados en mi sistema. |
| |
Y aquí está mi personal |
| |
Menú personalizado. |
| |
Ya hemos terminado los bloques de construcción. Pasemos a los ejemplos. |
| |
Y el primer ejemplo es utilizar un script de tabla para guardar el diseño de la tabla y la consulta. |
| |
Podría verse así. Si tiene una tabla de datos que viene... |
| |
Desde la base de datos y también le pones algunos scripts para obtener un gráfico bonito. |
| |
Quizás quieras usarlo a diario. Y aquí hay una buena posibilidad. |
| |
para decir, copiar script de tabla sin datos. |
| |
Y luego puedes utilizar este script. |
| |
Me gustaría hacer un nuevo guion. Lo siento. |
| |
Y pégalo en la ventana del script. |
| |
Y aquí viene esa nueva tabla simplemente presionando el botón Ejecutar Script. |
| |
Viene como ???, sin datos. Puedes guardar este script, por ejemplo, en tu menú y, para obtener los datos, que pueden ser una gran cantidad, simplemente pulsa el botón "Actualizar desde la base de datos" y la tabla se llenará con todos los datos, ya sea de la base de datos o de otro lugar. |
| |
Así que esta es una buena posibilidad. |
| |
simplemente usar el script |
| |
para obtener los datos de la base de datos. |
| |
El segundo ejemplo |
| |
es utilizar una consulta desde dentro de una tabla. |
| |
Así: si tienes una tabla de datos y quieres consultar datos adicionales, según el contenido de la tabla actual. |
| |
Así que lo mostraré. |
| |
Borro algunas filas |
| |
Y con estos tres nombres, quiero ir a una tabla diferente para buscar algunos datos. |
| |
Y esto se hace mediante este script. |
| |
Y aquí puedes ver en esta tabla que obtuve los nombres e hice una consulta. |
| |
para consultar datos de otra tabla de Big Class Families. |
| |
¿Y cómo funciona? |
| |
Puedes encontrarlo en este script. |
| |
Es bastante breve. Aquí, los nombres se toman de la primera consulta de tabla, tal como se define, como aquí. |
| |
Los nombres se sustituyen en la consulta. |
| |
Y aquí se plantea la cuestión de las Familias de Clases Grandes. |
| |
Está bien, necesito cerrar esta mesa también. |
| |
Este es un script de consulta personalizado con interfaz gráfica de usuario. Por ejemplo, si tiene una tabla de datos grande en la base de datos y necesita con frecuencia pequeñas cantidades de datos, |
| |
Por supuesto, puedes extraer todos los datos, pero quizás sea más flexible y eficiente obtener datos bien filtrados. Funciona así. |
| |
Una tabla para filtrar los datos y otra con todas las columnas de la tabla de big data. Aquí podemos filtrar gráficamente. Por ejemplo, para mujeres y edad, solo utilicé dos columnas para filtrar. |
| |
Así, 12 y 13 años. |
| |
Y es posible que quiera tener todas las columnas o eliminar sólo una. |
| |
Lo pregunto |
| |
Y aquí se obtiene el resultado correcto con estas restricciones. Como se puede ver aquí, en el script fuente o en el SQL, |
| |
Las restricciones están aquí |
| |
desde la interfaz gráfica de usuario definida. |
| |
¿Y cómo? |
| |
¿El scripting funciona? Es un poco... |
| |
Más complejo, por supuesto. Por eso existe la consulta de filtro. |
| |
La consulta de columnas. |
| |
Aquí hay un script, una función que convierte el |
| |
condiciones de filtro de datos en una condición SQL. |
| |
Esta es la parte GUI, interfaz gráfica de usuario. |
| |
Y aquí, finalmente, se evalúan los resultados de la interfaz gráfica de usuario y se colocan en este script personalizado. |
| |
El siguiente ejemplo es una consulta de dos pasos. Supongamos que primero debe consultar algunos ID de lote. |
| |
Y para llevar estos ID a otra consulta, tal vez a otra tabla de datos para obtener datos adicionales, |
| |
Puedes hacerlo así. Aquí tomé la tabla de datos de Big Class como filtro. Filtré solo los hombres. |
| |
y |
| |
Alumno igual o menor a 13 años. |
| |
Y tomé estos nombres para consultar en Familias de Clase Grande, todas las filas, como puedes ver aquí. |
| |
Y |
| |
Ambas tablas están conectadas a través de una unión virtual, como puedes ver aquí. |
| |
Entonces |
| |
Esta tabla hace referencia, mediante el nombre, a la otra tabla, a la tabla de filtros. Y puedo usar |
| |
las columnas de la tabla de filtros aquí en esta tabla como si fueran |
| |
en esta tabla. |
| |
Esta es una buena manera de tener varias tablas y utilizar el contenido en una sola tabla. |
| |
Y el último ejemplo es |
| |
Cómo ejecutar dos o más consultas en segundo plano en paralelo. No tengo ningún ejemplo aquí. Se discute en la Comunidad JMP. Si te interesa, puedes echarle un vistazo. |
| |
Así que ahora he terminado con mis ejemplos y los guiones del diario y del material de presentación están disponibles en línea. |
| |
Gracias a la comunidad por las excelentes discusiones y a los desarrolladores de JMP por crear y mantener este excelente software. Y, por último, gracias por su atención. |