Olá! Meu nome é Victorino Vila e vamos iniciar mais um curso da formação, em que acompanhamos Paula na implementação de um projeto de Business Intelligence corporativo na empresa AtacaDez.
Audiodescrição: Victorino é um homem branco de cabelo curso branco e liso, sobrancelhas e barba grisalhos, e olhos castanhos. Ele veste uma camisa preta e está sentado em frente a uma parede lisa iluminada em gradiente azul-claro.
Já acompanhamos, em outros cursos, as aventuras de Paula no levantamento do modelo de negócio, na construção do Data Warehouse, na criação e carga do Data Lake, e na carga do Data Warehouse. Contudo, analisamos apenas a carga das dimensões principais.
Agora chegou a hora de finalizar o projeto de carga completa do Data Warehouse, implementando a carga das dimensões tempo e das tabelas de fato. No que se refere à dimensão tempo, precisamos utilizar um critério de busca na lista dos dias contidos no Data Lake e, a partir desses dias, calcular os atributos e os níveis de saída da dimensão.
Quanto à tabela de fato, precisamos considerar a carga dessas mesmas datas que utilizamos para carregar a dimensão tempo e combinar os dados do cabeçalho da nota fiscal, item de nota e também da compra de produtos em um único destino, e calcular os indicadores de valor de venda e custo de venda.
Depois vamos aprimorar o processo de carga adicionando variáveis como parâmetros. Faremos tudo isso neste curso e, no final, teremos o processo de carga do Data Warehouse completo.
Vamos iniciar este curso? Esperamos que você goste bastante.
Até o próximo vídeo!
Vamos iniciar nosso curso focado na implementação de um processo de carga, especificamente na dimensão tempo e na tabela de fato.
A ideia é ter, no Data Lake, uma quantidade maior de dados. Por isso, neste vídeo, abordaremos a carga de dados do Data Lake para o período de 2021.
Antes de iniciarmos a construção do fluxo de carga do Data Warehouse para o Data Lake, precisamos garantir que teremos um período substancial de dados no Data Lake. Então, faremos uma carga completa do ano de 2021.
Com o projeto aberto no Visual Studio, temos a tarefa de fluxo "Carga do Data Lake" e depois "Carga do Data Warehouse", que implementamos no curso anterior.
Vamos ao diretório fonte, no subdiretório "ETL > mov". Nele, encontramos os movimentos dos cabeçalhos de notas fiscais e os movimentos dos itens de notas fiscais referentes a um longo período.
Vamos realizar a cópia dos dados referentes ao cabeçalho de notas e de itens do ano de 2021. Começaremos pelos itens, selecionando do arquivo Movimento_Itens_2021_01.csv (janeiro de 2021) até Movimento_Itens_2021_12.csv (dezembro de 2021). Após copiar, vamos colar os arquivos no diretório "DATA > FATOS > NOTAS > IN".
Faremos o mesmo processo para os arquivos de cabeçalho de notas fiscais, selecionando do arquivo Movimento_Notas_2021_01.csv até Movimento_Notas_2021_12.csv e colando em "DATA > FATOS > NOTAS > IN".
Além disso, precisamos transportar os dados referentes às compras dos produtos realizadas por fornecedores para a AtacaDez. Então, retornando ao subdiretório "ETL > compra", selecionaremos as compras de janeiro de 2021 (Compras_202101.csv) a dezembro de 2021 (Compras_202112.csv). No diretório "DATA > FATOS > COMPRAS > IN", colaremos esses arquivos.
De volta ao projeto, escolheremos o pacote CargaPrincipal.dtsx na aba à direita, clicando com o botão direito do mouse sobre ele e selecionando a opção "Definir como Objeto de Inicialização". Em seguida, clicamos no botão "Iniciar".
Será iniciada a carga das dimensões do Data Lake, das tabelas de fato do Data Lake e, por fim, das dimensões do Data Warehouse. Esse processo levará apenas alguns minutos.
Após a finalização da carga, verificamos no pacote principal (CargaPrincipal.dtsx) que as cargas do Data Lake e do Data Warehouse foram executadas com sucesso.
Vamos verificar agora o conteúdo das tabelas de cabeçalho de notas fiscais e de compras no Data Lake, especificamente no SQL Server, para ter certeza que os dados de 2021 foram corretamente carregados.
No SQL Server, criaremos uma nova consulta. No pesquisador de objetos à esquerda, temos a tabela de notas fiscais (dbo.tbl_nota). Sendo assim, vamos inserir a consulta SELECT MIN(DATA), MAX(DATA) FROM [dbo].[tbl_nota].
SELECT MIN(DATA), MAX(DATA) FROM [dbo].[tbl_nota]
Como resultado, temos dados no Data Lake de janeiro de 2021 até o final de dezembro de 2021.
| # | (Nenhum nome de coluna) | (Nenhum nome de coluna) |
|---|---|---|
| 1 | 2021-01-01 | 2021-12-31 |
No caso de dados referentes a compras, selecionamos os campos MIN(MES_ANO) e MAX(MES_ANO) na tabela de compra (dbo.tbl_compra). Como resultado, verificamos compras de janeiro de 2021 a dezembro de 2021.
SELECT MIN(MES_ANO), MAX(MES_ANO) FROM [dbo].[tbl_compra]
| # | (Nenhum nome de coluna) | (Nenhum nome de coluna) |
|---|---|---|
| 1 | 2021-01 | 2021-12 |
Com isso, nosso Data Lake está carregado com os dados pretendidos. Agora temos tudo pronto para fazer os scripts de carga da dimensão tempo e da tabela de fato do Data Warehouse.
Um abraço e até o próximo vídeo!
Agora que os dados do Data Lake estão carregados, vamos planejar os passos que teremos que seguir para a construção do processo de carga da dimensão tempo e da tabela de fato do Data Warehouse.
Neste vídeo, vamos planejar o processo de carga.
Antes de começar a programar efetivamente o fluxo de carga da dimensão tempo e da tabela de fato, vamos anotar os passos que precisamos percorrer.
Primeiro, vamos analisar a tabela de listas de datas que temos no Data Lake, chamada dbo.tbl_tempo. Vamos selecionar as mil primeiras linhas dessa tabela.
Podemos verificar que existe uma lista de datas com uma coluna chamada "controle". Este campo funciona da seguinte maneira: quando o número 1 estiver presente, significa que a carga para essa data está pendente.
Com base no campo "controle", vamos criar a dimensão tempo para esses dias cujo controle é igual a 1, e realizar a carga das tabelas de fato do Data Warehouse utilizando o campo de controle. Após essa carga, as datas utilizadas como controle terão seu valor alterado de 1 para 0, o que justifica a criação do campo "controle".
Vamos precisar selecionar os dias com "controle" igual a 1 e, baseado nesses dias, calcular agregadores dos níveis output da dimensão tempo: mês, trimestre, semestre, ano, se é dia da semana, fim de semana, e assim por diante. Também precisaremos efetuar o LOOKUP para criar o identificador primário da dimensão tempo.
Vamos anotar os passos para a dimensão tempo:
- Ler a lista de datas cujo controle = 1;
- Criar novas colunas referentes aos agregadores de tempo;
- Aplicar o processo de
LOOKUPsobre os identificadores naturais do tempo.
Para a tabela de fato, teremos mais etapas, já que no Data Lake, os dados referentes à tabela de fato estão distribuídos em três tabelas: dbo.tbl_compra, dbo.tbl_nota e dbo.tbl_item.
Porém, no Data Warehouse, a tabela de fato (dbo.fact_venda) é uma só e contém os seguintes campos: os identificadores primários de cada dimensão (id_loja, id_cliente, id_produto e id_dia), quantidade_vendida, valor_venda e custo_venda.
Portanto, temos que seguir os seguintes passos:
- Extrair dados das tabelas
tbl_nota,tbl_item,tbl_compra;- Juntar a tabela
tbl_notacomtbl_item, usando como critério de junção o número da nota, que é a coluna em comum nas duas tabelas;- Precisaremos agrupar as linhas dessa tabela por data, produto, cliente e loja. Esse agrupamento é necessário porque um mesmo cliente pode comprar o mesmo produto no mesmo dia em notas diferentes;
- Faremos a junção da tabela resultante da junção entre
tbl_notaetbl_item, que chamaremos detbl_venda, comtbl_compra, usando a data (MES_ANO) como critério de junção;- Fazer os cálculos, principalmente de
valor_venda, que será o preço de venda e a quantidade, ambas vindas da tabela de itens de notas fiscais; ecusto_venda, que será a quantidade que está na tabela de itens com o preço do produto;- Por fim, precisaremos aplicar o processo de
LOOKUPpara a tabela de fato, transformando os identificadores naturais que estão na tabela de fato em identificadores primários.
Esses são os passos que precisaremos percorrer para implementar tanto a carga da dimensão tempo quanto da tabela de fato. Para simplificar o trabalho, vamos fixar uma data de leitura, e após terminar o processo de carga, generalizaremos essa data para automatizar a carga no final.
Um abraço e até o próximo vídeo!
O curso Data Warehouse e Integration Services: carregando fatos e dimensão tempo possui 204 minutos de vídeos, em um total de 71 atividades. Gostou? Conheça nossos outros cursos de Engenharias e Arquiteturas de Dados em Dados, ou leia nossos artigos de Dados.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Todos os cursos, trilhas e certificados para evoluir.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
Modo entrevista técnica e comportamental
Aprenda mais rápido com IA, idiomas e imersões.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Acesso ao maior portal de vagas tech do Brasil
Desafios de código
System design
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Aceleração de carreira: mentoria, vagas e prática guiada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Lives CareerUp: eventos exclusivos com foco em empregabilidade e carreira
2 mentorias individuais com foco na sua carreira