Comando FUZZYJOIN
Utiliza la correspondencia inexacta para combinar campos de dos tablas de Analytics en una nueva tabla única de Analytics.
Nota
Para detectar valores casi idénticos (duplicados inexactos) en un único campo de caracteres, consulte Comando FUZZYDUP.
Para ver diferentes opciones al unir tablas con valors de campo clave con una correspondencia exacta, consulte Comando JOIN.
Sintaxis
FUZZYJOIN {DICE PERCENT porcentaje NGRAM longitud_n-grama|LEVDISTANCE DISTANCE valor} PKEY campo_clave_primario SKEY campo_clave_secundario {FIELDS campos_primarios|FIELDS ALL} <WITH campos_secundarios|WITH ALL> <IF prueba> <OPEN> <FIRSTMATCH> TO nombre_tabla <WHILE prueba> <FIRST rango|NEXT rango> <APPEND>
Nota
No puede ejecutar el comando FUZZYJOIN de forma local en una tabla de servidor.
Debe especificar el nombre del comando FUZZYJOIN completo. No puede abreviarlo
Parámetros
Nombre | Descripción |
---|---|
DICE PERCENT porcentaje NGRAM longitud_n-grama | LEVDISTANCE DISTANCE valor |
El algoritmo de correspondencia inexacta que se debe usar. DICE utiliza el algoritmo del coeficiente de Dice
LEVDISTANCE utilice el algoritmo de distancia de Levenshtein
|
PKEY campo_clave_primario |
La expresión o el campo clave de caracteres de la tabla primaria. Puede especificar únicamente un campo clave primario. |
SKEY campo_clave_secundario |
La expresión o el campo clave de caracteres de la tabla secundaria. Puede especificar únicamente un campo clave secundario. |
FIELDS campos_primarios | FIELDS ALL |
Los campos o expresiones de la tabla primaria que deben incluirse en la tabla de salida unida.
Nota Debe especificar explícitamente el campo clave primario si desea incluirlo en la tabla unida. Si especifica ALL, también se lo incluye. |
WITH campos_secundarios | WITH ALL opcional |
Los campos o expresiones de la tabla secundaria que deben incluirse en la tabla de salida unida.
Nota Debe especificar explícitamente el campo clave secundario si desea incluirlo en la tabla unida. Si especifica ALL, también se lo incluye. |
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 La condición IF puede hacer referencia a la tabla primaria, a la tabla secundaria o a ambas. |
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. |
FIRSTMATCH opcional |
Especifica que cada valor clave primario se une exclusivamente a la primera instancia de cualquier clave secundaria correspondiente. Si la primera instancia es una correspondencia exacta, las correspondencias inexactas posteriores del valor clave primario no se incluyen en la tabla de salida unida. Si omite FIRSTMATCH, el comportamiento predeterminado de FUZZYJOIN es unir cada valor clave primario con todas las instancias de cualquier correspondencia de clave secundaria. FIRSTMATCH es útil si solo desea saber si existe alguna correspondencia, exacta o inexacta, entre dos tablas, y desea reducir el tiempo de procesamiento necesario para identificar todas las correspondencias. También puede usar FIRSTMATCH si está seguro de que, como máximo, existe solo una correspondencia en la tabla secundaria para cada valor de clave primaria. Nota FIRSTMATCH está disponible únicamente como un parámetro de ACLScript. La opción no está disponible en la interfaz de usuario de Analytics. |
TO nombre_tabla |
El lugar al que se deben enviar los resultados del comando:
|
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:
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:
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. |
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:
Si no utiliza ISOLOCALE, se utiliza la configuración regional predeterminada del sistema. |
Ejemplos
Utilice la correspondencia inexacta para unir dos tablas como una forma de descubrir empleados que también puedan 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 FUZZYJOIN crea una nueva tabla con registros primarios y secundarios con una correspondencia exacta o una correspondencia inexacta. El resultado es una lista de todos los empleados y proveedores que tienen el mismo domicilio o un domicilio similar.
FUZZYJOIN con el algoritmo de coeficiente de Dice
OPEN Empmast PRIMARY OPEN Proveedor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Domicilio SKEY Calle_proveedor FIELDS Número_empleado Nombre Apellido Domicilio WITH Número_proveedor Nombre_proveedor Calle_proveedor OPEN TO "Correspondencia_empleado_proveedor"
FUZZYJOIN con el algoritmo de distancia de Levenshtein
OPEN Empmast PRIMARY OPEN Proveedor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Domicilio SKEY Calle_proveedor FIELDS Número_empleado Nombre Apellido Domicilio WITH Número_proveedor Nombre_proveedor Calle_proveedor OPEN TO "Correspondencia_empleado_proveedor"
Incluir todos los campos
Esta versión del comando FUZZYJOIN incluye todos los campos de las tablas primaria y secundaria en la tabla de salida unida.
OPEN Empmast PRIMARY OPEN Proveedor SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Domicilio SKEY Calle_proveedor FIELDS ALL WITH ALL OPEN TO "Correspondencia_empleado_proveedor"
Observaciones
Nota
Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.
Coincidir mayúsc.-minúsc.
El comando FUZZYJOIN no distingue entre mayúsculas y minúsculas, sin importar qué algoritmo de correspondencia inexacta utilice. Por lo tanto, "SMITH" equivale a "smith."
Espacios en blanco iniciales y finales
El comando FUZZYJOIN recorta automáticamente los espacios en blanco al principio y al final de los campos, sin importar qué algoritmo de correspondencia utilice. No es necesario usar las funciones TRIM( ) o ALLTRIM( ) al especificar los campos clave primario y secundario.