Você está na página 1de 8

10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo

INÍCIO BLOG TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS

BUSINESS INTELLIGENCE 4
REDES SOCIAIS
Modelagem de Dados para Business Intelligence    
On 25 de fevereiro de 2021, by Tiago Dias

Procure aqui... 

PUBLICAÇÕES MAIS LIDAS

Manipulando Dados em PostgreSQL


com Python
20 de maio de 2021

Estamos avançando no Business Intelligence – Do Problema Ao Dashboard. E agora temos uma missão
muito importante no projeto, a modelagem de dados. Mas não pense que o caminho até aqui foi simples,
já completamos muitas etapas antes de partir para a modelagem de dados. Confere nossa caminhada para
chegar até aqui: Análise Exploratória de Dados com
Python Parte I
Introdução ao Business Intelligence – Do Problema Ao Dashboard 27 de julho de 2020
Ambiente de Desenvolvimento para Business Intelligence
Definições para Projetos de Business Intelligence
Linguagem SQL e os Bancos de Dados Relacionais

Então, já vimos todas as etapas da caminhada, vamos ver o que nos aguarda neste artigo.

Primeiramente veremos alguns conceitos sobre bancos de dados multidimensionais, modelagem de fatos
e dimensões, operações em cubos e por fim, iremos modelar o projeto de BI do Dados ao Cubo.
Modelos em Produção com
Streamlit
1. Banco de Dados Multidimensional 12 de agosto de 2020

Essa técnica é utilizada em projetos de BI, aplicados nos dados relacionais, que aprendemos na etapa
anterior. A modelagem multidimensional (também conhecida como modelagem dimensional) é baseada NOVAS PUBLICAÇÕES
nas estruturas de Fatos e Dimensões (veremos em detalhes essas duas estruturas daqui a pouco). Esse
modelo de trabalho é ideal para estruturação de dados em um Data Warehouse (DW). A dimensão é o que O Guia do XGBoost com Python
dá personalidade e qualidade aos “Fatos” ocorridos, é a dimensão que nos permite visualizar as 28 de abril de 2022
informações por diversos aspectos. Assim é possível estruturar os dados em cubos (junção entre
dimensões e fatos) por assuntos, de forma a entregar mais resultados para o usuário que vai consumir
essas informações. Criando Modelos de Machine
Learning com Pipeline do Scikit-
Para esse tipo de modelagem podemos utilizar dois modelos como base: Learn
14 de abril de 2022
Star Schema – Mais simples de trabalhar e entender. Todas as dimensões se relacionam com
uma ou mais fatos. Trabalhando com Arquivos de Texto
em Python
7 de abril de 2022 Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 1/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo
Funções em Python
INÍCIO BLOG TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS
31 de março de 2022

Loops em Python
24 de março de 2022

Política de Privacidade

Snowflake – Nesse modelo fica um pouco mais complicado o trabalho e o entendimento. As


dimensões além de ligadas a fato, podem ter outras dimensões auxiliares.

O modelo Star Schema é o mais recomendado para projetos de BI. Isso não é uma regra, e nem estamos
falando que o Snowflake não funciona. Mas pense no Star Schema como uma boa prática de BI.

Agora que já entendemos o que é o modelo multidimensional, precisamos entender onde esses dados
ficarão armazenados. 

1.1. Staging Area


Quando vamos realizar as cargas dos dados para o DW. Uma boa prática ,muitas vezes ignorada, é a
utilização da staging area. Em tradução livre seria a área de preparação, é uma zona intermediária na etapa
de ETL onde os dados dos bancos relacionais, são carregados diretamente. Só após os dados estarem
copiados na staging area é que fazemos as devidas transformações nos dados para ser carregado no DW.
Essa prática visa o não consumo de transações no banco de dados relacionais, uma ou mais operações
SQL executadas de uma vez sobre determinada base de dados pode gerar bloqueios em tabelas do
sistema transacional. Por esse motivo, deve ser feita uma cópia das tabelas de produção e após isto, na
staging area serão aplicadas as transformações do ETL. Caso ocorram erros nas etapas de transformações,
as cargas para o DW podem ser retomadas a partir da staging area.

1.2. Data Warehouse


O data warehouse (DW) pode ser definido da forma mais simples como um armazém de dados. Nele são
consolidados os dados de diversas fontes internas e externas à empresa para auxiliar na tomada de
decisão. Em projetos de business intelligence, o DW é peça fundamental. Para explorar os dados em um DW,
podem ser utilizadas diversas ferramentas, a mais comum é a OLAP (Online Analytical Processing) em
tradução livre Processo Analítico em Tempo Real.

1.3. Data Mart


O data mart (DM) é uma parte de um DW. Normalmente a criação do DM se dá pela necessidade do recorte
de algum assunto específico do DW. O principal objetivo é suportar uma grande intensidade de consulta
nos dados, sem impactar a performance do DW.

Sendo assim, precisamos compreender como transformar os nossos dados relacionais em dimensões e
fatos. Para isso vamos utilizar o modelo Star Schema.

2. Modelagem de Dimensões e Fatos


