Unión de inexactos

Información de concepto

Comando FUZZYJOIN

Una unión de inexactos de Analytics utiliza la correspondencia inexacta de los valores del campo clave para combinar dos tablas de Analytics en una tercera tabla. En la mayoría de los aspectos, una unión de inexactos es como una unión de Analytics común (consulte Unir tablas). La principal diferencia es que, además de unir los registros basándose en los valores de los campos clave con una correspondencia exacta, una unión de inexactos puede unir registros que tienen una correspondencia aproximada.

La unión de inexactos es útil cuando las claves primaria y secundaria contienen el mismo tipo de datos, pero con leves diferencias de forma. O si los datos de los campos clave tienen pequeñas irregularidades, como errores de tipeo, que podrían impedir una correspondencia exacta.

Ejemplo

Escenario

Desea identificar a los proveedores que también son empleados como una de las formas de analizar datos para posibles pagos inadecuados.

Enfoque

Usted une la tabla maestra Vendor (Proveedores) con la tabla Employees (Empleados) utilizando el campo de domicilio como la clave común (Vendor_Street y Emp_Address). Sin embargo, la forma de los datos de domicilio en los campos clave tienen leves diferencias; por eso, utiliza una unión de inexactos en lugar de una unión común.

Una mirada a algunos de los datos

Sin un trabajo significativo de limpieza y unificación de los datos, sería imposible unir los valores de clave primaria y secundaria que se muestran a continuación utilizando una unión común de Analytics, aun cuando los domicilios son bastante similares.

Valores de clave primaria Valores de clave secundaria
605 3rd Avenue 605 Third Avenue
400 High St SE 400 High Street S.E.
2203 Rowan Street 2203 Rowen St

Aunque se realizara una limpieza y unificación de los datos, los valores clave con diferencias mínimas de ortografía, como "Rowan" y "Rowen", probablemente no coincidirían.

Los valores clave podrían unirse con una unión de inexactos, según la configuración que se utilice.

Resultados de la salida

En el ejemplo de la tabla unida a continuación, las correspondencias exactas de los campos clave se destacan en violeta y las correspondencias inexactas de los campos clave, en verde.

Comparación entre unión de inexactos y duplicados inexactos

Una unión de inexactos analiza los valores de los campos clave de dos tablas. Si desea comprobar un campo único en una tabla única de Analytics para detectar valores casi idénticos, consulte Análisis de los falsos duplicados.

Mejorar la efectividad de la unión de inexactos

Puede mejorar significativamente la efectividad de la unión de inexactos incorporando una o más de las siguientes técnicas:

  • ordenar los elementos individuales en los valores del campo clave primario y secundario
  • quitar los elementos genéricos de los valores del campo clave primario y secundario
  • armonizar los valores del campo clave primario y secundario

Estas técnicas le permiten usar ajustes de inexactitud más estrictos y obtener las mismas coincidencias inexactas, al tiempo que se reduce la cantidad de coincidencias falso positivas. Puede usar las técnicas de manera independiente o combinadas.

Crear una expresión o un campo calculado

Para usar cualquiera de estas técnicas, debe crear una expresión o un campo calculado usando la función adecuada de Analytics y uno o ambos campos clave.

Si desea obtener más información sobre las expresiones, consulte Utilizar expresiones.

Si desea obtener más información acerca de los campos calculados, consulte Definir campos calculados.

Nota

El cuadro de diálogo Unir inexactos no permite crear una expresión en un campo clave secundario. Sin embargo, puede crear manualmente una expresión de campo clave secundario en la línea de comandos de Analytics o en un script. Otra opción consiste en crear un campo calculado para usarlo como campo clave secundario.

Ordenar los elementos individuales en los valores del campo clave

La función SORTWORDS( ) puede mejorar la efectividad de la unión de inexactos ordenando secuencialmente los elementos individuales del campo clave primario y secundario.

Ordenar los elementos, como los componentes de una dirección, puede hacer que los valores del campo con la misma información, pero con un formato diferente, se asemejan más entre sí. Una mayor semejanza mejora las posibilidades de que los valores del campo clave sean seleccionados como duplicados inexactos.

Si desea obtener más información, consulte Función SORTWORDS( ).

Si desea ver un video con una descripción general de SORTWORDS( ), vea Fuzzy Matching Using SORTWORDS() (Coincidencias inexactas con SORTWORDS()) (solo disponible en inglés).

Nota

Ordenar los elementos de los valores del campo clave es más conveniente para unir inexactos utilizando el algoritmo de distancia de Levenshtein.

Ordenar los elementos al unir inexactos con el algoritmo del coeficiente de Dice puede no ser beneficioso. Pruebe un conjunto de datos de muestra antes de decidir si usar SORTWORDS( ) junto con el algoritmo del coeficiente de Dice en un entorno de producción.

¡Precaución!

Si usa SORTWORDS( ) junto con la unión de inexactos, debe aplicar SORTWORDS( ) a ambas cadenas o ambos campos que se comparan.

Quitar elementos genéricos de los valores del campo clave

La función OMIT( ) puede mejorar la efectividad de la unión de inexactos quitando los elementos genéricos, como "Corporation" o "Inc.", o los caracteres como comas, puntos y símbolos "&", de los valores del campo clave primario y secundario.

La eliminación de los elementos genéricos y la puntuación centra la correspondencia inexacta únicamente en la parte de los valores del campo clave donde puede haber una diferencia significativa.

Si desea obtener más información, consulte Función OMIT( ).

Armonizar los valores del campo clave

