22
Página 1 de 22 Módulo 3. Desenhando uma solução OLAP Objetivos Compreender a formação da tabela de fatos Entender o que são as medidas Conhecer o que são as dimensões e como são organizadas Perceber a diferença entre os esquemas estrela e floco de neve Diferenciar as medidas naturais das calculadas Conteúdo do módulo 3.1 Introdução 3.2 Construindo o data mart 3.3 Esquema Estrela 3.3.1 Tabela de Fatos 3.3.2 Dimensões 3.3.2.1 Relações e Estrutura de uma dimensão 3.3.2.2 Esquema Estrela 3.3.2.3 Esquema Floco de Neve 3.3.2.4 Pai – Filho (Parent- Child) 3.3.2.5 Dimensões Virtuais 3.3.2.6 A dimensão Tempo 3.4 Medidas 3.4.1 Medidas Naturais 3.4.2 Medidas Calculadas

Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

  • Upload
    lydien

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 1 de 22

Módulo 3. Desenhando uma solução OLAP

Objetivos

� Compreender a formação da tabela de fatos

� Entender o que são as medidas

� Conhecer o que são as dimensões e como são organizadas

� Perceber a diferença entre os esquemas estrela e floco de neve

� Diferenciar as medidas naturais das calculadas

Conteúdo do módulo

3.1 Introdução

3.2 Construindo o data mart

3.3 Esquema Estrela

3.3.1 Tabela de Fatos

3.3.2 Dimensões

3.3.2.1 Relações e Estrutura de uma dimensão

3.3.2.2 Esquema Estrela

3.3.2.3 Esquema Floco de Neve

3.3.2.4 Pai – Filho (Parent- Child)

3.3.2.5 Dimensões Virtuais

3.3.2.6 A dimensão Tempo

3.4 Medidas

3.4.1 Medidas Naturais

3.4.2 Medidas Calculadas

Page 2: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 2 de 22

3.1. Introdução

Com o que vimos nos módulos anteriores, podemos começar a definir o desenho do nosso banco de dados OLAP.

Neste módulo abordaremos o design das tabelas que formam o plano de um data mart (DM) que servirá de estrutura para a posterior montagem do cubo.

No final deste módulo, o leitor compreenderá como definir a tabela de fatos, como podem ser organizadas as dimensões e o que são as medidas.

A estrutura que forma a Tabela de Fatos e as Dimensões podem ser vista como o plano ou a visão detalhada do cubo.

Page 3: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 3 de 22

Data Mart: são armazéns de dados com informações de interesse particular para um determinado setor da empresa.

Data Warehousing: é o conjunto de armazéns de dados particulares (Data Mart) com informação de interesse para a empresa em geral.

Cada um dos exemplos a seguir são Data Mart (DM)

� Vendas

� Recursos Humanos

� Produção

O Data Warehousing é o conjunto desses DM’s

� DM de Vendas + DM de Recursos Humanos + DM de Produção

3.2. Construindo o data mart

Até agora analisamos os requerimentos do usuário e depuramos seus dados para a formação do data warehousing e neste módulo começaremos a desenhar o modelo do data mart. Este modelo será a etapa prévia à montagem do nosso banco de dados OLAP.

Nesta etapa modelaremos as tabelas relacionais em uma grande estrutura não padronizada, formada por uma tabela de fatos e tabelas menores que definirão as n-dimensões ou aberturas do nosso cubo, chamadas tabelas de dimensões.

Para isso, devemos primeiro conhecer alguns conceitos que devem ser levados em consideração na construção do modelo.

3.3. Esquema Estrela

Para facilitar a análise, o data mart organiza os dados em uma estrutura chamada esquema estrela.

Esta estrutura esta formada por uma tabela central - tabela de fatos - e um conjunto de tabelas organizadas ao redor dela, as tabelas de dimensões.

Nas pontas da estrela estão as tabelas de dimensões que contém os atributos das aberturas que interessam ao negócio e que podem ser utilizadas como critérios de filtro e são relativamente pequenas. Cada tabela de dimensão está relacionada com a tabela de fatos por um identificador.

As características de um esquema de estrela são:

Page 4: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 4 de 22

� O centro da estrela é a tabela de fatos.

� As pontas da estrela são as tabelas de dimensões.

� Cada esquema esta formado por apenas uma tabela de fatos.

� Geralmente é um esquema totalmente não padronizado e pode estar parcialmente padronizado nas tabelas de dimensões.