Para a modelagem dos dados em dimensões e fatos, podemos pensar em atributos e métricas. Vejamos a
imagem abaixo para ficar mais claro.

Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 2/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo

INÍCIO BLOG TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS

Pensando nessa tabela de venda, podemos identificar 3 dimensões e uma fato. Vamos entender os
atributos, que são nossas dimensões, e as métricas que são nossas fatos.

2.1. Dimensões
Na nossa tabela de vendas, vimos o campo dt_venda, então, logo temos um atributo de tempo. Ou seja,
temos a data (tempo) em que a venda foi efetuada. Dessa forma definimos a seguinte dimensão de tempo.

Com a dimensão de tempo, vai ser possível fazer uma análise temporal da métrica. Assim, podemos fazer
agrupamentos das vendas por data, dia, mês ou ano como definimos na dim_tempo. Pode ser necessário
incluir outras informações de tempo como trimestre, semestre ou outras relações com a data conforme o
problema a ser resolvido.

A nossa próxima dimensão está relacionada com o atributo vendedor. A relação com a nossa tabela de
vendas será através do campo cod_vendedor. Assim podemos definir a seguinte dimensão vendedor.

Com esse atributo, vai ser possível responder perguntas de vendas relacionadas aos vendedores. Com a
dim_vendedor podemos identificar a média de vendas por vendedor, ou o melhor e o pior vendedor, por
exemplo.

Para finalizar os atributos, temos a dimensão loja. O seu relacionamento com a tabela de vendas é através
do campo loja. Sendo assim, podemos definir a dimensão loja.

Com o atributo loja, é possível identificar as lojas com mais vendas. Se relacionarmos com a dimensão de
tempo, podemos ver as lojas com mais vendas em um dado período de tempo.

Em todas as nossas dimensões, temos dois campos importantes. A dt_inicio e df_fim, são informações
para identificar as dimensões ativas, e guardar o histórico das dimensões, com suas devidas alterações ao
longo do tempo.

2.2. Fatos Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 3/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo
Enfim a fato, nossa métrica para análise. A fato de vendas vai estar relacionada com todas as dimensões
INÍCIO
através das chaves primáriasBLOG TRILHAS
de cada uma, DE ENSINO
que estarão SEJA estrangeira
como chaves UM PARCEIRO SOBRE
na tabela CONTATO
fato. Abaixo a NEWSLETTER PROJETOS
modelagem dos dados identificando a fat_vendas.

O campo da tabela de vendas que temos a métrica é o vlr_venda. Dessa forma podemos agregar o valor
das vendas por quaisquer dimensões, ou uma combinação delas. Assim podemos identificar informações
importantes sobre as vendas.

Dessa maneira, transformamos os nossos dados relacionais em cubo. Sendo assim, foi feita a modelagem
multidimensional dos dados. Assim podemos fazer operações que vão gerar insights para o negócio. 

3. Operações no Cubo de Dados


Na imagem abaixo, temos uma explicação visual das operações possíveis em um cubo de dados, vamos
entender em detalhes cada uma delas.

Slicing – Fatiar os dados, seleção de uma dimensão.


Dicing – Corte dos dados, seleção de duas ou mais dimensões.
Pivot – Rotação dos dados, mudar a perspectiva de visualização.
Drill Down – Detalhar os dados, examinar aumentando o detalhe dos dados.
Roll UP – Generalizar os dados, diminuir o nível de detalhe dos dados.

Agora, chegou a hora de fazer a modelagem do projeto de business intelligence do Dados ao Cubo.

4. Modelando o Projeto de Business Intelligence do Dados ao Cubo


Agora que já começamos a entender a modelagem multidimensional, podemos aplicar ao projeto de BI  do
Dados ao Cubo. Vamos ver quais atributos e métricas identificamos na tabela rf_florestasplantadas_ibge
para resolver os problemas levantados na etapa de definição do problema. Vale lembrar que os dados são
referentes a reflorestamento no Brasil durante o período de 2014 a 2016.

Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 4/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo

INÍCIO BLOG TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS

Sendo assim, podemos identificar 3 atributos, que são as dimensões: tempo, localização e espécie. E
apenas uma métrica, a área, que é a fato florestas. Vamos ver em detalhes a modelagem de cada uma
dessas tabelas que vão compor o nosso DW.

4.1. Modelagem das Dimensões


O atributo de tempo, refere-se ao período de reflorestamento. Neste caso representado pelo campo Ano
(data) e vamos modelar a dim_tempo da seguinte forma:

Para o problema que estamos tratando, só vamos poder fazer a agregação do reflorestamento por ano.
Pois os nossos dados de origem só tem essa informação, apesar da nossa dimensão tempo ter mais
algumas informações, não vão ser úteis para este caso. Esse é um problema muito comum, dados de
origem insuficientes ou incompletos. Esse tipo de problemas com dados podem inviabilizar a solução, para
o nosso caso só não vamos ter detalhes sobre o período de reflorestamento.

