Skip to Content

Combinación de Datos: Nodo Merge

RUTA E · Agentes y Automatización · Lección 12 de 16

El nodo Merge es fundamental para consolidar datos de diferentes ramas de un workflow. Permite unificar la información procesada en paralelo, asegurando que todos los resultados relevantes estén disponibles para etapas posteriores. Entender su operación es clave para construir automatizaciones robustas y eficientes.

Combinación de Datos: Nodo Merge

Propósito del Nodo Merge

En n8n, es común que un workflow se ramifique para procesar datos de manera paralela. Por ejemplo, podrías iniciar varias solicitudes HTTP simultáneamente o aplicar transformaciones diferentes a subconjuntos de datos. El nodo Merge está diseñado para reunir los resultados de estas ramas en un único conjunto de ítems, permitiendo que el workflow continúe con una visión consolidada de la información.

Sin el nodo Merge, los datos de una rama procesada de forma independiente no estarían disponibles para otra rama o para nodos posteriores que requieran una visión global. Merge actúa como un punto de convergencia, asegurando la coherencia y completitud de los datos para las siguientes operaciones.

Modos de Operación del Nodo Merge

El nodo Merge ofrece varios modos que determinan cómo se combinan los ítems de entrada. La elección del modo depende de la estructura de tus datos y del resultado deseado. Los modos principales son:

  • Merge by Index (Default): Este modo combina ítems basándose en su posición (índice). El primer ítem de la entrada 1 se combina con el primer ítem de la entrada 2, y así sucesivamente. Requiere que ambas entradas tengan el mismo número de ítems para una combinación efectiva. Si una entrada tiene más ítems que otra, los ítems adicionales pueden ser ignorados o combinados con ítems 'vacíos' dependiendo de la configuración.
  • Merge by Property: Combina ítems basándose en el valor de una propiedad específica (clave) que debe existir en los ítems de ambas entradas. Por ejemplo, si tienes dos listas de usuarios y quieres combinarlas por su 'ID de usuario', este modo es el adecuado. Es similar a una operación de JOIN en bases de datos.
  • Merge by Position: Similar a 'Merge by Index', pero con opciones más flexibles para manejar diferencias en el número de ítems. Permite especificar cómo se deben tratar los ítems sobrantes de una de las entradas.
  • Merge by Custom Key: Ofrece la flexibilidad de definir una clave personalizada para la combinación, que puede ser una expresión. Esto es útil cuando la propiedad de unión no es un campo directo sino el resultado de una transformación.
  • Combine: Este modo simplemente concatena todos los ítems de todas las entradas en una única lista, sin intentar emparejarlos. Útil cuando solo necesitas agrupar todos los resultados sin una lógica de unión compleja.
CRITERIO DE DISEÑO

Seleccionar el modo de Merge correcto es crítico. Un 'Merge by Index' con entradas de diferente longitud generará resultados inesperados o incompletos. Siempre verifica la cantidad y estructura de los ítems en las entradas antes de elegir el modo.

Configuración y Mapeo de Propiedades

Una vez seleccionado el modo, especialmente en 'Merge by Property' o 'Merge by Custom Key', deberás especificar las propiedades o expresiones que servirán como claves de unión. n8n te permite usar expresiones para definir estas claves, lo que proporciona gran flexibilidad.

Adicionalmente, el nodo Merge permite configurar cómo se nombran las propiedades resultantes. Puedes elegir si las propiedades de las entradas se sobrescriben, se renombran con un prefijo (ej. 'entrada1_nombre', 'entrada2_nombre') o si se combinan de alguna otra forma. Esta capacidad es vital para evitar colisiones de nombres y mantener la claridad de los datos.

Ejemplo de Uso: Consolidación de Datos de API

Imagina un workflow que consulta información de un cliente desde dos APIs diferentes: una API de CRM (Customer Relationship Management) y una API de facturación. Ambas APIs devuelven datos sobre el mismo cliente, pero con información complementaria. El objetivo es consolidar esta información en un único objeto de cliente.

  1. Un nodo 'Start' inicia el workflow.
  2. Se ramifica con dos nodos 'HTTP Request' paralelos: uno llama a la API de CRM y el otro a la API de facturación. Ambos reciben un ID de cliente.
  3. Cada 'HTTP Request' devuelve un ítem JSON con los datos específicos de su API (ej. CRM: nombre, email, teléfono; Facturación: saldo, últimas compras).
  4. Un nodo 'Merge' se conecta a la salida de ambos 'HTTP Request'.
  5. Configuramos el nodo 'Merge' en modo 'Merge by Property', usando 'id_cliente' como la clave de unión, asumiendo que ambas APIs devuelven este campo.
  6. En la configuración de mapeo de propiedades, podemos elegir que las propiedades de la segunda entrada se fusionen en las de la primera, o que se les añadan prefijos para distinguirlas si hay nombres de campo idénticos (ej. 'crm_nombre', 'fact_saldo').
  7. El resultado del nodo 'Merge' será un único ítem por cliente, conteniendo todas las propiedades consolidadas de ambas APIs.
[
  {
    "id_cliente": "CLT-001",
    "nombre": "Juan Pérez",
    "email": "[email protected]",
    "telefono": "5512345678",
    "saldo": 1500.75,
    "ultimas_compras": ["PRD-001", "PRD-005"]
  }
]

Este JSON representa el ítem consolidado después del Merge, combinando la información del CRM y la facturación para el cliente CLT-001.

Aplicación Práctica: Unificación de Reportes Semanales

Para el lunes, diseña un workflow que simule la unificación de dos reportes semanales de proyectos. Cada reporte viene de una fuente diferente: uno de un sistema de gestión de tareas (con 'ID_Proyecto', 'Nombre_Proyecto', 'Estado') y otro de una hoja de cálculo (con 'ID_Proyecto', 'Presupuesto', 'Horas_Trabajadas').

Utiliza nodos 'Set' para simular los datos de entrada de cada reporte. Luego, implementa un nodo 'Merge' para combinar la información de ambos reportes basándote en el 'ID_Proyecto'. Asegúrate de que el resultado final sea un único ítem por proyecto con todas las propiedades consolidadas. Experimenta con las opciones de prefijo para ver cómo afectan los nombres de las propiedades resultantes.


Rating
0 0

There are no comments for now.

to be the first to leave a comment.