Explicación de SAP Data Services
Acceso a datos
Desarrollo de puestos de trabajo y flujos de datos
Resolución de problemas de tareas por lotes
Uso de funciones, scripts y variables
La consulta de datos con la plataforma se transforma
Dividir y combinar datos con transformaciones de plataforma
Manejo de errores y recuperación de fallas
Actualizando datos
Diseño de escenarios ETL avanzados mediante transformaciones de SAP Data Services Integrator
Optimización del rendimiento

Descripción de las transformaciones de SAP Data Services Integrator

Objective

After completing this lesson, you will be able to describir las transformaciones del integrador de servicios de datos

Transformaciones del integrador de servicios de datos

Las transformaciones de Data Services Integrator se utilizan para mejorar sus proyectos de integración de datos más allá de la funcionalidad central de las transformaciones de plataforma. En sus proyectos, encontrará datos XML con nodos repetidos, datos de jerarquía o fuentes de datos en los que hay demasiados campos o no hay suficientes campos. Observa que las transformaciones de la plataforma no ofrecen suficiente flexibilidad y, por lo tanto, recurre a las transformaciones específicas del Integrador de servicios de datos para obtener ayuda.

Las transformaciones de Data Services Integrator realizan operaciones clave en conjuntos de datos para manipular su estructura a medida que se pasan de origen a destino.

Además de Table_Comparison, History_Preserve y Key_Generation, puede encontrar las siguientes transformaciones:

Más transformaciones del integrador de servicios de datos

Estas transformaciones están disponibles en la rama Integrador de datos de la ficha Transformaciones en la Biblioteca de objetos local:

TransformarDescripción
Transferencia de datosPermite que un flujo de datos divida su procesamiento en dos flujos de subdatos y envíe las operaciones que consumen recursos al servidor de la base de datos.
Generación de fechaGenera una columna rellenada con valores de fecha basados en las fechas de inicio y de fin y el incremento que especifique.
Fecha de entrada en vigorGenera una columna Efectivo a adicional en función de la fecha efectiva de la clave primaria.
Aplanamiento de jerarquíaAplana los datos jerárquicos en tablas relacionales para que puedan participar en un esquema estrella. El aplanamiento de jerarquías puede ser tanto vertical como horizontal.
Asignar operación CDCOrdena los datos de entrada, asigna los datos de salida y resuelve antes y después de las versiones para las filas UPDATE. Si bien se utiliza comúnmente para admitir la captura de datos modificados de Oracle o mainframe, esta transformación admite cualquier flujo de datos si se cumplen sus requisitos de entrada.
GirarGira los valores de las columnas especificadas en filas.
Giro inversoGira los valores de las filas especificadas en columnas.
Pipeline XMLProcesa grandes entradas XML en lotes pequeños.

Describamos los casos de uso de algunos de ellos.

La transformación de la generación de fecha

Utilice la transformación Date_Generation para producir los valores clave para un destino de dimensión de tiempo como se muestra en la figura. A partir de esta secuencia generada, rellene otros campos en la dimensión de tiempo (como day_of_week) utilizando funciones en una consulta.

Ejemplo: para crear un destino de dimensión de tiempo con fechas desde el principio del año 1997 hasta el final del año 2000, coloque una transformación Date_Generation, una consulta y un destino en un flujo de datos. Conecte la salida de la transformación Date_Generation a la consulta y la salida de la consulta al destino.

Opciones de transformación de generación de fecha

Dentro de la transformación Date_Generation, especifique las siguientes opciones:

  • Fecha de inicio: 1997.01.01 (También se puede utilizar una variable).
  • Fecha de fin: 31/12/2000 (también se puede utilizar una variable).
  • Incremento: diario (también se puede utilizar una variable).

Calculando valores de dimensión de tiempo

Dentro de la consulta, puede crear nuevas columnas de destino y definir una asignación para diferentes valores de dimensión de tiempo. Estos son algunos ejemplos de funciones que puede utilizar:

  • Función julian: para crear un ID de fecha único.

    Es el número de días entre el inicio del calendario juliano y la fecha dada.

  • Función de mes: para extraer el número de mes (1 a 12) de la fecha indicada.
  • Función de trimestre: para extraer el número de trimestre (1 a 4) de la fecha indicada.
  • Función to_char: para extraer una parte de la fecha indicada en formato de cadena.
  • Función day_in_week: para extraer el número del día (1 a 7) de la semana a partir de la fecha indicada.
  • Función de fin de semana: Para emitir un booleano (1 o 0) para saber si la fecha indicada es en un fin de semana o no.

Intentémoslo

Le guiaré a través de la creación de una dimensión de tiempo:

La transformación de la fecha efectiva

Con la transformación Effective_Date, como se muestra en la figura, se calcula un valor de fin de validez para los datos que contienen una fecha efectiva. La fecha de fin de validez calculada y una fecha de entrada en vigor existente producen un intervalo de fechas que permite que las consultas basadas en fechas efectivas produzcan resultados significativos.

El mapa de la transformación de la operación CDC

Si bien se utiliza comúnmente para soportar la captura de datos cambiados (CDC) relacional o mainframe, la transformación Map_CDC_Operation admite cualquier flujo de datos siempre que se cumplan sus requisitos de entrada. Las fuentes CDC relacionales incluyen Oracle y SQL Server. Esta transformación suele ser el último objeto antes del destino en un flujo de datos porque produce códigos de operación INPUT, UPDATE y DELETE. Data Services emite un mensaje de advertencia cuando se utilizan otros objetos.

Como se muestra en la figura, la transformación Map_CDC_Operation está utilizando requisitos de entrada (valores para la columna Secuenciación y una columna de operación Fila) para realizar tres funciones

  1. Clasifique los datos de entrada en función de los valores en el cuadro de columna Secuenciación y (opcionalmente) en el cuadro de columna Agrupación adicional.
  2. Asigne datos de salida basados en valores en el cuadro de columna Operación de fila. Las filas de la tabla de origen se asignan a las operaciones INSERT, UPDATE o DELETE antes de transferirlas al destino.
  3. Resuelva las filas faltantes, separadas o múltiples antes y después de las imágenes para ACTUALIZAR.

En las próximas lecciones, analizaremos en profundidad las transformaciones Pivot y Data_Transfer.