Las funciones REPLACE( ) o REGEXREPLACE( ) pueden mejorar la efectividad de la unión de inexactos armonizando las diferentes formas del mismo elemento en los valores del campo primario y secundario. Por ejemplo, puede armonizar "Street", "St." y "St" para utilizar siempre el valor "St".

Armonizar los elementos puede hacer que los valores del campo clave con la misma información, pero un formato diferente, se asemejen más entre sí. Una mayor semejanza mejora las posibilidades de que los valores del campo clave sean seleccionados como duplicados inexactos.

Si desea obtener más información, consulte Función REPLACE( ) para realizar reemplazos directos y Función REGEXREPLACE( ) para realizar reemplazos más complejos.

Tamaño de la tabla de salida y rendimiento del comando

Tamaño de la tabla de salida

La unión de inexactos es similar a la unión de muchos a muchos de Analytics. En principio, todos los valores clave primarios podrían tener una correspondencia con todos los valores clave secundarios. El tamaño de la tabla de salida puede ser muchas veces mayor que el tamaño de cualquiera de las tablas de entrada primaria o secundaria.

Desempeño del comando

Los algoritmos de correspondencia inexacta se aseguran de que solo se unan los valores clave que tienen un grado específico de imprecisión o los valores con una correspondencia exacta. Sin embargo, se deben probar todas las posibles correspondencias primarias. Esto significa que el proceso de unión de inexactos puede llevar mucho tiempo. La cantidad de pruebas individuales que se deben realizar es igual a la cantidad de registros de la tabla primaria por la cantidad de registros de la tabla secundaria.

Limitar la coincidencia a la primera correspondencia secundaria

Puede reducir significativamente el tiempo de procesamiento y reducir el tamaño de los resultados de la salida seleccionando Unir únicamente la primera instancia de las correspondencias clave secundarias. Al activar esta opción, se especifica que cada valor clave primario se une exclusivamente a la primera instancia de cualquier valor clave secundario.

La activación de esta opción es adecuada en cualquiera de las siguientes situaciones:

  • ¿Hay alguna correspondencia? 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.
  • Una correspondencia como máximo está seguro de que existe como máximo una correspondencia en la tabla secundaria para el valor de clave primaria.

Esta opción no es adecuada si necesita obtener resultados que contengan todas las uniones posibles entre los valores de clave primaria y secundaria.

Nota

Si selecciona Unir únicamente la primera instancia de las correspondencias clave secundarias y la primera instancia de una correspondencia es exacta, las correspondencias inexactas posteriores del valor clave primario no se incluyen en la tabla de salida unida.

Mejores prácticas

Al preparar las tablas de entrada primaria y secundaria, y especificar el nivel de inexactitud, tenga en cuenta el tamaño de la tabla de salida y el desempeño del comando.

  • Adapte los datos Asegúrese de que se incluyan únicamente los registros pertinentes en las tablas primaria y secundaria. Si algunos registros no tienen probabilidades de tener una correspondencia, quítelos con un filtro antes de realizar la unión de inexactos.
  • Pruebas de ensayo Si tiene conjuntos de datos de gran volumen, realice pruebas de ensayo con una pequeña parte de los datos para determinar de forma más eficiente los ajustes de los algoritmos de la unión de inexactos. Comience con un ajuste de inexactos más conservador y, si es necesario, hágalo progresivamente más laxo.

Algoritmos de correspondencia de inexactos

Al realizar una unión de inexactos, debe escoger entre dos algoritmos de correspondencia de inexactos diferentes:

  • Coeficiente de Dice
  • Distancia de Levenshtein

Los algoritmos actúan de manera independiente entre sí y pueden generar resultados algo distintos. Un enfoque consiste en realizar una unión de inexactos dos veces, una vez con cada algoritmo, y después comparar los resultados. En general, en cada conjunto de resultado existe una cantidad de correspondencias inexactas que se superponen, pero algunos resultados pueden ser exclusivos de cada conjunto de resultados.

Grado de inexactitud

Usted especifica el grado de inexactitud de cada algoritmo, lo cual puede modificar drásticamente el tamaño y la conformación del conjunto de resultados. El "grado de inexactitud" se relaciona con el nivel de coincidencia entre dos valores.

Según el algoritmo que seleccione, utilizará los siguientes ajustes para controlar el grado de inexactitud:

Algoritmo Ajuste

Coeficiente de Dice

  • N-grama
  • Porcentaje

Distancia de Levenshtein

  • Distancia

Haga pruebas con diferentes grados de inexactitud. Comience de manera conservadora y genere conjuntos de resultados más pequeños. A continuación, haga los ajustes progresivamente más laxos hasta que comience a obtener demasiados valores unidos que obviamente no son correspondencias (falsos positivos).

Coeficiente de Dice

El algoritmo del coeficiente de Dice mide el grado de similitud entre un valor clave primario y uno secundario, utilizando una escala de 0,0000 a 1,0000. Cuanto mayor sea el coeficiente de Dice de los dos valores, mayor será su similitud.

Distancia de Levenshtein

El algoritmo de la distancia de Levenshtein mide el grado de diferencia entre el valor clave primario y el secundario, en una escala de números enteros que comienza en 0. La escala representa el número de ediciones de caracteres individuales requerido para hacer que un valor sea idéntico a otra. Mientras mayor sea la distancia de Levenshtein entre dos valores, mayor será la diferencia entre ellos.

Pasos

Puede usar la correspondencia inexacta de los valores del campo clave para combinar dos tablas de Analytics en una tercera tabla.