No exemplo é apresentado um esquema estrela considerando a necessidade de analisar como evolui a Admissão de Pacientes (Fato) por serviço, pacientes e região geográfica ao longo do tempo.

3.3.1 Tabela de Fatos

O modelo dimensional divide o mundo dos dados em dois grandes tipos: as medidas e as dimensões destas medidas.

As medidas são sempre numéricas e são armazenadas nas tabelas de fatos e as dimensões contextuais são armazenadas nas tabelas de dimensões.

A tabela de fatos é a tabela primária do modelo dimensional e contém os valores do negócio que deseja analisar.

Dimensão Serviço

Dimensão Paciente

Dimensão Tempo

Tabela de Fatos Admissão Pacientes

Dimensão Região

Geográfica

Page 5: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 5 de 22

Cada tabela de fatos contém as chaves externas que se relacionam com suas respectivas tabelas de dimensões e as colunas com os valores que serão analisados.

Um fato é um conceito de interesse primário para o processo de tomada de decisões e corresponde aos eventos que ocorrem de forma dinâmica no negócio da empresa.

3.3.2 Dimensões

Desenharemos e construiremos cada dimensão baseada nos processos de negócio definidos pelo cliente.

As dimensões organizam os dados em função de uma área de interesse para os usuários.

Cada dimensão descreve um aspecto do negócio e proporciona o acesso intuitivo e simples aos dados.

Uma dimensão oferece ao usuário um grande número de combinações e intersecções para analisar dados.

As tabelas de dimensões são as companheiras das tabelas de fatos. Cada dimensão é definida pela sua chave primária, que serve para manter a integridade referencial na tabela de fatos à qual está relacionada.

Um cubo requer a definição de pelo menos uma dimensão no seu esquema.

3.3.2.1 Relações e Estrutura de uma dimensão

Cada nível de uma dimensão deve ter correspondência com uma coluna na tabela da dimensão. Os níveis são ordenados por grau de detalhe e são organizados em uma estrutura hierárquica. Cada nível contém membros; os membros são os valores da coluna que define o nível.

Entre os membros e entre os níveis de uma dimensão existem relações, estas podem ser entendidas como as relações que existem em uma árvore

Exemplos de Fatos

� Em um hospital: admissão de pacientes

� Em uma operadora telefônica: Tráfego telefônico

Page 6: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 6 de 22

genealógica onde os termos pai, filho, irmão, primo, etc. e indicam uma correspondência entre elementos da árvore; e os membros da dimensão se comportam como familiares dentro da árvore genealógica.

� Pai: É o membro do nível imediatamente superior que se relaciona com o membro selecionado. Cada elemento apresenta apenas um pai.

� Filho: São os elementos do nível inferior seguinte que se relacionam com o membro selecionado. Podem existir vários filhos para um mesmo membro.

� Irmão: São os membros que estão no mesmo nível do membro selecionado e apresentam o mesmo pai.

� Primo: São os membros que estão no mesmo nível do membro selecionado, porém apresentam diferentes pais. Os primos apresentam pais que são irmãos.

� Descendentes: São todos os membros que estão debaixo do nível do membro selecionado, independente da quantidade de níveis que os separem.

� Ancestrais: São todos os membros que estão acima do nível do membro selecionado.

Um membro é independente das relações. Cada integrante da dimensão é membro dela.

Page 7: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 7 de 22

Exemplos de dimensão

� Dimensão região geográfica

* PAÍS ARGENTINA BRASIL URUGUAI

** ESTADO BUENOS AIRES SÃO PAULO MINAS GERAIS

MONTEVIDÉU

*** CIDADE MAR del PLATA

LA PLATA

SÃO PAULO

SOROCABA

BELO HORIZONTE

MONTEVIDÉU

Exemplos de relações

Em uma dimensão região geográfica teríamos as seguintes relações entres níveis e entre membros:

� Pai:

Brasil é pai de São Paulo e Minas Gerais

� Filho:

São Paulo e Minas Gerais são filhos de Brasil.

� Irmão:

São Paulo e Minas Gerais são irmãos um do outro; Argentina, Brasil e Uruguai também são irmãos.

� Primo:

Sorocaba é primo de Belo Horizonte.

� Descendente:

Todos os membros que estiverem debaixo de Brasil são seus descendentes, por exemplo, São Paulo, Minas Gerais, Sorocaba e Belo Horizonte são alguns dos seus descendentes.

