Conceitos de BI: O que são Fatos e Dimensões? Como identificar?
Autor: Allyson Alves | Publicado: 2013-12-05T12:37:00-02:00











Bienvenue,



Começando uma nova série, iremos falar sobre conceitos básicos. O primeiro assunto são&nbsp;fatos e&nbsp;dimensões.



O que são fatos?&nbsp;O que são dimensões? Como identificar? Dicas. São essas perguntas que iremos responder.








O que são Fatos?



Definição de Kimball:



"A dimensional model distinguishes between facts and attributes. A fact is usually&nbsp;something that is not known in advance. A fact is “an observation in the marketplace.”&nbsp;"



Ou seja, é um fato em si. Citando um exemplo dec oncessionária, um fato seria: vendas, operações, oficina, rh....e por aí vai.





Podem existir fatos em conjuntos. Nada impede. Tudo depende do projeto, se existir a necessidade de unir fatos, faça. É tudo bem flexível.



Uma vez que identificou os fatos, basta fazer as perguntas certas para identificar as dimensões como está descrito abaixo na seção de dimensões.



O que teremos na fato?



Em 90% dos casos, apenas números. Métricas e SK's (Surrogate keys - definição em outro post). Não necessariamente é uma regra, mas podemos ter na fato também textos que estão classificando o fato em análise. Pode existir tal situação. O Próprio Kimball define a existência da situação em seu livro:&nbsp;"Many facts in the business world are numeric, although a few can be text valued."﻿







O que são dimensões?&nbsp;



&nbsp;








Definição de Kimball:








&nbsp;"A dimension is a collection of text-like attributes that are highly correlated with each other."



Ou seja, uma dimensão é uma coleção de dados descritivos distintos que irão classificar, definir e esclarecer por assim dizer as informações relacionadas ao fato.



Como assim?



Vamos a um exemplo. Em um modelo de dados dimensional, temos dois tipos de modelos para se aplicar: Modelo estrela ou Modelo floco de dados (Star schema and Snowflake schema). Iremos detalhar como fazer uma modelagem dimensional em outros posts, entretanto, &nbsp;resumidamente, teremos em ambos modelos tabelas de dimensões e tabelas de fato (sim, pode existir mais de uma fato por modelo). Vamos ao exemplo: Digamos que estamos fazendo um DW para uma concessionária e em especifico para a área de vendas. Que tipo de dimensões podem existir para agregar informação ao meu fato de vendas?&nbsp;



Para descobrir, basta fazer as perguntas para seu fato. Como:





Quem comprou o a peça x?
Quando foi comprada essa peça x?
Quais modelos de veículos foram vendidos nessa época?
Quem foi o vendedor que mais vendeu do produto x?


Descobrimos quatro dimensões de nosso fato acima. São elas, respectivamente:&nbsp;


Dimensão Clientes
Dimensão Tempo
Dimensão Veículos
Dimensão Vendedor


São quatros dimensões de um cubo do nosso fato vendas. Simples não?!




Baseado no exemplo acima, o que descobrimos? As dimensões contém apenas descritivos; são dimensões de um ou mais fatos que ocorreram e são distintos;&nbsp;



Opa, Distintos? Porquê?



De uma maneira bem simples, Data warehouse é um armazén de dados. As principais características de um DW são: É histórico e não volátil.



O histórico se manterá na fato e não nas dimensões, por isso nossas dimensões são distintas e tem o papel de classificar o fato que está na tabela de fato e que é histórico e não volátil. Em muitos modelos relacionais, por conta de operações diárias, repetitivas e de natureza diferente de um DW (procedimentos aplicados no banco de dados ), não há uma maneira simples de manter o histórico apropriado e consequentemente não há como realizar (de maneira simples) análises para a tomada de decisão.







É Isto!







Caso tenha alguma visão ou algo que deseja discutir, deixe seu comentário.



Abraços.




﻿