top of page
  • Foto do escritorGabriel Quintella

SQL Server Integration Services, Trabalhando com componente Slow Change Dimension

Atualizado: 2 de out. de 2023

E ai amigão tubo bem com essa força????


No post de hoje vou abordar um assunto muito comum para quem trabalha criando bases multimensionais.


Você já ouviu falar em versionamento de registros dentro de uma dimensão? Já ouviu falar no conceito Slow Change Dimension? Como que você controla o versionamento dos registros em suas dimensões?


Segue aqui comigo que eu explico com que eu faço do meu lado!


Mão a obra! Pois camarão que dorme a onda leva...


1 - Criando um Projeto no SQL Server Integration Services


Vou considerar que você não tem nenhum projeto criado no Visual Studio do SQL Server Integration Service. Um ponto bem importante desse estudo é que não irei falar como que você realiza a configuração do seu ambiente, entenderei que você já tenha feito isso em outro momento.


Para criar um projeto é bem simples. Vamos abrir o Visual Studio e seguir os próximos passos.


(1) Selecionar File;

(2) New;

(3) Project;

(4) Caso tenha um projeto criado basta clicar em Open Project.



Após clicar em New Project, a tela abaixo será apresentada.


(1) Escolher Integration Services;

(2) Integration Services Project;

(3) Informar um nome para o Projeto;

(4) Definir o local (diretório) que o projeto será gerado;

(5) Informar uma nomenclatura para a sua solução;

(6) Caso queira que um diretório para o projeto seja criado basta marcar essa opção;

(7) Clicar em OK para realizar a criação;



2 - Criando nosso Pacote de ETL


Primeiro ação será a criação de um pacote do SSIS. Essa criação é bem simples, acompanha comigo.


(1) Clicar com o botão direito do mouse sobre SSIS Package;

(2) Clicar em New SSIS Package;


Além dessa possibilidade, outras ações podem ser realizadas.


  • Importar um Arquivo dtsx - basta clicar em Add Existng Package;

  • Realizar o Upgrade dos seus pacotes - basta clicar sobre Convert Deployment Model ou Upgrade All Package;

  • Realizar um Import and Export - basta clicar sobre SSIS Import and Export Wizard;

  • Ordenar seus pacotes - basta clicar em Sort by name.



Após a criação do nosso arquivo dtsx, vamos para o desenho do nosso fluxo.


(1) Nome do arquivo dtsx;


Para alterar basta clicar sobre ele e apertar o botão F4 e em file name informar o nome do seu pacote.



Ou clicar sobre o pacote e apertar F2



(2) Aba Control Flow;

(3) Inserir um componente de Data Flow Task;

(4) Realizar duplo clique ou clicar em Data Flow.



Ao clicar em Data Flow, vamos começar a brincadeira! Dessa vez vamos fazer iguais aos filmes de Hollywood começando do final. Apresento para você como que será o resultado final desse nosso trabalho (1).


3 - Criando as Conexões


Primeiro passo será realizar a configuração das nossas conexões.


(1) Aba Connection Manage;

(2) Clicar com o botão direito do mouse e escolher New OLE DB Connection;



(1) Na aba Connection Manager, vamos clicar com o botão direito e selecionar OLE DB Connection Manager. Na tela que será apresentada, vamos clicar em New;

(2) Selecionar Native OLE DB\SQL Server Native Client 11.0;

(3) Informar o nome do servidor\instância;

(4) Selecionar o método de conexão;

(5) Selecionar o banco de dados. Clicando na setinha pra baixo é possível visualizar todos os bancos existentes em nosso servidor;

(6) Clicar em Test Connection para validar a conexão (Sempre comento que esse passo é desnecessário, pois ela já foi validada no passo anterior);

(7) Clicar em OK para finalizar.



4 - Configurando o Fluxo de Dados


4.1 - Configurando o Componente Source Assistant


Vamos iniciar nosso trabalho realizando a configuração nosso Source.


(1) Em SSIS Toolbox, vamos selecionar o componente Data Flow Task;

(2) Feito isso a tela ao centro será carregada;



Após incluir o componente Data Flow, vamos realizar um duplo clique no componente e adicionar o componente de Source Assitant.


Vamos começar!


(1) Em SSIS Toolbox, vamos selecionar o componente Source Assistant;

(2) Feito isso a tela ao centro será carregada;

