Índice

Search

  1. Prólogo
  2. Introducción a las transformaciones
  3. Puertos de transformación
  4. Memorias caché de transformaciones
  5. Transformación del validador de direcciones
  6. Transformación de agregación
  7. Transformación de asociación
  8. Transformación de excepción de registros incorrectos
  9. Transformación de conversión de mayúsculas y minúsculas
  10. Transformación de clasificador
  11. Transformación de comparación
  12. Transformación de consolidación
  13. Transformación de enmascaramiento de datos
  14. Transformación del Procesador de datos
  15. Transformación de decisión
  16. Transformación de excepción de registros duplicados
  17. Transformación de expresión
  18. Transformación de filtro
  19. Transformación de jerárquica a relacional
  20. Transformación de Java
  21. Referencia API de transformación de Java
  22. Expresiones de Java
  23. Transformación de incorporación
  24. Transformación de generador de claves
  25. Transformación de etiquetador
  26. Transformación de búsqueda
  27. Memorias caché de búsqueda
  28. Memoria caché de búsqueda dinámica
  29. Transformación de coincidencia
  30. Transformaciones de coincidencia en el análisis de campos
  31. Transformaciones de coincidencia en el análisis de identidad
  32. Transformación de normalizador
  33. Transformación de fusión
  34. Transformación de analizador
  35. Transformación de Python
  36. Transformación de rango
  37. Transformación de lectura
  38. Transformación de relacional a jerárquica
  39. Transformación de consumidor de servicio web REST
  40. Transformación de enrutador
  41. Transformación de generador de secuencia
  42. Transformación de ordenación
  43. Transformación de SQL
  44. Transformación de estandarizador
  45. Transformación de unión
  46. Transformación de estrategia de actualización
  47. Transformación de consumidor de servicio web
  48. Análisis de mensajes SOAP del servicio web
  49. Generación de mensajes SOAP del servicio web
  50. Transformación de media ponderada
  51. Transformación de ventana
  52. Transformación de escritura
  53. Delimitadores de transformación

Guía de transformaciones de Developer

Guía de transformaciones de Developer

Ejemplo: transformación de relacional a jerárquica

Ejemplo: transformación de relacional a jerárquica

El departamento de finanzas de la empresa Electronics Superstore debe procesar las nóminas para los empleados de la compañía. Necesitan transformar los datos de los empleados, que se encuentran almacenados en una base de datos relacional, a un formato jerárquico que su sistema de pago pueda procesar.
La asignación debe utilizar una transformación de relacional a jerárquica que permita la entrada de la información de los empleados, como nombre del empleado, ID, dirección y cuenta bancaria, y genere la información en un formato jerárquico utilizable.
En la entrada relacional, el elemento Bank_ID es una clave principal en la tabla Empleado y una clave externa en la tabla Banco:
Employee_ID
Last_Name
First_Name
Dirección
Bank_ID
Bank_Account
9173327437
Sandrine
Jacques
74 Mobile Avenue
74845
8723487234
9174562342
Race
Tom
266 Crouse St.
9234734
45324734
8484526471
Jones
Charles
3815 LaValle Boulevard
389236
234638437
7023847265
Smith
Delilah
193 Short Drive
74845
8723463432
9174596725
Frederick
George
17 Serenity Road
9234734
6342636699
Bank_ID
Bank_Name
SWIFT_Code
74845
National Bank
9173327
9234734
International Bank
9174562
389236
Star National Bank
8484526
En la salida Pago en formato jerárquico, los elementos se combinan desde las tablas:
<banks> <bank name="National Bank" SWIFT="9173327"> <account id="8723487234"> <employee_id>9173327437</employee_id> <fname>Sandrine</fname> <lname>Jacques</lname> <address>74 Mobile Avenue</address> </account> <account id="8723463432"> <employee_id>9082745558</employee_id> <fname>Delilah</fname> <lname>Smith</lname> <address>193 Short Drive</address> </account> </bank> <bank name="International Bank" SWIFT="9174562"> <accounts> <account id="45324734"> <employee_id>5534398889</employee_id> <fname>Race</fname> <lname>Tom</lname> <address>266 Crouse St.</address> </account> <account id="6342636699"> <employee_id>9174596725</employee_id> <fname>Frederick</fname> <lname>George</lname> <address>17 Serenity Road</address> </account> </accounts> </bank> <bank name="Star National Bank" SWIFT="8484526"> <accounts> <account id="234638437"> <employee_id>8484526471</employee_id> <fname>Jones</fname> <lname>Charles</lname> <address>3815 LaValle Boulevard</address> </account> </accounts> </bank> </banks>
La siguiente imagen muestra la asignación en este ejemplo:
Cree una asignación con entrada relacional, salida jerárquica y una transformación de relacional a jerárquica.
La asignación contiene los siguientes objetos:
Read_BankAccounts
El origen que contiene la información bancaria.
Read_Employees
El origen que contiene los datos de los empleados.
BankAccountsAndEmployees_To_PaymentsSystemXML
Una transformación de relacional a jerárquica que transforma una entrada relacional que contiene la información del empleado y la información bancaria en un formato XML que el sistema de pagos puede procesar.
Write_BanksXML
Una ruta de acceso de destino al archivo que almacena los datos transformados cada vez que ejecuta la asignación.
La asignación utiliza los archivos Read_BankAccount y Read_Employees para proporcionar la entrada relacional. La asignación procesa y transforma los datos mediante la transformación BankAccountsAndEmployees_To_PaymentsSystemXML. A continuación, la asignación almacena la salida en la ruta de acceso de destino que aparece en el archivo sin formato Write_BanksXML.