Descrição das transformações do SAP Data Services Integrator

Objective

After completing this lesson, you will be able to descrever as transformações do integrador de serviços de dados

Transformações do Data Services Integrator

As transformações do Data Services Integrator são usadas para aprimorar seus projetos de integração de dados além da principal funcionalidade das transformações da plataforma. Em seus projetos, você encontra dados XML com nós repetidos, dados de hierarquia ou fontes de dados em que existem demasiados campos ou campos insuficientes. Você descobre que as transformações da plataforma não fornecem flexibilidade suficiente e, portanto, recorre às transformações específicas do Data Services Integrator para obter assistência.

O Data Services Integrator transforma as principais operações nos conjuntos de dados para manipular sua estrutura à medida que são transferidos da origem para o destino.

Além de Table_Comparison, History_Preserving e Key_Generation, você pode encontrar as seguintes transformações:

Mais serviços de dados Integrador Transformações

Essas transformações estão disponíveis na ramificação Integrador de dados da guia Transformações na Biblioteca de objetos locais:

TransformarDescrição
periódicaPermite que um fluxo de dados divida seu processamento em dois fluxos de subdados e envie operações consumidoras de recursos para o servidor de banco de dados.
Geração de dataGera uma coluna preenchida com valores de data com base nas datas de início e de fim e no incremento que você indica.
Data efetivaGera uma coluna "Efetivo até" adicional com base na data de efetivação da chave primária.
Nivelamento da hierarquiaNivela os dados hierárquicos em tabelas relacionais para que possam participar de um esquema estrela. O achatamento da hierarquia pode ser vertical e horizontal.
Mapear operação CDCOrdena dados de entrada, mapeia dados de saída e resolve antes e depois das versões para linhas UPDATE. Embora comumente usada para suportar captura de dados alterados do Oracle ou mainframe, esta transformação suporta qualquer fluxo de dados se seus requisitos de entrada forem atendidos.
PivôGira os valores em colunas especificadas para linhas.
Inverter pivôGira os valores nas linhas especificadas para colunas.
Pipeline XMLProcessa grandes entradas XML em pequenos lotes.

Vamos descrever os casos de uso de alguns deles.

A transformação da geração de data

Use a transformação Date_Generation para produzir os valores-chave para um destino de dimensão de tempo, conforme mostrado na figura. A partir dessa sequência gerada, preencha outros campos na dimensão de tempo (como day_of_week) usando funções em uma consulta.

Exemplo: Para criar um destino de dimensão de tempo com datas do início do ano 1997 até o final do ano 2000, coloque uma transformação Date_Generation, uma consulta e um destino em um fluxo de dados. Conecte a saída da transformação Date_Generation à consulta e a saída da consulta ao destino.

Opções de transformação Date_Generation

Dentro da transformação Date_Generation, especifique as seguintes opções:

  • Data de início: 1997.01.01 (Uma variável também pode ser usada.)
  • Data final: 2000.12.31 (Uma variável também pode ser usada.)
  • Incremento: diário (uma variável também pode ser usada.)

Calculando valores de dimensão de tempo

Dentro da consulta, você pode criar novas colunas de destino e definir um mapeamento para diferentes valores de dimensão de tempo. Aqui estão alguns exemplos de funções que você pode utilizar:

  • julian function : Para criar uma identificação de data única.

    É o número de dias entre o início do calendário juliano e a data indicada.

  • função de mês: para extrair o número do mês (1 a 12) da data indicada.
  • função trimestral: para extrair o número do trimestre (1 a 4) da data indicada.
  • função to_char: para extrair uma parte da data indicada no formato de cadeia.
  • Day_in_week função: para extrair o número do dia (1 a 7) na semana a partir da data fornecida.
  • isfim de semana função: Para emitir um booleano (1 ou 0) para saber se a data dada é em um fim de semana ou não.

Vamos tentar isso

Deixe-me orientá-lo na criação de uma dimensão de tempo:

A transformação da data de efetivação

Com a transformação Effective_Date, como mostrado na figura, um valor de fim de validade é calculado para dados que contêm uma data de efetividade. A data de fim efetiva calculada e uma data de efetivação existente produzem um intervalo de datas que permite consultas com base em datas de efetivação para produzir resultados significativos.

O mapa CDC Operation Transform

Embora comumente usada para suportar captura de dados modificados (CDC) relacional ou mainframe, a transformação Map_CDC_Operation suporta qualquer fluxo de dados desde que seus requisitos de entrada sejam cumpridos. Fontes CDC relacionais incluem Oracle e SQL Server. Essa transformação é normalmente o último objeto antes do destino em um fluxo de dados porque produz códigos de operação INPUT, UPDATE e DELETE. O Data Services gera um aviso quando outros objetos são usados.

Como mostrado na figura, a transformação Map_CDC_Operation está usando necessidades de entrada (valores para a coluna Sequenciamento e uma coluna de operação Linha) para executar três funções

  1. Ordene os dados de entrada com base nos valores na caixa de coluna Sequenciamento e (opcionalmente) na caixa de coluna Agrupamento adicional.
  2. Mapear dados de saída com base em valores na caixa de coluna Operação de linha. As linhas da tabela original são mapeadas para as operações INSERT, UPDATE ou DELETE antes de transferi-las para o destino.
  3. Resolva imagens anteriores e posteriores ausentes, separadas ou múltiplas para linhas UPDATE.

Analisaremos mais profundamente as transformações Pivot e Data_Transfer nas próximas lições.