� Ancestral:

Sorocaba apresenta dois antepassados: São Paulo e Brasil.

As dimensões podem ser:

� Locais

� Compartilhadas

As dimensões locais são aquelas definidas e utilizadas dentro de um mesmo cubo.

As dimensões compartilhadas são as dimensões definidas independentemente dos cubos e podem ser utilizadas por vários deles.

Vantagens das dimensões compartilhadas

Page 8: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 8 de 22

� Evitamos duplicar dimensões locais.

� Garantimos que os dados analisados estejam organizados da mesma forma em todos os cubos, que implica em um menor custo de manutenção.

Desvantagens das dimensões compartilhadas

� Devem ser empregadas da mesma forma no cubos que as utilizarem.

� Uma mudança implica em que a dimensão deverá ser modificada em todos os cubos.

Exemplos de Dimensão Compartilhada

A dimensão Produto pode ser utilizada para o Data Mart Vendas e para o Data Mart Produção. Dessa forma, a dimensão produto é uma dimensão compartilhada pelos dois Data Marts.

Ao definir uma dimensão, devemos prestar especial atenção aos requerimentos do cliente, pois uma definição equivocada da dimensão ou dos seus níveis pode implicar em não obter os resultados desejados.

Se a definição das dimensões não for a correta, serão incorretas e inúteis as agrupações, as sumarizações ou os filtros. Provavelmente você acabará copiando dados para uma planilha de cálculo como se não existisse o DM.

Riscos de Dimensões Compartilhadas

É importante garantir que qualquer modificação ou mudança em uma dimensão compartilhada seja válida para todos os cubos que a utilizarem.

3.3.2.2 Dimensões: Esquema Estrela

No esquema estrela cada dimensão está formada por apenas uma tabela não padronizada.

O esquema é denominado assim devido à sua semelhança com uma estrela.

Pelo fato das tabelas de dimensão não estarem padronizadas, conseguiremos uma menor quantidade de tabelas no modelo do data mart.

Page 9: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 9 de 22

Este é um esquema onde as dimensões apresentam um esquema estrela.

3.3.2.3 Dimensões: Esquema Floco de Neve

O esquema floco de neve é uma variação do esquema estrela onde alguma ponta da estrela explode em mais tabelas.

O nome do esquema foi definido devido à sua semelhança com um floco de neve.

Neste esquema, as tabelas de dimensão floco de neve estão padronizadas para eliminar redundância de dados.

Diferente do esquema estrela, neste esquema os dados das dimensões são distribuídos em múltiplas tabelas.

Como vantagem do esquema destaca-se a economia de espaço no armazenamento em disco, porém com um aumento na quantidade de tabelas.

As características a seguir são parte de um esquema floco de neve:

� A dimensão esta padronizada

� Os diferentes níveis estão armazenados em tabelas separadas

� Verifica-se economia de espaço

Dimensão Serviço

Dimensão Paciente

Dimensão Tempo

Tabela de Fatos Admissão Pacientes

Dimensão Região

Geográfica

Page 10: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 10 de 22

A imagem abaixo mostra um esquema onde a dimensão região geográfica apresenta um esquema floco de neve.

Exemplo de Tabela Padronizada e Tabela Não Padronizada

Na imagem podemos ver que na tabela padronizada os dados nome do país e nome do estado aparecerão apenas uma vez nas tabelas País e Estado respectivamente.

Caso contrário, se a tabela não estiver padronizada, teremos redundância de dados, pois serão repetidos os dados do País e do Estado para cada Cidade.

Padronizada

Região Geográfica

ID_País País ID_Estado Estado ID_Cidade Cidade

Estado

ID_ Estado Estado ID_País

Não Padronizada

País

ID_País País

Cidade

ID_ Cidade Cidade ID_Estado

Cidade

Paciente

Estado

País Floco de neve Dimensão região Geográfica

Serviço

Tempo

Admissão Paciente

Page 11: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 11 de 22

Estrela Floco de neve

Quantidade de tabelas

Menor Maior

Consultas

Melhora o desempenho Aumenta a quantidade de vínculos entre tabelas provocando redução do desempenho

Armazenamento

Aumenta o espaço Economiza espaço

3.3.2.4 Dimensões: Pai – Filho (Parent – Child)