(3) Como nossa origem será uma tabela, vamos selecionar SQL Server;

(4) Selecionar a conexão que criamos;

(5) Observe que algumas informações referente ao destino do arquivo é apresentada;

(6) Clicar em OK para confirmar.



Vamos incluir agora os parâmetros em nosso Source.


(1) Clicar duas vezes sobre o componente OLE DB Source;

(2) Na aba Connection Manager;

(3) Selecionar a conexão que criamos anteriormente;

(4) Nesse passo também é possível realizar a criação de uma nova conexão;

(5) Nesse ponto podemos selecionar se a nossa origem será uma tabela ou view, caso escolha, no passo seguinte você deverá selecionar em uma lista qual a origem e também pode ser selecionado um script, caso seja escolhida essa opção, no passo seguinte você deverá informar o script de consulta;

(6) Selecionar a origem, ou tabela ou script, depende do passo anterior;

(7) É possível visualizar uma prévia dos dados;

(8) E clicar em OK para finalizar.



4.2 - Criando a tabela DimCargo que será usada no Componente Destination Assistant


(1) Conectar com o nosso servidor\instância;

(2) Selecionar o banco de dados;

(3) Script de criação da tabela dbo.DimCargo.


O script de criação da tabela será disponibilizado no Github.



4.3 - Configurando o Componente Slow Changing Dimension (SCD)


Agora vamos configurar o nosso componente SCD.


O componente SCD coordena a atualização e a inserção de registros em tabelas de dimensão do DW. Por exemplo, você pode usar essa transformação para configurar as saídas de transformação que inserem e atualizam registros nas tabelas.


(1) Em SSIS Toolbox, vamos selecionar o componente Slow Changing Dimension;

(2) Feito isso a tela ao centro será carregada.



Vamos iniciar a configuração do nosso componente.


(1) Duplo clique sobre o componente Slow Changing Dimension;

(2) A tela de configuração será carregada ao centro;

(3) Selecionar a conexão que será usada;

(4) Selecionar a tabela que estaremos usando dentro do nosso fluxo;

(5) Área de seleção dos campos para configuração;

(6) Output columns;

(7) Colunas da dimensão;

(8) Definição de qual coluna será usada como chave de negócio na hora de validar os dados;

(9) Clicar Next para seguir com as configurações.



Na próxima tela definimos qual o campo que será versionado em caso de alteração e qual apenas será atualizado.


(1) Continuando no componente Slow Changing Dimension;

(2) Tela em que definimos quais regras serão aplicadas na dimensão (versionamento ou atualização);

(3) Área que definimos as regras;

(4) Colunas selecionadas;

(5) Regra aplicada em cada coluna;

(6) Clicar Next para seguir com as configurações.



Na próxima tela vamos manter a configuração default.



Na próxima tela definimos as colunas de inicio e término da vigência do registro.



Vamos manter a configuração default.



Finalizando a configuração conseguimos verificar como que ficou nossa configuração.















Uauuuuuuuuuuuuu!!! Ficou sensacional!!! Vamos falar sobre essa imagem!


(1) Fluxo completo, lindo e maravilhoso!;

(2) Conforme definimos acima, nossos dados ou serão atualizados ou serão versionados. Nesse passa vamos verificar os dados que serão alterados;

(2.1) Quando o dado sai do Source, e é identificado no SCD que sofreu uma alteração e essa alteração é em um campo que não é versionado, esse registro é atualizado;

(3) Quando o registro sai do Source é identificado no SCD que sofreu uma alteração em um campo versionado, ele vai seguir o seguinte fluxo;


Quando um registro tem sua vigência encerrada, dois fluxos são disparados, eles são representados pelos passos (3.1) e (3.2).


(3.1) Registro é direcionado para para ter sua vigência encerrada;

(3.1.1) Uma data de fim vigência é informada para o registro;

(3.1.2) Atualização realizada no banco de dados

(3.2) Uma nova versão do registro é criada;

(3.2.1) Uma data de inicio vigência é informada para o registro;

(3.2.2) Novo registro é inserido no banco de dados.


Quando trabalhamos com o SCD, três fluxos são sempre criados.


1 - Update - Registro alterado, mais sem a necessidade do término de vigência e criação de um novo registro;

2 - Create - Quando um registro não existir no destino ele será criado;

3 - Update/Create - Registro alterado mais com a necessidade de término de vigência e criação de um novo registro;