Em contrapartida, o atributo de localização, vamos ter detalhes desde o estado até a latitude e longitude
do reflorestamento. Esse nível de detalhe pode ser necessário em alguns problemas ou não, isso vai
depender do problema. Vamos a modelagem da dimensão localização:

Temos diversos campos na tabela de origem para a dim_localização. Mas o importante neste caso é
identificar o campo chave para a dimensão, ou seja, o campo que identifica a dimensão de uma forma
única. Então, vamos utilizar o campo municipio_uf, com ele garantimos o mapeamento de todas as
localizações únicas na tabela de origem. Com essa dimensão vai ser possível saber qual estado teve a
maior área reflorestada, por exemplo.

O nosso último atributo é a espécie reflorestada. Vamos fazer a modelagem da dim_especie com o campo
especie_florestal, vejamos:

Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 5/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo
Com a modelagem das espécies de reflorestamento, podemos identificar qual o tamanho da área
INÍCIO
reflorestada de cada espécieBLOG
dos dados.TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS

É fundamental que a modelagem seja baseada de acordo com o escopo do projeto e a definição do
problema. A grande possibilidade de resposta que os dados podem trazer é capaz de tirar o foco do
problema e ao final do projeto não atingir o objetivo desejado.

Dimensões prontas, vamos modelar a nossa fato

4.2. Modelagem da Fato


A métrica da fato de reflorestamento é a área de floresta que foi plantada. Vamos ver a modelagem da
fato:

A fato fat_florestas foi modelada, com a métrica area_ha, e os ids das dimensões relacionadas. Desse
modo, podemos fazer todas as operações no cubo utilizando as dimensões vinculadas a fato. O modelo de
dados resultante vamos ver a seguir.

4.3. Resultado da Modelagem


Aqui podemos ver o resultado da modelagem de dados do problema do BI do Dados ao Cubo. Essa
imagem representa a estrutura dos dados e o relacionamento entre as dimensões e a fato.

Portanto, foi utilizado o modelo star schema, seguindo as boas práticas para projetos de BI. Esse modelo de
dados multidimensional vai compor o DW.

E assim, chegamos ao fim de mais uma etapa do Business Intelligence – Do Problema Ao Dashboard.
Agora falta muito pouco para ver o resultado do projeto de BI do Dados ao Cubo. Na próxima etapa vamos
ver como fazer o ETL com Pentaho para levar os dados do banco relacional para o DW. Em seguida
finalizamos com o DataViz com o Power BI onde vamos apresentar o resultado final, construindo um
dashboard com esses dados.

Espero que o conteúdo de BI do Dados ao Cubo esteja pelo menos dando uma iluminada nas ideias. Se
está gostando do conteúdo, vamos levar para o maior número de pessoas possíveis que querem aprender
BI. Um grande abraço e até a próxima.

Conteúdos ao Cubo
Por fim, deixo algumas sugestões de conteúdos que você pode encontrar no Dados ao Cubo, sempre
falando sobre o mundo dos dados.

Ingestão de Dados via API com Python Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 6/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo
Processamento Paralelo com Python
INÍCIODadosBLOG
Manipulando TRILHAS
em PostgreSQL comDEPython
ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS
Velocidade da Internet com a Biblioteca SpeedTest Python
Pipeline dos Projetos de Ciência de Dados

Tiago Dias
Baiano, apaixonado por dados e tecnologia, amante das inovações tecnológicas
que facilitam a vida humana! Formado em Engenharia da Computação e com MBA
em Gestão da Informação e Business Intelligence e especialização em Data
Science. Atualmente atua como Data Analyst na Lopes e nas horas vagas cria uns
modelos de Machine Learning com Python e soluções diversas com dados!

BI BUSINESS INTELLIGENCE DADOS DATA WAREHOUSE MODELAGEM DE DADOS

Curtir 1

Gostou? Compartilhe!

VOCÊ PODE GOSTAR:

Agile BI na Prática – Parte II Compreendendo Agile BI – Parte I DataViz com Power BI

4 COMMENTS

Henrique REPLY
25 de fevereiro de 2021

Gostei. Muito bem explicado com exemplos e uma linguagem clara.

Curtir

Tiago Dias REPLY


8 de março de 2021
Obrigado Henrique! O feedback, é importante para saber que estamos no caminho certo.

Curtir

Alexandre REPLY
8 de março de 2021

Ótimo artigo! Conteúdo muito bom, linguagem clara e com bons exemplos, obrigado por isto, abraço!

Carregando...

Tiago Dias REPLY


8 de março de 2021
Opa Alexandre, obrigado pelo feedback!

Carregando...

Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 7/8
10/06/2022 09:59 Modelagem de Dados para Business Intelligence - Dados ao Cubo

COMENTÁRIOS:
INÍCIO BLOG TRILHAS DE ENSINO SEJA UM PARCEIRO SOBRE CONTATO NEWSLETTER PROJETOS
Digite seu comentário aqui...

FIQUE CONECT
   

By Dados ao Cubo © 2021 - Todos os direitos reservados.

IR AO TOP

Privacidade - Termos

https://dadosaocubo.com/modelagem-de-dados-para-business-intelligence/ 8/8

Você também pode gostar