Data Pivot
El componente Data Pivot es una herramienta esencial en Nappai para reorganizar cómo se ven y se procesan tus datos. Imagina que tienes un registro con muchos campos (como una ficha de cliente con nombre, teléfono, dirección, etc.) y necesitas mostrarlos en una tabla sencilla para leerlos o exportarlos. Este componente hace exactamente eso: toma la información “apilada” en un objeto y la “aplana” para que aparezca fila por fila. También puede hacer lo contrario: tomar una lista de filas y volver a unificarla en un solo objeto.
Es ideal cuando necesitas cambiar la forma de tus datos sin perder su contenido, por ejemplo, para preparar informes o adaptar la información para que otro sistema la entienda mejor.
¿Cómo funciona?
Internamente, el componente actúa como un traductor de estructuras. No calcula nada ni analiza el significado de los datos, sino que se dedica a reorganizarlos:
- De Objeto a Filas (Object to Rows): Toma un solo objeto (como un diccionario
{ "nombre": "Ana", "edad": 30 }) y lo convierte en una lista de filas (como[{ "key": "nombre", "value": "Ana" }, { "key": "edad", "value": 30 }]). Esto es útil para visualizar los atributos uno debajo del otro. - De Filas a Objeto (Rows to Object): Realiza la operación inversa. Toma una lista de filas y las une de nuevo en un solo objeto.
El componente funciona de manera local dentro de tu flujo de trabajo, procesando los datos que le envías en la entrada Data. Tú decides si quieres aplazar los datos (Objeto a Filas) o unirlos (Filas a Objeto) eligiendo la opción correcta en el campo Transform Mode.
Conexión y Credenciales
Este componente no requiere conexión con servicios externos ni credenciales de seguridad (como claves de API). Simplemente conecta tus nodos de datos anteriores y siguientes directamente en el flujo de trabajo.
Entradas
A continuación, se detallan los campos que puedes configurar para controlar cómo se transforma la información. Recuerda que los nombres de los campos aparecen en inglés en la interfaz, pero aquí explicamos su función en español.
- Transform Mode: Elige la dirección de la transformación. Selecciona “Objet to List” si quieres convertir un objeto en una tabla de filas, o “List to Object” si quieres unir filas en un solo objeto.
- Data: El conjunto de datos que deseas transformar. Debe ser un objeto único si estás haciendo “Objet to List”, o una lista de objetos si estás haciendo “List to Object”.
- Key Column Name: El nombre que tendrá la primera columna cuando se creen las filas. Esta columna contendrá los nombres originales de los campos (las “llaves” del objeto).
- Value Column Name: El nombre que tendrá la segunda columna. Aquí es donde aparecerán los valores reales de los datos.
- Format Labels: Define cómo se formatean los nombres de los campos (las claves) cuando se convierten en filas.
- Include Header Row: Si activas esta opción, se añadirá una fila superior en la tabla resultante que muestra los títulos de las columnas (Key y Value). Es útil para claridad visual.
- Wrap List in Object: Si activas esta casilla, el resultado final no será solo una lista, sino un objeto que contiene esa lista bajo una etiqueta llamada ‘data_list’. Esto es útil para mantener estructuras de datos consistentes en tus flujos.
Salidas
- Output: El resultado final de la transformación. Podrás ver un objeto si el flujo era de “List to Object”, o una lista de filas si el flujo era de “Objet to List”. Este resultado se puede conectar directamente a otros componentes que necesiten leer esa nueva estructura.
Ejemplo de Respuesta JSON
A continuación, se muestra un ejemplo de cómo se vería la salida si usas el modo Objet to List (Objeto a Filas) con un usuario simple. json [ { “Key”: “name”, “Value”: “Juan Pérez” }, { “Key”: “email”, “Value”: “juan@ejemplo.com” }, { “Key”: “age”, “Value”: 30 } ]
Nota: En este ejemplo, el objeto original {"name": "Juan Pérez", "email": "juan@ejemplo.com", "age": 30} se ha transformado en una lista de filas donde cada fila contiene la “Key” (nombre del campo) y su “Value” (contenido).
Conectividad
Este componente es muy versátil y suele conectarse de las siguientes maneras en un flujo de Nappai:
- Conexión Entrante: Generalmente recibe datos de componentes que extraen información de registros únicos, como el nodo Read Record, Parse JSON o Set Variables. Estos nodos suelen producir objetos que necesitan ser “aplanados” para ser leídos fácilmente.
- Conexión Saliente: Suele conectar con nodos de visualización como Table View o Export CSV para mostrar los datos en formato tabular. También puede conectarse a nodos de transformación posteriores que necesiten procesar filas individuales, o a nodos que guarden datos en formato de lista.
Ejemplo de Uso
Escenario: Visualizar atributos de un Cliente
- Tienes un nodo que obtiene los detalles de un cliente en formato de Objeto (ej:
{nombre: "Ana", telefono: "123"}). - Conectas ese objeto al campo Data del componente Data Pivot.
- En Transform Mode, seleccionas Objet to List.
- En Key Column Name, escribes “Atributo” y en Value Column Name, escribes “Valor”.
- En Include Header Row, marcas la casilla.
- Conectas la salida a un nodo Table View.
- Resultado: Verás una tabla sencilla con dos columnas donde cada fila representa un dato de Ana, lo cual es mucho más fácil de leer en ciertos dashboards.
Consejos y Mejores Prácticas
- Claridad en las Columnas: Usa nombres descriptivos para Key Column Name y Value Column Name para que las filas resultantes sean fáciles de interpretar.
- Uso de Headers: Activa Include Header Row si planeas usar los datos en una tabla visual o exportarlos, ya que esto facilita la identificación de qué representa cada columna.
- Consistencia de Estructura: Si tu siguiente nodo espera estrictamente un objeto, activa Wrap List in Object para evitar errores de formato en la siguiente etapa del flujo.
- Validación de Datos: Asegúrate de que la entrada Data tenga el tipo correcto (objeto plano para “Objet to List”, lista para “List to Object”) para evitar errores de transformación.
Consideraciones de Seguridad
Este componente no maneja credenciales ni accede a servicios externos, por lo que no presenta riesgos de seguridad directa. Sin embargo, recuerda que los datos que pasas por él deben ser accesibles para el flujo de trabajo actual. Asegúrate de que las variables que alimentan el componente estén correctamente configuradas según los permisos de tu sistema de automatización.