Vamos simular cada um desses passos.


Observe na imagem abaixo que ao executarmos o fluxo, 3 registros serão criados pois não foram identificados na base.



Vamos verificar na nossa base dados como que os dados foram cadastrados.



Agora vamos simular uma alteração em um campo que é versionado.


Para o cargo de CD_CARGO igual à 11, vamos alterar o valor do salário (Coluna VlrSalario) para R$ 21500,00.



Ao executar o fluxo, conseguimos verificar que vieram 3 registros do Source, porém apenas um passou pelo componente SCD, ou seja, 2 não sofreram alteração.


Desse um que passou, ele foi identificado como um registro que sofreu alteração em um campo versionado, passo pelo componente OLE DB Command para encerrar a vigência do dado e em seguida passou pelo passo de inserção de registro.


Com isso uma vigência foi encerrada e outra aberta.



Consultando nossa dimensão DimCargo, conseguimos verificar a vigência do registro ID_CARGO igual à 1.



E se essa alteração fosse feita na descrição do cargo (Coluna DS_CARGO)?


Qual seria o resultado? Sei lá...


Vamos verificar...


Para o mesmo CD_CARGO igual a 11 vamos alterar a descrição do cargo de PREFEITO para PREFEITOS.



Quando executamos o fluxo, é possível identificar que o dado depois de passar pelo SCD e ser identificado que sofreu alteração em um campo que não requer um vigenciamento, ele segue para a fluxo de UPDATE.



Consultando novamente na nossa tabela dimensão DimCargo, é possível analisar que o dado que foi alterado é o de vigência em aberto.



Com isso conseguimos analisar como que podemos fazer o vigenciamento de registros quando estamos trabalhando com dimensões que requer desse recurso, um comportamento muito normal quando trabalhamos com dimensões.


Agora caso você não queira trabalhar com o componente SCD, em alguns desenvolvimentos que eu fiz ele não apresentou um desempenho bom e por isso substitui ele por essa outra solução.


5 - Criando seu Próprio SCD


Peço que você preste muito atenção aqui!


O fluxo não é complicado, mais requer bastante atenção.


Primeiro passo será a criação de uma conexão com o banco TempDB.


(1) Na aba Connection Manager, vamos clicar com o botão direito e selecionar OLE DB Connection Manager. Na tela que será apresentada, vamos clicar em New;

(2) Selecionar Native OLE DB\SQL Server Native Client 11.0;

(3) Informar o nome do servidor\instância;

(4) Selecionar o método de conexão;

(5) Selecionar o banco de dados. Clicando na setinha pra baixo é possível visualizar todos os bancos existentes em nosso servidor;

(6) Clicar em Test Connection para validar a conexão (Sempre comento que esse passo é desnecessário, pois ela já foi validada no passo anterior);

(7) Clicar em OK para finalizar.



5.1 - Configurando o Componente Source Assistant


Vamos deixa a conexão com o TempDB de lado e configurar o nosso Source, ou seja, o conector com a tabela dbo.tb_cargo.


(1) Em SSIS Toolbox, vamos selecionar o componente Source Assistant;

(2) Feito isso a tela ao centro será carregada;

(3) Como nossa origem será uma tabela do banco de dados, vamos selecionar SQL Server;

(4) Selecionar a conexão que criamos;

(5) Observe que algumas informações referente a origem do arquivo é apresentada;

(6) Clicar em OK para confirmar.



(1) Clicar duas vezes sobre o componente OLE DB Source, na aba Connection Manager;

(2) Selecionar a conexão que criamos anteriormente;

(3) Nesse ponto podemos selecionar se a nossa origem será uma tabela ou view, caso escolha, no passo seguinte você deverá selecionar em uma lista qual a origem e também pode ser selecionado um script, caso seja escolhida essa opção, no passo seguinte você deverá informar o script de consulta;

(4) Selecionar a origem, ou tabela ou script, depende do passo anterior;

(5) É possível visualizar uma prévia dos dados;

(6) E clicar em OK para finalizar.



5.2 - Configurando o Componente Lookup


Esse componente será usado para validar se o registro existe no destino.


Vamos fazer a configuração.


(1) Em SSIS Toolbox vamos selecionar o componente Lookup;

(2) O componente será carregado na tela de Data Flow;

(3) Na aba General;

(4) Vamos configurar o fluxo para redirecionar os dados quando ele não existir no destino;