Uma dimensão pai-filho é uma dimensão onde o dado do Pai se relaciona com o Filho e ambos estão na mesma tabela de dimensão, isto é, a dimensão se relaciona consigo mesma.

Exemplos de Dimensão Pai - Filho

A dimensão Conta Contábil onde uma conta imputável faz parte de um Subgrupo e o Subgrupo, por sua vez, faz parte de um Grupo. Estes dados estão em apenas um Plano de Contas.

A conta Ativo, contém os grupos Investimentos, Créditos e Caixa e o grupo Caixa contém Caixa e Fundo Fixo.

3.3.2.5 Dimensões Virtuais

As dimensões virtuais não precisam de um armazenamento físico no cubo e são avaliadas no momento da consulta.

Funcionam de forma similar às dimensões reais e são transparentes para o usuário.

Page 12: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 12 de 22

Exemplos de Dimensão Virtual

Podemos ter uma dimensão Produto organizada da seguinte forma: Produto (Dimensão real) …… Fabricante Marca Tamanho Produto Se o usuário requer que suas análises de informação sejam realizadas por Marca, utilizando a dimensão Produto será necessário selecionar cada fabricante para obter a informação da marca. Para evitar isso, podemos criar uma dimensão virtual onde a ordem dos níveis Fabricante - Marca estejam invertidas e que permita ver seus dados por Marca sem a necessidade de selecionar todos os fabricantes. Esta dimensão será construída da seguinte forma: Produto_Marca (Dimensão virtual 1) …… Marca Fabricante Tamanho Produto Outra necessidade do usuário pode ser obter os totais ou filtros de tamanho sem importar a marca ou o fabricante, então deve ser construída uma dimensão virtual que contenha apenas a coluna tamanho. Tamanho (Dimensão virtual 2) Tamanho

3.3.2.6 A dimensão Tempo

Mencionamos esta dimensão pois ela ocupa um lugar especial em cada data mart. É importante lembrar que o tempo é parte implícita da informação contida no data mart.

Esta dimensão pode ser definida dividindo-a em diferentes hierarquias de tempo:

� Ano

Page 13: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 13 de 22

� Semestre

� Mês

Exemplos de Dimensão Tempo

A definição da hierarquia será realizada levando em consideração as necessidades apresentadas pela empresa. Devem ser considerados os períodos de tempo pelos quais a informação precisa ser analisada e a regularidade da carga de dados no cubo.

� Considerações para esta dimensão:

Nomes dos membros: Ao construir a dimensão tempo é conveniente que os nomes dos membros sejam únicos. Dessa forma, se utilizarmos uma nomenclatura para a hierarquia MÊS que for “Mês – Ano”, quando procurarmos um período é necessário identificá-lo como Julho – 2006. Assim não será necessário utilizar dois níveis da dimensão, conseguindo uma melhor qualidade nos relatórios.

Caso contrário, se o nome da hierarquia MÊS estiver formado apenas pelo nome do mês, para identificar o período Julho de 2006, é necessário selecionar primeiro o nível Ano e depois o nível Mês.

Pode existir mais de uma: É importante destacar que não necessariamente esta dimensão é única dentro do cubo, podendo ser necessário montar mais de uma dimensão Tempo. Se for necessário analisar a informação da empresa baseada no ano calendário e realizar outra análise baseada no ano fiscal (em empresas onde um é diferente do outro), será necessário construir duas dimensões de tempo para o mesmo data mart.

3.4. Medidas

As medidas são os valores dos dados analisados.

Uma medida é uma coluna quantitativa, numérica na tabela de fatos. As medidas representam os valores que são analisados, como quantidade de pacientes admitidos ou ligações realizadas.

As medidas são:

Page 14: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 14 de 22

� Valores que permitem analisar os fatos.

� Valores numéricos, pois estes valores são as bases das quais o usuário pode realizar cálculos.

Se a medida for um valor não numérico é necessário codificá-la para um valor numérico no processo de obtenção de dados e decodificá-la quando for necessário visualizar seu valor original.

As características a seguir são algumas das características das medidas:

� Devem ser numéricas.

� Cruzam todas as dimensões em todos os níveis.

As medidas podem ser classificadas em:

� Naturais

� Calculadas

Exemplos de Medidas

� Em um hospital, onde o fato é Admissão de Pacientes as medidas podem ser:

Pacientes Admitidos

Pacientes Atendidos

� Em uma operadora telefônica, onde o fato é Tráfego Telefônico, as medidas podem ser:

Ligações Quantidade

Ligações Duração

Exemplos de Medidas não numéricas

Suponhamos o fato Recursos Humanos, onde podemos ter a medida Sexo tomando os valores “F” ou “M”.

Estes valores devem ser codificados em valores numéricos durante o processo de transformação de dados (ETL). Dessa forma, por exemplo, temos 0=”F” e 1=”M”.

Quando o usuário visualizar esta medida, os dados devem retornar aos seus valores originais (decodifica-los) para mostrar “F” ou “M”.

Page 15: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 15 de 22

3.4.1 Medidas Naturais

São as colunas numéricas que desejamos analisar provenientes diretamente dos sistemas OLTP.

Ao definir uma medida é importante considerar qual será a forma de agregação (agrupação da mesma) ao subir pela estrutura dimensional.

Estas formas de agregação podem ser:

� Soma: é a operação que soma os valores das colunas

� Contagem: realiza uma contagem dos valores

� Mínima: retorna um valor mínimo

� Máxima: proporciona o maior dos valores

� Contagem de Diferentes: conta os valores diferentes

As agregações são resumos de dados pré-calculados que melhoram o tempo de resposta pelo simples motivo de ter as respostas prontas antes de receber as perguntas.

3.4.2 Medidas Calculadas

São as medidas calculadas no cubo baseadas nos valores das medidas naturais.

O sentido da expressão medidas calculadas é muito amplo e engloba qualquer manipulação das medidas naturais que facilitem a análise dos fatos.

Em uma medida calculada é possível realizar

� Cálculos Matemáticos

� Expressões condicionais

� Alertas

Estes três tipos (cálculos, condições e alertas) geralmente podem existir juntos dentro da mesma medida calculada.

Page 16: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 16 de 22

� Cálculo Matemático

Em um sistema de RH, podemos desejar medir a média de horas extras por mês. Definimos a medida calculada Média de Horas Extras que será o resultado da realização de Horas Extras dividido por Dias Trabalhados.

� Expressões condicionais

Para a medida calculada anteriormente, Média de Horas Extras, é necessário verificar a condição de numerador diferente de zero para evitar que a divisão apresente erro.

Se Dias Trabalhados é diferente de zero, então Média de Horas Extras será igual a Horas Extras dividido por Dias Trabalhados.

Se Dias Trabalhados é igual a zero, então Média de Horas Extras será vazio.

� Alertas

Em um hospital, podemos definir a medida calculada Sobrecarga de Pacientes que assumirá o valor 1 se os Pacientes Admitidos (medida natural) é maior que 100, caso contrário permanecerá vazia.

Podemos construir uma medida Cumprimento de Vendas que seja um alerta do tipo semáforo e indique

Vermelho: Se as unidades vendidas são menores do que as unidades orçadas dividido por 5, isto é, foi vendido menos de 20 % do previsto.

Amarelo: Se o valor das unidades vendidas está entre unidades orçadas dividido por 3 e unidades orçadas dividido por 5 (o valor vendido esta entre 20 % e 80 % do previsto).

Verde: Se não for cumprida nenhuma das condições anteriores, isto é, foi vendido mais de 80 % do previsto.

Page 17: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 17 de 22

Estudo de Caso

Ilustraremos os conceitos aprendidos nesta unidade com o nosso exemplo da Contoso.

Construiremos o modelo do data mart de vendas em três etapas:

Etapa 1 Construção das Dimensões

Etapa 2 Montagem da Tabela de Fatos

Etapa 3 Definição das Medidas

Construção das Dimensões

Como primeiro passo, definiremos as dimensões pois elas oferecem as aberturas do cubo.

Baseado nas definições surgidas nas reuniões de trabalho com os representantes da DLA, verificamos a necessidade de analisar seus dados de acordo com o seguinte quadro:

Fato a medir: Venda de Produtos

Dimensões

Medidas Tempo Filial Vendedor Cliente Produto

Vendas_Valor X X X X X Vendas_Custo X X X X X Vendas_Unidades X X X X X Vendas_ValorTotal X X X X X Vendas_Lucro X X X X X Vendas_Média X X X X X

Se o trabalho for executado corretamente, deve existir uma coincidência exata entre a definição das dimensões e os dados retirados das fontes transacionais. Caso não ocorra essa coincidência, em alguma das duas etapas ocorreu um erro ou os dados de origem não estão corretos ou as dimensões foram mal definidas.

