Unir diferentes tablas con un script generalHola,
Sé que podemos unir tablas fácilmente bajo el encabezado de tabla, pero estoy tratando de desarrollar un script que pueda unir tablas sin tener que especificar los nombres de las columnas.
Tengo tres tablas de datos. Las dos primeras columnas son siempre las mismas, pero las demás pueden cambiar de nombre. La cosa se complica porque, para un lote diferente, puedo usar las mismas tres tablas de datos, pero el nombre de las dos primeras columnas puede cambiar. Por lo tanto, intento unir estas tres tablas usando la posición de las dos primeras columnas como columna de enlace y agregar las demás columnas en una sola tabla de datos.
Intenté usar variables o posiciones de columnas, pero no funcionó. También probé con la función New SQL Query(), pero creo que también debe especificar columnas.
¿Alguien tiene alguna idea sobre cómo podemos desarrollar un script general que pueda simplemente unir tres tablas diferentes en una?
Combinación y limpieza de datosRe: Unir diferentes tablas con un script generalLo más fácil sería escribir un script que renombre las columnas para que sean las mismas, pero también es posible escribir un script para utilizar nombres de columnas diferentes.
Re: Unir diferentes tablas con un script general¿Hay alguna forma de que el script sea "general"? ¿Para que no sea necesario especificar los nombres de las columnas dentro del script?
¿Tal vez sea posible que el script tome los nombres de las columnas de los propios datos?
Re: Unir diferentes tablas con un script generalDescubrí el guión:
dt = {Tabla de datos ("X"), Tabla de datos ("Y"), Tabla de datos ("Z"});
// Empecemos con la primera tabla como base
unidoDT = dt[1];
// Unir secuencialmente cada tabla restante al resultado acumulado
Para (i = 2, i <= N elementos (dt), i++,
tmpDT = joinDT << Unir(
Con(respuestaTablas[i]),
Eliminar múltiplos (1,1),
Incluir no coincidencias (0,0),
Fusionar columnas con el mismo nombre,
Conservar el orden de la mesa principal (1)
);
// Renombrar la tabla intermedia
tmpDT << Establecer nombre("Tabla de datos intermedios");
// Reemplace joinDT con la tabla recién unida para la próxima iteración
unidoDT = tmpDT;
);
Desearía que hubiera más información en el índice de scripts sobre esta parte de la función Join:
Eliminar múltiplos (1,1),
Incluir no coincidencias (0,0),
Fusionar columnas con el mismo nombre,
Conservar el orden de la mesa principal (1)
¡Tuve que probar y equivocarme para descubrirlo!
Re: Unir diferentes tablas con un script generalGeneralmente, la forma de aprender este tipo de cosas es hacerlo de forma interactiva en JMP. Puedes consultar la página de ayuda en el Índice de scripts, donde encontrarás más explicaciones : Uso de JMP > Reestructurar datos > Unir tablas de datos.
Re: Unir diferentes tablas con un script generalGracias, no sabía que lleva directamente a la página de soporte. Es útil, pero no explica el script. Eso es lo que buscaba, ya que quería crear un complemento que lo hiciera automáticamente.
Re: Unir diferentes tablas con un script generalLa Referencia de sintaxis JSL a veces es mejor que la página de ayuda que abre la Guía de scripting (a veces hace referencia a la Referencia de sintaxis JSL)
Referencia de sintaxis JSL > Mensajes JSL > Mensajes de la tabla de datos y busque <

Puede encontrar la versión .pdf de la Referencia de sintaxis JSL (prefiero que la búsqueda de la Ayuda de JMP sea otra cosa...) en la documentación de JMP.
Además, la página de ayuda explica las opciones, pero puede ser un poco más difícil comprenderlas completamente desde la página de ayuda de la plataforma:
Drop Multiples(1,1),

Include Nonmatches(0,0),

Fusionar columnas con el mismo nombre,

Preserve Main Table Order(1)

En general, prueba y error (o dejar que JMP cree el script por usted) es una buena forma de comenzar a aprender JSL.
Re: Unir diferentes tablas con un script general¡Eso es muy útil, muchas gracias por indicarme la dirección correcta!