(5) Não vamos criar ainda em OK para finalizar.



Na aba Connection vamos selecionar a tabela que iremos validar a existência de um registro.



Na próxima tela vamos realizar a relação entre a origem e o destino.


(1) Ainda no componente Lookup;

(2) Aba Columns;

(3) Local onde realizamos o relacionamento entre a origem e o destino;

(4) Colunas da Origem;

(5) Colunas do Destino;

(6) Grid com as colunas selecionadas do destino;

(7) Vamos precisar renomear as colunas para compara-las mais a frente;

(8) Clicar em OK para finalizar.



5.3 - Configurando o Componente Derived Column


Vou fazer a adição de um componente Derived Column para poder criar a coluna DthInicioVigencia com valor GETDATE() para os novos registros.


Lembrando que esse componente ser usado no fluxo de NO MATCH no Lookup, ou seja, quando um registro que estiver vindo da origem não existir no destino.


Vamos ver como que fica!


(1) Em SSIS Toolbox vamos selecionar o componente Derived Column e arrastar para a tela;

(2) Componente incluído;

(3) Após incluir o componente, vamos relacionar o fluxo No Match do Lookup ao componente Derived Column;

(4) Selecionar o output Lookup No Match Output;

(5) Clicar em OK para finalizar.



Após adicionar o componente e relacionar com o Lookup, vamos dar um duplo clique no componente Derived Column e incluir a nova coluna conforme tela abaixo.



5.4 - Configurando o Componente Destination Assistant


Esse passo será usado para configurar o destino do fluxo de dados que não existem no destino.


Você chega está cansado dele! Acompanha ai comigo...


(1) Em SSIS Toolbox, vamos selecionar o componente Destination Assistant;

(2) Feito isso a tela ao centro será carregada;

(3) Como o nosso destino será uma tabela, vamos selecionar SQL Server;

(4) Selecionar a conexão que criamos;

(5) Observe que algumas informações referente ao destino do arquivo é apresentada;

(6) Clicar em OK para confirmar.



O próximo passo é selecionar os parâmetros de conexão com o destino!


Acompanhe ai...


(1) Clicar duas vezes sobre o componente OLE DB Destination, na aba Connection Manager;

(2) Selecionar a conexão que criamos anteriormente;

(3) Nesse passo também é possível realizar a criação de uma nova conexão;

(4) Nesse ponto podemos selecionar se a nossa origem será uma tabela ou view, caso escolha, no passo seguinte você deverá selecionar em uma lista qual a origem e também pode ser selecionado um script, caso seja escolhida essa opção, no passo seguinte você deverá informar o script de consulta;

(5) Selecionar a origem, ou tabela ou script, depende do passo anterior;

(6) É possível visualizar uma prévia dos dados;

(7) Podemos visualizar uma amostra dos dados;

(8) Ainda não vamos clicar em OK para finalizar.



Agora vamos configurar o mapeamento de colunas entre o source e o destination.


(1) Ainda no componente Destination, vamos clicar em Mappings;

(2) A origem e destino serão apresentadas;

(3) Grid com o mapeamento realizado;

(4) Clicar em OK para finalizar.


Observem que quando clicamos na aba Mappings, as colunas já serão carregadas com o mapeamento feito. Isso ocorre justamente porque por default, o mapeamento é feito sempre por igualdade de nome. Mais ele pode ser alterado a qualquer momento.



Fluxo de criação de novos registros concluído com sucesso!


5.5 - Configurando o Componente Conditional Split


Agora começa a ficar interessante!


O componente o Conditional Split será usado exatamente para definir qual dado que será versionado e qual que será atualizado, está lembrado do que realizamos no passo anterior quando criamos esse mesmo fluxo porém usando o componente SCD?


Vamos as regras:


1 - UPDATE DADOS - Definimos que o campo DS_CARGO seria usado para UPDATE quando ocorrer uma alteração na origem quando comparamos os dados com o destino.

Lembra que quando alteramos a descrição de PREFEITO para PREFEITOS ocorreu apenas uma alteração?


2 - VERSIONAMENTO DADOS - Definimos que o campo VLRSALARIO seria usado para VERSIONAMENTO quando ocorrer uma alteração na origem quando comparamos os dados com o destino.

Lembra que quando alteramos o valor do salário do CD_GARGO igual À 11 de R$ 20500,00 para R$ 21500,00 ocorreu o versionamento do registro com valor R$ 20500,00 e um novo registro foi criado para o valor R$ 21500,00, lembra?


