Saltearse al contenido

Group Data By Key

Group Data By Key es un componente que agrupa registros de datos según el valor de una columna específica.
El resultado es una lista de documentos donde cada documento representa un grupo y contiene el texto combinado de todos los registros que pertenecen a ese grupo, junto con cualquier metadato adicional que se haya especificado.

¿Cómo funciona?

El componente recibe una colección de datos (puede ser una lista de objetos o un único objeto).

  1. Selección de la columna clave: Se indica el nombre de la columna que se usará para agrupar los registros.
  2. Formato de texto: Se aplica una plantilla que puede incluir los marcadores {text}, {data} o cualquier otra clave presente en cada registro.
  3. Metadatos opcionales: Se pueden añadir columnas adicionales como metadatos que se incluirán en el documento final.
  4. Agrupación: Los registros se agrupan por el valor de la columna clave (se normaliza a minúsculas y espacios reemplazados por guiones bajos).
  5. Salida: Se devuelve una lista de objetos Data, cada uno con:
    • id: clave normalizada del grupo.
    • text: texto combinado de todos los registros del grupo, separado por el separador especificado.
    • key_column: valor original de la columna clave.
    • Metadatos adicionales (si se especificaron).

El procesamiento se realiza localmente dentro del dashboard, sin llamadas a APIs externas.

Entradas

  • Data: Los datos que se agruparán.
  • Key Column: La columna por la que se agruparán los registros.
  • Metadata keys: Lista separada por comas de columnas que se añadirán como metadatos en el documento final.
  • Separator: Texto que separará cada fragmento de texto dentro de un grupo (por defecto \n).
  • Template: Plantilla que define cómo se formatea cada registro. Puede contener {text}, {data} o cualquier otra clave del registro.

Salidas

  • Processed Data: Una lista de objetos Data. Cada objeto contiene el texto agrupado, la clave original y los metadatos seleccionados. Este resultado puede conectarse a otros componentes, por ejemplo, para generar informes, enviar correos electrónicos o almacenar en una base de datos.

Ejemplo de Uso

Supongamos que tienes la siguiente lista de registros: json [ {“category”: “Fruit”, “name”: “Apple”, “price”: 1.2}, {“category”: “Fruit”, “name”: “Banana”, “price”: 0.8}, {“category”: “Vegetable”, “name”: “Carrot”, “price”: 0.5} ]

  1. Key Column: category
  2. Template: {name} - ${price}
  3. Metadata keys: price
  4. Separator: ;

El componente generará: json [ { “id”: “fruit”, “text”: “Apple - $1.2; Banana - $0.8”, “category”: “Fruit”, “price”: 1.2 }, { “id”: “vegetable”, “text”: “Carrot - $0.5”, “category”: “Vegetable”, “price”: 0.5 } ]

Puedes usar este resultado para crear un informe de ventas por categoría o para alimentar otro componente que envíe notificaciones por correo.

Componentes Relacionados

  • Data Input – Permite cargar datos desde archivos CSV, JSON o bases de datos.
  • Multiline Input – Facilita la edición de plantillas de texto.
  • StrInput – Entrada de texto simple, útil para configurar columnas y separadores.

Consejos y Mejores Prácticas

  • Usa nombres de columnas claros: Facilita la configuración de la plantilla y la selección de metadatos.
  • Prueba la plantilla con un registro: Asegúrate de que los marcadores {text} y {data} se sustituyan correctamente antes de procesar grandes volúmenes.
  • Limita la cantidad de metadatos: Incluir demasiadas columnas puede hacer que el documento final sea demasiado grande.
  • Revisa la normalización de claves: Si tus claves contienen espacios o mayúsculas, el componente las normaliza; verifica que el resultado sea el esperado.

Consideraciones de Seguridad

  • Datos sensibles: Si los registros contienen información confidencial, evita incluirlas en la plantilla o en los metadatos.
  • Separador: Usa un separador que no aparezca en los datos para evitar ambigüedades.
  • Tamaño de salida: El componente limita la salida a 1000 registros; revisa la variable status si necesitas más datos.