Vamos começar pela Dimensão Tempo pois, como foi visto nesta unidade, é a mais importante dentro de qualquer data mart.

Nosso cliente precisa analisar os seus dados diariamente, então é necessário definir os níveis:

Page 18: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 18 de 22

� Ano

� Semestre

� Trimestre

� Mês

� Dia

A tabela de dimensão estará formada:

Dimensão Filial, usaremos um esquema estrela e a sua estrutura hierárquica será:

Dimensão Vendedor, da mesma forma que a filial, terá um esquema estrela e estará definida pelos níveis:

Dimensão Cliente, tendo todos os atributos de um cliente.

Dimensão Vendedor

* Filial ** Seção *** Vendedor

Dimensão Tempo

* Ano ** Semestre *** Trimestre **** Mês ***** Dia

Dimensão Filial

* Filial ** Tipo Filial *** País **** Estado ***** Cidade

Page 19: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 19 de 22

Dimensão Produto, sendo construída de acordo com um esquema floco de neve. Nestes casos é mantida a padronização dos sistemas OLTP. Cada tabela contém os dados iniciais e sua relação com o resto.

A dimensão será padronizada pois usaremos mais tabelas para construí-la.

Nosso cliente pode classificar seus produtos de acordo com a categoria, o departamento e a família de produto à qual pertence.

Montagem da Tabela de Fatos

Após definir as dimensões e seus níveis, realizaremos a montagem da tabela de Fatos.

A tabela de fatos deve ter as colunas chave das tabelas de dimensões e as colunas de medidas.

Primeiro devemos colocar as colunas chave da tabela em cada uma das tabelas de dimensões.

Dimensão Cliente

* País ** Estado *** Cidade **** Razão Social

Page 20: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 20 de 22

Definição das Medidas

É importante lembrar que as medidas são os valores numéricos que o usuário deseja analisar.

Vimos que o nosso cliente precisa medir:

� O custo incluído em cada unidade vendida

� O valor de venda de cada produto.

� O lucro obtido na venda de cada produto.

Acrescentaremos as vendas na nossa tabela de fatos:

A medida “lucro obtido na venda de cada produto” não será acrescentada à tabela pois esta medida pode ser calculada a partir das medidas naturais vendas valor e vendas custo.

Nosso modelo contará também com as medidas calculadas:

� Vendas_Lucro que terá a fórmula Vendas_Valor menos Vendas_Custo

� Vendas_Média que será o resultado da soma de Vendas_Unidades dividido por quantidade de dias, verificando a condição do numerador diferente de zero.

Fat_Vendas

ID_Data ID_Produto ID_Cliente ID_Vendedor Vendas_Valor Vendas_Custo Vendas_Unidades

Fat_Vendas

ID_Data ID_Produto ID_Cliente ID_Vendedor

Page 21: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 21 de 22

Realizadas estas três etapas, podemos ver o desenho completo do nosso data mart.

Lições Aprendidas

� Um Data Mart adota um esquema estrela para maximizar o desempenho das consultas.

� As dimensões são categorias descritivas pelas quais as medidas podem ser separadas para análise.

� A dimensão Tempo esta implícita em todo o Data Mart.

� As medidas são os dados numéricos de interesse primário para o cliente.

� Com as medidas calculadas é possível construir alertas.

Page 22: Módulo 3. Desenhando uma solução OLAPdownload.microsoft.com/download/8/4/3/843dd576-aab2-462e-8a8d-88c0... · Nas pontas da estrela estão as tabelas de dimensões que contém

Página 22 de 22

Perguntas de Reflexão

� Os requerimentos estão definidos claramente? Conhecemos os fatos que desejamos analisar, os indicadores e as aberturas pelas quais desejamos realizar a análise?

� Esta definição está de acordo com as tabelas auxiliares criadas e carregadas com dados dos sistemas OLTP?

� Sabemos se os usuários utilizarão as dimensões para navegar ou para filtrar?

� As dimensões desenhadas atendem as necessidades dos usuários de forma intuitiva e com facilidade de manipulação?

� Já temos todas as medidas naturais com as aberturas requeridas?

� Está definida a forma de agregação, ao sair da granularidade mínima, para todas as medidas naturais?

� Estão definidas as fórmulas ou critérios de todas as medidas calculadas?

� Estão documentadas corretamente todas as definições?