Bora fazer isso acontecer?


(1) Em SSIS Toolbox vamos selecionar o componente Conditional Split e arrastar até o Data Flow;

(2) Relacionar o componente Lookup e definir o fluxo Match;

(3) Duplo clique no componente e definir as regras;

(4) Podemos configurar um fluxo de erro mais não iremos fazer;

(5) Clicar em OK para finalizar.



5.6 - Configurando o Componente OLE DB Command


Após incluir o componente Conditional Split e configurar os fluxos, vamos adicionar o componente OLE DB Command e relacionar ele como o fluxo de UPDATE DADOS do componente Conditional Split.


(1) Em SSIS Toolbox vamos selecionar o componente OLE DB Command e arrastar até o Data Flow;

(2) Relacionar o componente Lookup e definir o fluxo UPDATE DADOS;

(3) Duplo clique no componente e na aba Connection Managers;

(4) Selecionar a conexão com o banco de dados;

(5) Configuração da conexão.


Realizada a configuração, vamos clicar em Component Properties.



Na próxima tela vamos configurar o comando UPDATE que será responsável pela atualização dos dados.


(1) Clicar em Component Properties;

(2) Em SqlCommand vamos clicar no quadradinho que tem no final da linha;

(3) Após clicar no quadradinho, uma tela será apresentada, vamos informar o script exatamente conforma a imagem, com os dois pontos de interrogação (?);


Após definir o comando UPDATE, vamos clicar em Column Mappings.



Agora é a última etapa da configuração do componente OLE DB Command.


Nessa etapa realizamos a relação entre as colunas da Origem com as colunas do Destino.


Veja como que fica.


(1) Na aba Column Mappings;

(2) Relacionar as colunas;

(3) Origem;

(4) Destino;

(5) Grid com o mapeamento realizado;

(6) Clicar em OK para confirmar;



5.7 - Configurando o Componente Derived Column


Após configurar o fluxo de UPDATE DADOS, vamos configurar agora VERSIONAMENTO DADOS.


Lembrando que no fluxo de versionamento de dados dois passos são realizados. Um registro tem sua vigência encerrada e um outro registro criado com vigência em aberta.


Vamos adicionar o componente Derived Column e relacionar com o fluxo VERSIONAMENTO DADOS do componente Conditional Split.


Acompanha comigo como que faço isso!


(1) Em SSIS Toolbox vamos selecionar o componente Derived Column e arrastar até o Data Flow;

(2) Relacionar o componente Conditional Split com o Derived Column;

(3) Componente Derived Column;

(4) Selecionar o fluxo VERSIONAMENTO DADOS;

(5) Clicar em OK para confirmar;



Após relacionar os componente pelo fluxo VERSIONAMENTO DADOS, vamos realizar um duplo clique no componente para configurar os valores da DthInicioVigencia e DthFimVigencia. Companha ai...


(1) Criar as colunas DthInicioVigencia e DthFimVigencia com valor GETDATE();

(2) Clicar em OK para concluir.



Seguindo com a nossa criação, vamos precisar agora criar uma tabela temporária para inserir os registros oriundos do versionamento de outros.



Vamos retornar para nosso Control Flow e adicionar o componente Execute SQL Task para poder criar a tabela temporária ##tmp_DimCargo.


(1) Em SSIS Toolbox selecionar o componente Execute SQL Task e arrastar até o Control Flow;

(2) Duplo clique no componente Execute SQL Task.

(3) Na aba General;

(4) Informar um nome para o componente;

(5) Selecionar a conexão com o banco de dados;

(6) Informar o script para criação da tabela temporária;

(7 e 8) Clicar em OK para concluir.



Uma configuração muito importante precisa ser feita em nossa conexão com o banco TempDB.


(1) Clicar na conexão e apenas o botão F4;

(2) Em RetainSameConnection alterar de False pra True.



O próximo passo é incluir um componente de Multcast.


5.8 - Configurando o Componente Multicast


Esse componente será muito útil justamente porque vamos precisar gerar múltiplas saídas para esse passo, na verdade duas!


Uma para criar o novo registro e o outro para atualizar o registro existente.



Vamos agora configurar a saída para a tabela temporária.


5.9 - Configurando o Componente Destination Assistant


(1) Em SSIS Toolbox, vamos selecionar o componente Destination Assistant;

