Transformação de Dimensão de Alteração Lenta

Aplica-se a:SQL Server SSIS Integration Runtime no Azure Data Factory

A transformação Dimensão de Alteração Lenta coordena a atualização e a inserção de registros em tabelas de dimensão do data warehouse. Por exemplo, você pode usar essa transformação para configurar as saídas de transformação que inserem e atualizam registros na tabela DimProduct do banco de dados OLAP da AdventureWorksDW2025 com dados da tabela Production.Products no banco de dados OLTP da AdventureWorks.

Importante

O Assistente para Dimensões de Mudança Lenta oferece suporte apenas a conexões com o SQL Server.

A transformação Dimensão de Alteração Lenta oferece as seguintes funcionalidades para gerenciar dimensões de alteração lenta:

  • Corresponder linhas de entrada com linhas na tabela de pesquisa para identificar linhas novas e existentes.

  • Identificar linhas de entrada que contêm alterações quando não são permitidas alterações.

  • Identificar registros de membros deduzidos que exigem atualização.

  • Identificar linhas de entrada que contêm alterações históricas que exigem inserção de registros novos e atualizar registros expirados.

  • Detectar linhas de entrada que contêm alterações que exigem a atualização de registros existentes, incluindo registros expirados.

A transformação Dimensão de Alteração Lenta oferece suporte a quatro tipos de alterações: atributo mutável, atributo histórico, atributo fixo e membro inferido.

  • Alterações no atributo de alteração substituem os registros existentes. Esse tipo de alteração é equivalente a uma alteração do Tipo 1. A transformação Dimensão de Mudança Lenta direciona essas linhas para uma saída chamada Saída de Atualizações de Atributos Variáveis.

  • As alterações de atributos históricos criam registros novos em vez de atualizar registros existentes. A única alteração que é permitida em um registro existente é uma atualização de uma coluna que indica se o registro é atual ou expirado. Esse tipo de alteração é equivalente a uma alteração do Tipo 2. A transformação Dimensão de Alteração Lenta dirige estas linhas a duas saídas: Saída de Inserções de Atributos Históricos e Nova Saída.

  • Alterações de atributo fixo indicam que o valor da coluna não deve ser alterado. A transformação Dimensão de Mudança Lenta detecta alterações e pode direcionar as linhas com alterações para uma saída chamada Saída de Atributo Fixo.

  • O membro inferido indica que a linha é um registro de membro inferido na tabela de dimensão. Um membro deduzido existe quando uma tabela de fatos faz referência a um membro de dimensão que ainda não foi carregado. Um registro de membro deduzido mínimo é criado em antecipação a dados de dimensão relevantes, que são fornecidos em um carregamento subsequente dos dados de dimensão. A transformação Dimensão de Alteração Lenta direciona estas linhas a uma saída nomeada Atualizações de Membros Deduzidos. Quando os dados do membro deduzido são carregados, você pode atualizar o registro existente em vez de criar um novo.

Observação

A transformação Dimensão de Alteração Lenta não oferece suporte a alterações do Tipo 3, que exigem alterações na tabela de dimensão. Ao identificar colunas com o tipo de atualização de atributo fixo, você pode capturar os valores de dados que são candidatos para alterações do Tipo 3.

Em tempo de execução, a transformação de Dimensão de Alteração Lenta primeiro tenta fazer corresponder a linha de entrada a um registro na tabela de consulta. Se nenhuma correspondência for encontrada, a linha de entrada será um novo registro; portanto, a transformação Dimensão de Alteração Lenta não executará nenhum trabalho adicional e direcionará a linha para a Nova Saída.

Se uma correspondência é encontrada, a transformação Dimensão de Alteração Lenta detecta se a linha contém alterações. Se a linha contiver alterações, a transformação Dimensão de Mudança Lenta identifica o tipo de atualização de cada coluna e encaminha a linha para a Saída de Atualizações de Atributos Variáveis, a Saída de Atributo Fixo, a Saída de Inserções de Atributos Históricos ou a Saída de Atualizações de Membro Inferido. Se houver uma linha inalterada, a transformação Dimensão de Alteração Lenta direcionará a linha para a Saída Inalterada.

Saídas da transformação de dimensão de mudança lenta

A transformação Slowly Changing Dimension tem uma entrada e até seis saídas. Uma saída direciona uma linha para o subconjunto do fluxo de dados que corresponde aos requisitos de atualização e de inserção da linha. Essa transformação não oferece suporte a uma saída de erro.

A tabela a seguir descreve as saídas de transformação e os requisitos de seus fluxos de dados subsequentes. Os requisitos descrevem o fluxo de dados criado pelo Assistente de Dimensão de Alteração Lenta.

