Comando JOIN

Combina campos de dos tablas de Analytics en una nueva tabla única de Analytics.

Nota

Si desea usar la correspondencia inexacta al unir tablas, consulte Comando FUZZYJOIN.

Sintaxis

JOIN {PKEY campos_clave_primarios|PKEY ALL} {FIELDS campos_primarios|FIELDS ALL} {SKEY campos_clave_secundarios|SKEY ALL} <WITH campos_secundarios|WITH ALL> {sin_palabra_clave|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF prueba> TO nombre_tabla <LOCAL> <OPEN> <WHILE prueba> <FIRST rango|NEXT rango> <APPEND> <PRESORT> <SECSORT> <ISOLOCALE código_lugar>

Parámetros

Nombre Descripción
PKEY campos_clave_primarios | PKEY ALL

El o lo campos clave, o una expresión, de la tabla primaria.

  • campos_clave_primarios use el o los campos especificados
  • ALL usa todos los campos de la tabla
FIELDS campos_primarios | FIELDS ALL

Los campos o expresiones de la tabla primaria que deben incluirse en la tabla de salida unida.

  • campos_primarios incluya el o los campos especificados
  • ALL incluya todos los campos de la tabla

Nota

Debe especificar explícitamente los campos clave primarios o secundarios si desea incluirlos en la tabla unida. Si especifica ALL, también se los incluye.

SKEY campos_clave_secundarios | SKEY ALL

El o los campos clave, o una expresión, de la tabla secundaria.

  • campos_clave_secundarios use el o los campos especificados
  • ALL usa todos los campos de la tabla

WITH campos_secundarios | WITH ALL

opcional

Los campos o expresiones de la tabla secundaria que deben incluirse en la tabla de salida unida.

  • campos_secundarios incluya el o los campos especificados
  • ALL incluya todos los campos de la tabla

Nota

Debe especificar explícitamente los campos clave primarios o secundarios si desea incluirlos en la tabla unida. Si especifica ALL, también se los incluye.

No puede especificar WITH si está usando el tipo de unión UNMATCHED.

sin_palabra_clave | MANY | UNMATCHED | PRIMARY |SECONDARY | PRIMARY SECONDARY

El tipo de unión que se debe realizar.

sin_palabra_clave (omitir todas las palabras clave del tipo de unión)

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • todos los registros primarios con correspondencia y el primer registro secundario con correspondencia

Primarios y secundarios con correspondencia

(1ra correspondencia secundaria)

MANY

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • todos los registros primarios con correspondencia y todos los registros secundarios con correspondencia
  • un registro por cada correspondencia entre las tablas primaria y secundaria

Primarios y secundarios con correspondencia

(todas las correspondencias secundarias)

UNMATCHED

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • registros primarios sin correspondencia

Primarios sin correspondencia

 

PRIMARY

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • todos los registros primarios (con y sin correspondencia) y el primer registro secundario con correspondencia

Todos los primarios y los secundarios con correspondencia

Nota

La palabra clave BOTH equivale a especificar PRIMARY.

SECONDARY

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • todos los registros secundarios (con y sin correspondencia) y todos los registros primarios con correspondencia

    Únicamente la primera instancia de los registros secundarios con correspondencia duplicados se une con un registro primario.

Todos los secundarios y los primarios con correspondencia

PRIMARY SECONDARY

La tabla de salida unida contiene lo siguiente: Opción correspondiente del cuadro de diálogo Unir
  • todos los registros primarios y todos los registros secundarios (con correspondencia o sin ella)

    Únicamente la primera instancia de los registros secundarios con correspondencia duplicados se une con un registro primario.

Todos los primarios y secundarios

IF prueba

opcional

Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta únicamente en los registros que cumplen la condición.

Nota

El parámetro IF se evalúa únicamente con los registros que quedan en la tabla después de aplicar los parámetros de alcance (WHILE, FIRST, NEXT).

Nota

Para la mayoría de los tipos de combinaciones, una condición IF se aplica solo a la tabla primaria.

La única excepción es una combinación de muchos a muchos, en la que la condición IF también puede hacer referencia a la tabla secundaria.

TO nombre_tabla

El lugar al que se deben enviar los resultados del comando:

  • nombre_tabla guarda los resultados en una tabla de Analytics

    Especifique el nombre_tabla como una cadena entre comillas con la extensión de archivo .FIL. Por ejemplo: TO "Salida.FIL"

    Por valor predeterminado, el archivo de datos de la tabla (.FIL) se guarda en la carpeta que contiene el proyecto de Analytics.

    Utilice una ruta de archivo absoluta o relativa para guardar el archivo de datos en una carpeta existente o una diferente:

    • TO "C:\Salida.FIL"
    • TO "Resultados\Salida.FIL"

    Nota

    Los nombres de las tablas tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.

LOCAL

opcional

Guarda el archivo de salida en la misma ubicación que el proyecto de Analytics.

Nota

Aplicable únicamente al ejecutar el comando en una tabla de servidor con un archivo de salida que es una tabla de Analytics.

El parámetro LOCAL debe ir inmediatamente después del parámetro TO.

OPEN

opcional

Abre la tabla creada por el comando después de la ejecución del comando. Solo es válido si el comando crea una tabla de salida.

WHILE prueba

opcional

Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta hasta que la condición se evalúa como falsa o hasta que se llega al final de la tabla.

Nota

Si usa WHILE junto con FIRST o NEXT, el procesamiento de registros se detiene al llegar a un límite.

FIRST rango | NEXT rango

opcional

La cantidad de registros que se procesarán:

  • FIRST comienza a procesar desde el primer registro hasta que se llega al número de registros especificado
  • NEXT comienza a procesar desde el registro seleccionado actualmente hasta que se llega al número de registros especificado

Utilice intervalo para especificar la cantidad de registros que se deben procesar.

Si omite FIRST y NEXT, se procesan todos los registros de forma predeterminada.

APPEND

opcional

Anexa la salida del comando al final de un archivo existente en lugar de sobrescribir el archivo.

Nota

Debe asegurarse de que la estructura de la salida del comando y del archivo existente sean idénticas:

  • los mismos campos
  • el mismo orden de campos
  • los campos coincidentes son de la misma longitud
  • los campos coincidentes tienen el mismo tipo de datos

Analytics anexa la salida a un archivo existente sin importar cuál sea su estructura. Si la estructura de la salida y la del archivo existente no coinciden, es posible que los datos que se obtengan estén incompletos, mezclados o sean imprecisos.

PRESORT

opcional

Ordena la tabla primaria por el campo primario antes de ejecutar el comando.

Nota

No puede utilizar PRESORT dentro del comando GROUP.

Indexar en lugar de ordenar

Puede indexar la tabla primaria en lugar de ordenarla. Con tablas extensas, la indexación en lugar del ordenamiento puede reducir el tiempo necesario para unir las tablas.

Si está uniendo dos tablas con un campo clave común indexado, omita PRESORT y SECSORT.

SECSORT

opcional

Ordena la tabla secundaria por el campo clave secundario antes de ejecutar el comando.

Nota

No puede utilizar SECSORT dentro del comando GROUP.

Indexar en lugar de ordenar

Puede indexar la tabla secundaria en lugar de ordenarla. Con tablas extensas, la indexación en lugar del ordenamiento puede reducir el tiempo necesario para unir las tablas.

Si está uniendo dos tablas con un campo clave común indexado, omita PRESORT y SECSORT.

ISOLOCALE código_lugar

opcional

Nota

Aplicable únicamente en la edición Unicode de Analytics.

El idioma (configuración regional) del sistema en el formato idioma_país. Por ejemplo, para francés de Canadá, ingrese el código fr_ca.

Use los siguientes códigos:

  • idioma códigos de idioma estándar ISO 639
  • país códigos de país estándar ISO 3166

    Si no especifica un código de país, se utiliza el país predeterminado para el idioma.

Si no utiliza ISOLOCALE, se utiliza la configuración regional predeterminada del sistema.

Ejemplos

Unir dos tablas como una manera de descubrir empleados que también pueden ser proveedores

El siguiente ejemplo une las tabla Empmast y Proveedor utilizando el domicilio como el campo clave común (los campos Domicilio y Calle_proveedor).

El comando JOIN crea una nueva tabla con los registros primarios y secundarios correspondientes, lo cual genera una lista de todos los empleados y proveedores que tienen el mismo domicilio.

OPEN Empmast PRIMARY
OPEN Proveedor SECONDARY
JOIN PKEY Domicilio FIELDS NúmEmp Nombre Apellido Domicilio SKEY Calle_proveedor WITH Núm_proveedor Calle_proveedor TO "Correspondencia_empleado_proveedor" OPEN PRESORT SECSORT

Esta versión del comando JOIN incluye todos los campos de las tablas primaria y secundaria en la tabla de salida unida.

OPEN Empmast PRIMARY
OPEN Proveedor SECONDARY
JOIN PKEY Domicilio FIELDS ALL SKEY Calle_proveedor WITH ALL TO "Correspondencia_empleado_proveedor" OPEN PRESORT SECSORT

Unir dos tablas es una manera de descubrir registros de cuentas por cobrar que no coinciden con ningún cliente

El siguiente ejemplo une las tablas Ar y Cliente utilizando el Número de cliente (NúmClien) como el campo clave común.

El comando JOIN utiliza el tipo de unión UNMATCHED para crear una nueva tabla con los registros primarios sin coincidencia, lo cual genera una lista de registros Ar que no están asociados con ningún registro de Cliente.

OPEN Ar PRIMARY
OPEN Cliente SECONDARY
JOIN PKEY NúmClien FIELDS NúmClien Vencimiento Monto SKEY NúmClien UNMATCHED TO "Clientenoencontrado.fil" OPEN PRESORT SECSORT

Observaciones

Nota

Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.