(2) Feito isso a tela ao centro será carregada;

(3) Como nosso destino será uma tabela, vamos selecionar SQL Server;

(4) Selecionar a conexão que criamos;

(5) Observe que algumas informações referente ao destino do arquivo é apresentada;

(6) Clicar em OK para confirmar.



Agora é o momento de configurar os parâmetros da conexão.


(1) Clicar duas vezes sobre o componente OLE DB Destination;

(2) Na aba Connection Manager;

(3) Selecionar a conexão que criamos anteriormente;

(4) Nesse passo também é possível realizar a criação de uma nova conexão;

(5) Nesse ponto podemos selecionar se a nossa origem será uma tabela ou view, caso escolha, no passo seguinte você deverá selecionar em uma lista qual a origem e também pode ser selecionado um script, caso seja escolhida essa opção, no passo seguinte você deverá informar o script de consulta;

(6) Selecionar a origem, ou tabela ou script, depende do passo anterior;

(7) Nesse passo também é possível realizar a criação de uma nova tabela;

(8) É possível visualizar uma prévia dos dados;

(9) E clicar em OK para finalizar.



Agora vamos configurar o mapeamento das colunas no Destination.


(1) Após dois cliques no componente Destination, uma tela semelhante a de baixo será carregada;

(2) Vamos clicar em Mappings;

(3) A origem e destino serão apresentadas;

(4) Origem dos dados;

(5) Destino dos dados;

(6) Grid com o mapeamento realizado;

(7) Clicar em OK para finalizar.


Observem que quando clicamos na aba Mappings, as colunas já serão carregadas com o mapeamento feito. Isso ocorre justamente porque por default, o mapeamento é feito sempre por igualdade de nome. Mais ele pode ser alterado a qualquer momento.



Estamos quase no fim! Vamos agora incluir outro componente OLE DB Command.


5.10 - Configurando o Componente OLE DB Command


Após incluir o componente Multicast, vamos adicionar o componente OLE DB Command e incluir um fluxo de saida para o componente.


(1) Em SSIS Toolbox vamos selecionar o componente OLE DB Command e arrastar até o Data Flow;

(2) Relacionar o componente Multicast com o componente OLE DB Command;

(3) Duplo clique no componente OLE DB Command e na aba Connection Managers;

(4) Selecionar a conexão com o banco de dados;

(5) Configuração da conexão.


Realizada a configuração, vamos clicar em Component Properties.



Na próxima tela vamos configurar o comando UPDATE que será responsável pela atualização dos dados.


(3) Clicar em Component Properties;

(4) Em SqlCommand vamos clicar no quadradinho que tem no final da linha;


Após definir o comando UPDATE, vamos clicar em Column Mappings.



Agora é a última etapa da configuração do componente OLE DB Command.


Nessa etapa realizamos a relação entre as colunas da Origem com as colunas do Destino.


Veja como que fica.


(3) Na aba Column Mappings;

(4) Relacionar as colunas;

(5) Origem;

(6) Destino;

(7) Grid com o mapeamento realizado;

(8) Clicar em OK para confirmar;



Agora vamos voltar ao nosso Control Flow para adicionar um componente Execute SQL Task para incluir o script de insert de novos registros.



Processo concluído agora vamos testar!


Antes de executar o fluxo completo, vamos selecionar os dados da dbo.DimCargo.



Vamos atualizar o valor da coluna VlrSalario para R$ 19500,00 para o CD_CARGO igual à 11 e após isso iniciar o processamento.



Como a coluna VlrSalario é uma coluna marcada para versionamento em caso de alteração, concluímos que nosso processo funcionou de forma correta.


O antigo registro teve sua vigência encerrada e um novo registro foi criado.



E por último vamos alterar o campo DS_CARGO de PREFEITOS para PREFEITO.


Agora vamos executar o fluxo.



E mais uma vez verificamos que o fluxo funcionou da forma esperada!



5 - Conclusão


Ufa, mais um desafio concluído! Então meu amigo, o que achou?


Para você que trabalha com BI utilizar versionamento de registros é um processo muito comum quando estamos trabalhando com tabelas do tipo Dimensões.


Mais não leve como regra que toda Dimensão precisa trabalhar com versionamento, tudo vai de acordo com a necessidade do seu negócio.


Até o próximo encontro, grande abraço e fique com Deus!

48 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page