Saída Descrição Requisitos de fluxo de dados
Alterar atributos atualiza a saída O registro na tabela de pesquisa é atualizado. Esta saída é usada para alterar linhas de atributo. Uma transformação comando OLE DB atualiza o registro usando uma instrução UPDATE .
Saída de Atributos Fixos Os valores em linhas que não devem ser alterados não correspondem a valores na tabela de pesquisa. Esta saída é usada para linhas de atributos fixos. Nenhum fluxo de dados padrão é criado. Se a transformação está configurada para continuar depois de encontrar alterações em colunas de atributo fixo, você deve criar um fluxo de dados que capture essas linhas.
Saída de Inserções de Atributos Históricos A tabela de pesquisa contém pelo menos uma linha correspondente. A linha marcada como "atual" deve ser marcada agora como "expirada". Esta saída é usada para linhas de atributos históricos. As transformações de Coluna Derivada criam colunas para os indicadores de linha expirada e de linha atual. Uma transformação Comando OLE DB atualiza o registro que deve ser marcado agora como "expirado." A linha com os valores da nova coluna é direcionada para a Nova Saída, na qual a linha é inserida e marcada como "atual".
Saída de Atualizações de Membro Deduzido Linhas para membros de dimensão deduzidos são inseridas. Esta saída é usada para linhas de membros inferidos. Uma transformação comando OLE DB atualiza o registro usando uma instrução SQL UPDATE .
Nova Saída A tabela de pesquisa não contém linhas correspondentes. A linha é adicionada à tabela de dimensão. Esta saída é utilizada para novas linhas e alterações nas linhas de atributos históricos. Uma transformação de Coluna Derivada define o indicador da linha atual, e um destino OLE DB insere a linha.
Saída Inalterada Os valores na tabela de pesquisa correspondem aos valores de linha. Esta saída é usada para linhas inalteradas. Nenhum fluxo de dados padrão é criado porque a transformação Dimensão de Alteração Lenta não executa nenhum trabalho. Se você quiser capturar estas linhas, deverá criar um fluxo de dados para esta saída.

Chaves de negócio

A transformação de Dimensão de Alteração Lenta exige pelo menos uma coluna de chave de negócio.

A transformação Dimensão de Alteração Lenta não oferece suporte a chaves de negócio nulas. Se os dados incluem linhas nas quais a coluna de chave de negócio é nula, essas linhas devem ser removidas do fluxo de dados. Você pode usar a transformação Conditional Split para filtrar linhas cujas colunas de chave de negócio contêm valores nulos. Para obter mais informações, consulte Conditional Split Transformation.

Otimizando o desempenho da transformação de Dimensão de Mudança Lenta

Para obter sugestões sobre como melhorar o desempenho da transformação Dimensão de Mudança Lenta, consulte Recursos de Desempenho do Fluxo de Dados.

Solução de problemas da transformação de dimensão de alteração lenta

Você pode registrar as chamadas que a transformação Dimensão de Mudança Lenta faz para provedores de dados externos. Você pode usar esse recurso de log para solucionar problemas nas conexões, nos comandos e nas consultas a fontes de dados externas executados pela transformação Dimensão de Alteração Gradual. Para registrar as chamadas que a transformação Dimensão de Mudança Lenta faz aos provedores de dados externos, habilite o log em nível de pacote e selecione o evento Diagnostic em nível de pacote. Para obter mais informações, consulte Solucionando problemas de ferramentas para execução de pacotes.

Configurando a transformação de Dimensão de Mudança Lenta

Você pode definir propriedades pelo Designer do SSIS ou programaticamente.

Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor Avançado ou programaticamente, clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir as propriedades, consulte Definir as propriedades de um componente de fluxo de dados.

Configurando as saídas da transformação Dimensão de Alteração Lenta

Coordenar a atualização e a inserção de registros em tabelas de dimensão pode ser uma tarefa complexa, especialmente se ambas as alterações, Tipo 1 e Tipo 2, são usadas. O Designer do SSIS oferece duas maneiras de configurar o suporte a dimensões de mudança lenta:

  • A caixa de diálogo Editor Avançado , na qual você seleciona uma conexão, define propriedades de componentes comuns e personalizadas, escolhe colunas de entrada e define propriedades de coluna nas seis saídas. Para concluir a tarefa de configurar o suporte a uma dimensão de alteração lenta, você deve criar manualmente o fluxo de dados para as saídas usadas pela transformação Dimensão de Alteração Lenta. Para obter mais informações, consulte Fluxo de Dados.

  • O Assistente de Carregamento de Dimensão, que orienta você nas etapas para configurar a transformação de Dimensão de Alteração Lenta e criar o fluxo de dados para as saídas da transformação. Para alterar a configuração de dimensões de alteração lenta, execute novamente o Assistente para Carregar Dimensão. Para obter mais informações, consulte Configurar saídas usando o Assistente de Dimensão de Alteração Lenta.

Definir as propriedades de um componente de fluxo de dados