Operaciones
Transform
La operación Transform te permite aplicar código JavaScript personalizado para transformar tus datos durante el pipeline de procesamiento. Esta operación se aplica durante la fase de transformación y te permite realizar manipulaciones de datos complejas que no son posibles con operaciones estándar.
Resumen
La operación Transform te permite:
- Escribir código JavaScript personalizado para manipular tus datos
- Aplicar transformaciones a todas las entidades en tu conjunto de datos
- Implementar lógica de negocio compleja para procesamiento de datos
- Usar todo el poder de JavaScript para modificar valores de campos, crear nuevos campos o reestructurar datos
Configuración
Editor de Código JavaScript
La operación Transform proporciona un editor de código donde puedes escribir funciones JavaScript personalizadas:
- El código debe ser una función JavaScript válida
- La función recibe registros de datos y debe retornar registros transformados
- Puedes usar cualquier característica de JavaScript soportada por la plataforma
- La transformación se aplica a todas las entidades en el pipeline
Ejemplos
Transformación Básica de Datos
Para aplicar una transformación simple a todos los datos:
- Añade la operación Transform a tu regla
- Escribe código JavaScript como:
// Ejemplo: Convertir todas las direcciones de correo electrónico a minúsculas
record.email = record.email.toLowerCase();
return record;Transformaciones Complejas
Para manipulaciones de datos más complejas:
- Añade la operación Transform a tu regla
- Escribe código JavaScript que procese registros:
// Ejemplo: Crear un nuevo campo full_name desde first_name y last_name
if (record.first_name && record.last_name) {
record.full_name = record.first_name + ' ' + record.last_name;
}
// Ejemplo: Calcular edad desde birth_date
if (record.birth_date) {
const birthDate = new Date(record.birth_date);
const today = new Date();
record.age = today.getFullYear() - birthDate.getFullYear();
const monthDiff = today.getMonth() - birthDate.getMonth();
if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
record.age--;
}
}
return record;Esta operación proporciona máxima flexibilidad para procesamiento de datos, permitiéndote implementar lógica personalizada que cumple con tus requerimientos específicos.