Saltar al contenido principal

Join

El prefijo join une la tabla cargada con una tabla existente o con la última tabla de datos creada.

El efecto de unir datos es ampliar la tabla de destino con un conjunto adicional de campos o atributos, es decir, aquellos que aún no están presentes en la tabla de destino. Cualquier nombre de campo común entre el conjunto de datos de origen y la tabla de destino se utiliza para determinar cómo asociar los nuevos registros entrantes. Esto se conoce comúnmente como una "unión o join natural". Una operación de unión de Qlik puede dar lugar a que la tabla de destino resultante tenga más o menos registros de los que tenía al principio, según la singularidad de la asociación de unión y el tipo de unión empleado.

Hay cuatro tipos de uniones:

Left joins son el tipo de unión más común. Por ejemplo, si tiene un conjunto de datos de transacciones y le gustaría combinarlo con un conjunto de datos de referencia, normalmente usaría un Left Join. Primero cargaría la tabla de transacciones, luego cargaría el conjunto de datos de referencia a la vez que lo une mediante un prefijo Left Join en la tabla de transacciones ya cargada. Un Left Join mantendría todas las transacciones tal como están y agregaría los campos de datos de referencia complementarios donde se encuentra un resultado coincidente.

Cuando tiene dos conjuntos de datos en los que solo le importan los resultados en los que hay una asociación coincidente, considere usar un Inner Join. Esto eliminará todos los registros tanto de los datos de origen cargados como de la tabla de destino si no se encuentra ninguna coincidencia. Como resultado, esto puede dejar su tabla de destino con menos registros que antes de que se llevara a cabo la operación de unión.

Cuando necesite conservar tanto los registros de destino como todos los registros entrantes, utilice un Outer Join. Cuando no se encuentra ningún resultado coincidente, todavía se conserva cada conjunto de registros, mientras que los campos del lado opuesto de la combinación permanecerán vacíos (nulos). Los outer joins generalmente tienen poco uso práctico.

Este tipo de unión mantiene todos los registros a punto de cargarse, a la vez que reduce los registros de la tabla de destino de la unión a solo aquellos registros en los que hay una coincidencia de asociación en los registros entrantes. Este es un tipo de unión de nicho que a veces se usa como un medio para reducir una tabla de registros ya cargada previamente a un subconjunto requerido.

Si se omite la palabra clave, Inner Join es el tipo de unión predeterminado.

Conjuntos de resultados a modo de ejemplo de diferentes tipos de operaciones de unión

Conjuntos de resultados a modo de ejemplo, de diferentes tipos de operaciones de unión, con una representación de antes y después de las tablas de datos que siguen a cada operación.
Nota informativaSi no hay nombres de campo en común entre el origen y el destino de una operación de unión, la unión dará como resultado un producto cartesiano de todas las filas; esto se denomina "unión cruzada".

Conjunto de resultados a modo de ejemplo de una operación de "cross join"

Comparación del antes y después de los datos de entrada con el resultado de una operación de cross join (que puede implicar una operación de unión de cualquier tipo).

Sintaxis:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

Argumentos
Argumento Descripción
tablename Tabla designada que debe compararse con la tabla cargada.
loadstatement o selectstatement La sentencia LOAD o SELECT para la tabla cargada.

Estos temas le ayudarán a trabajar con esta función:

Temas relacionados
Tema Descripción
Combinar tablas con Join y Keep Este tema proporciona una explicación más detallada de los conceptos de “unir” y “mantener” conjuntos de datos.
Keep El prefijo de carga Keep es similar al prefijo Join, pero no combina los conjuntos de datos de origen y de destino. En su lugar, recorta cada conjunto de datos según el tipo de operación adoptada (inner, outer, left, o right).

Ejemplo 1 - Left join: Enriquecer una tabla de destino con un conjunto de datos de referencia

Ejemplo 2 – Inner join: Combinar solo registros coincidentes

Ejemplo 3 – Outer join: Combinar conjuntos de registros superpuestos

Ejemplo 4 – Right join: Recortar una tabla de destino por un conjunto de datos maestro secundario