Comparación de registros de un origen a otro origen

Este procedimiento describe cómo usar una etapa de Interflow Match para identificar registros en un origen que coincidan con registros en otro origen. El primer origen contiene registros sospechosos y el segundo contiene registros candidatos. El flujo de datos solo hace coincidir registros de un origen con registros en otro origen. No intenta hacer coincidir registros desde el interior del mismo origen. El flujo de datos agrupa los registros en colecciones de registros coincidentes y escribe dichas colecciones en un archivo de salida.

  1. Genere un nuevo flujo de datos en Enterprise Designer.
  2. Arrastre hacia el lienzo dos etapas de origen. Configure una de ellas apuntando a los registros sospechosos y la otra a origen de registros candidatos.

    Consulte la Guía de Dataflow Designer para obtener instrucciones acerca de cómo configurar etapas de origen.

  3. Arrastre hacia el lienzo una etapa Match Key Generator y conéctela a una de las etapas de origen.

    Por ejemplo, si está utilizando una etapa de origen Read from File, su flujo de datos tendrá ahora el siguiente aspecto:

    Match Key Generator crea una clave no exclusiva para cada registro, que posteriormente se puede usar en las etapas de comparación a fin de identificar grupos de registros potencialmente duplicados. Las claves de cruce facilitan el proceso de comparación al permitir la agrupación de registros por clave de cruce y posteriormente solo comparando los registros al interior de estos grupos.

    Nota: Más adelante añadirá una segunda etapa Match Key Generator. Por el momento necesitará en el lienzo solamente una.
  4. Haga doble clic en la etapa Match Key Generator.
  5. Haga clic en Agregar.
  6. Defina la regla que se usará para generar una clave de cruce para cada registro.
    Tabla 1. Opciones de Match Key Generator

    Nombre de la opción

    Descripción / Valores válidos

    Algoritmo

    Especifica el algoritmo que se utilizará para generar la clave de cruce. Las opciones son:

    Consonante
    Devuelve campo especificados con consonantes eliminadas.
    Doble metaphone
    Devuelve un código basado en una representación fonética de sus caracteres. Double Metaphone es una versión mejorada del algoritmo Metaphone e intenta explicar la gran cantidad de irregularidades encontradas en los distintos idiomas.
    Koeln
    Indexa los nombres por sonido, tal como se los pronuncia en alemán. Permite que los nombres que tienen la misma pronunciación se codifiquen con la misma representación, de modo tal que puedan cruzarse a pesar de las pequeñas diferencias en el modo en que se escriben. El resultado es siempre una secuencia de números; los caracteres especiales y los espacios en blanco se ignoran. Esta opción se desarrolló para responder a las limitaciones de Soundex.
    MD5
    Un algoritmo de síntesis del mensaje que produce un valor hash de 128 bits. Este algoritmo suele usarse para comprobar la integridad de los datos.
    Metaphone
    Devuelve una clave codificada Metaphone de campos seleccionados. Metaphone es un algoritmo para codificar palabras utilizando su pronunciación del inglés.
    Metaphone (español)
    Devuelve una clave codificada Metaphone de campos seleccionados para el idioma español. El algoritmo Metaphone codifica palabras con base en su pronunciación en español.
    Metaphone 3
    Mejora los algoritmos de Metaphone y Double Metaphone con parámetros más exactos de consonantes y vocales internas que permiten pronunciar palabras y nombres que, fonéticamente, coinciden en mayor o menor medida con los términos de búsqueda. Metaphone 3 aumenta la precisión de la codificación fonética en un 98%. Esta opción se desarrolló para responder a las limitaciones de Soundex.
    Nysiis
    Algoritmo de codificación fonética que cruza una pronunciación aproximada con una palabra escrita exacta e indexa palabras que se pronuncian de manera similar. Parte del sistema de inteligencia e identificación del estado de Nueva York (New York State Identification and Intelligence System). Supongamos que está buscando información sobre alguien en una base de datos de personas. Cree que el nombre de esa persona suena algo así como "John Smith", pero en realidad se escribe "Jon Smyth". Si busca una coincidencia exacta para "John Smith" no obtendrá resultados. Sin embargo, si indexa la base de datos con el algoritmo de NYSIIS y realiza la búsqueda usando ese mismo algoritmo, obtendrá una coincidencia correcta porque el algoritmo indexa "John Smith" y "Jon Smyth" como "JAN SNATH".
    Phonix
    Preprocesa cadenas de nombres aplicando más de 100 reglas de transformación a caracteres únicos o secuencias de varios caracteres. Diecinueve de esas reglas se aplican solo si los caracteres se encuentran al comienzo de la cadena, mientras que 12 de ellas se aplican solo cuando los caracteres se encuentran en medio de la cadena, y 28 se aplican únicamente si están al final de la cadena. La cadena de nombre transformada se codifica en un código compuesto por la primera letra seguida de tres dígitos (sin ceros ni números duplicados). Esta opción se desarrolló como respuesta a las limitaciones de Soundex; es más compleja y, por lo tanto, más lenta que esta última.
    Soundex
    Devuelve un código Soundex de campos seleccionados. El algoritmo Soundex produce un código de longitud fija basado en la pronunciación en inglés de las palabras.
    Subcadena de caracteres
    Devuelve una porción específica del campo seleccionado.

    Nombre de campo

    Especifica el campo en el que desea aplicar el algoritmo seleccionado para generar la clave de cruce. Por ejemplo, si selecciona un campo denominado LastName y elije el algoritmo Soundex, se aplicará ese algoritmo a los datos del campo LastName para generar una clave de cruce.

    Posición de inicio

    Especifica la posición de inicio dentro del campo especificado. No todos los algoritmos permiten especificar una posición inicial.

    Longitud

    Especifica la longitud, en caracteres, por incluirse desde la posición inicial. No todos los algoritmos permiten especificar una longitud.

    Quitar caracteres irrelevantes

    Elimina los caracteres que no son numéricos ni alfabéticos, como los guiones, los espacios en blanco y otros caracteres especiales de un campo de entrada.

    Ordenar entrada

    Ordena alfabéticamente todos los caracteres de un campo de entrada o todos los términos de un campo de entrada.

    Caracteres
    Ordena los valores de los caracteres de un campo de entrada antes de crear una ID única:
    Términos
    Ordena el valor de cada término de un campo de entrada antes de crear una ID única.
  7. Cuando haya terminado de definir la regla, haga clic en Aceptar.
  8. Haga clic derecho en la etapa Match Key Generator en el lienzo y seleccione Copiar etapa.
  9. Haga clic derecho en un área vacía del lienzo y seleccione Pegar.
  10. Conecte la copia de Match Key Generator a la otra etapa de origen.

    Por ejemplo, si está usando las etapas de entrada Read from File, su flujo de datos tendrá ahora el siguiente aspecto:

    El flujo de datos contiene ahora dos etapas Match Key Generator que producen claves de cruce para cada origen, y que usan exactamente las mismas reglas. Configurar de forma idéntica las etapas Match Key Generator es esencial para el apropiado funcionamiento de este flujo de datos.

  11. Arrastre hacia el lienzo una etapa Interflow Match y conecte a esta cada una de las etapas Match Key Generator.

    Por ejemplo, si está usando las etapas de entrada Read from File, su flujo de datos tendrá ahora el siguiente aspecto:

  12. Haga doble clic en la etapa Interflow Match.
  13. En el campo Cargar regla de cruce seleccione una de las reglas de cruce predefinidas, que puede usar como está o bien puede modificarla para que se ajuste a sus necesidades. Si desea crear una nueva regla de cruce sin usar una de las reglas de cruce predefinidas como punto de partida, haga clic en Nueva. Solamente puede tener una regla personalizada en un flujo de datos.
    Nota: La función Opciones del flujo de datos en Enterprise Designer permite exponer la regla de cruce para la configuración durante la ejecución.
  14. En el campo Group by, seleccione MatchKey.

    Esto colocará en un grupo los registros que tengan la misma clave de cruce. La regla de cruce se aplica a los registros en un grupo para ver si hay duplicados. La clave de cruce para cada registro será generada por las etapas Generate Match Key que configuró antes en este procedimiento.

  15. Para obtener más información acerca de cómo modificar las otras opciones, consulte Generación de reglas de cruce.
  16. Arrastre hacia el lienzo una etapa receptora y conéctela a la etapa Interflow Match.

    Por ejemplo, si estuviese utilizando la etapa receptora Write to File, su flujo de datos tendría el siguiente aspecto:

  17. Haga doble clic en la etapa receptora y configúrela.

    Para obtener información acerca de cómo configurar etapas receptoras, consulte la Guía de Dataflow Designer.

Ahora cuenta con un flujo de datos que se corresponderá con los registros de dos orígenes de datos.

Ejemplo de Cruce de registros de múltiples orígenes

Como empresa de marketing directo, usted desea identificar a las personas que están en una lista de "no enviar correos" de modo que no se les envíen correos. Tiene una lista de destinatarios en un archivo, y en otro archivo tiene una lista de personas que no desean recibir publicidad por correo (es decir, un archivo para eliminaciones).

El siguiente flujo de datos entrega una solución para esta situación empresarial:

La etapa Read from File lee los datos de su lista de correos y la etapa Read from File 2 lee los datos de la lista de eliminaciones. Las dos etapas Match Key Generator están configuradas en forma idéntica, por lo que generan una clave de cruce que puede ser utilizada en Interflow Match para conformar grupos de posibles cruces. Interflow Match identifica registros en la lista de correos que están además en el archivo de eliminaciones y marca dichos registros como duplicados. Conditional Router envía registros únicos, lo que quiere decir que aquellos registros que no se encontraron en la lista de eliminaciones, son enviados a Write to File para que sean escritos en un archivo. La etapa Conditional Router envía todos los demás registros a Write to Null, en donde son descartados.