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

Documentos relacionados
Aula 02. Evandro Deliberal

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

Motivação. Análise de Dados. BD x DW OLTP. Data Warehouse. Revisão Quais as diferenças entre as tecnologias de BD e DW? OLAP Modelos Multidimensionais

Inteligência de Negócios Profa.Denise

30/10/2012. Prof. Luiz A. Nascimento

Conceitos Básicos. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

Sumário. 1 Introdução 2 BD Orientado a Objetos 3 BD Objeto-Relacional 4 Noções Básicas de Data Warehouse 5 XML e BD XML. Motivação

Modelagem Multidimensional

Tabelas Dinâmicas. 1º Passo Abrir o arquivo com a tabela que você deseja transformar em tabela dinâmica.

MAPEAMENTO OBJETO RELACIONAL

Introdução à teoria de Data Warehouse. Prof. Rodrigo Leite Durães

Sistemas de Apoio a Decisão

Informática. Business Intelligence (BI), Data Warehouse, OLAP e Data Mining. Prof. Márcio Hunecke

OLAP. Rodrigo Leite Durães.

Sistemas de Apoio a Decisão

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Banco de Dados e Aplicações em Negócios: Introdução.

Mapa Mental de Data Warehouse Definições e Características

Processo de Criação de um Esquema Estrela

Bancos de Dados IV. OLAP e Cubos de Dados. Rogério Costa

Roteiro da apresentação

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Adicionar, alterar, localizar ou limpar formatos condicionais

Relatórios do Remark Quick Stats Avaliação de Teste

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Revisando Banco de Dados. Modelo Relacional

Banco de Dados. Banco de Dados

Estatísticas e Relatórios. Treinamento OTRS Help Desk

SKATER. Esse arquivo deve conter as informações de cada área dispostas em uma linha, seguindo a estrutura abaixo:

SISTEMAS DE APOIO À INTELIGÊNCIA DE NEGÓCIOS

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Modelagem Multidimensional

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Modelagem Multidimensional - Nível Físico -

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

BANCO DE DADOS - MODELAGEM DE DADOS

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Modelagem Multidimensional - Nível Físico -

5. Expressões aritméticas

Bem-vindo ao tópico sobre valores definidos pelo usuário.

SQL. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

1ª Forma Normal. Uma relação está na 1ª Forma normal se todos os seus atributos são valores escalares.

Inteligência nos Negócios (Business Inteligente)

Conceito de Campos e Tabelas

Normalização de dados

Sistema de Marcação de Consulta


TIPOS DE AMOSTRAGEM Amostragem Probabilística e Não-Probabilística. Amostragem PROBABILÍSTICA: Amostragem Aleatória Simples: VANTAGENS:

MODULARIZAÇÃO - PARTE 1

Inteligência nos Negócios (Business Inteligente)

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação

Bancos de Dados IV. Data Warehouse Conceitos. Rogério Costa

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Ferramenta para geração de relatórios e gráficos, vinculados ao Cybersul Solution3. Relatórios personalizados. Gráficos personalizados

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados

Importador de Notas Fiscais Eletrônicas

PC Polícia Civil do Estado de São Paulo PAPILOSCOPISTA

Curso: Banco de Dados I. Conceitos Iniciais

SQL. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

Padrões para Elaboração de Documentos da Base de Conhecimento Sistema de Gestão da Qualidade

Finanças do Infor LN Guia do usuário para controladoria

A formatação condicional, usando cores no Excel é, sem dúvidas, um recurso que facilita muito a interpretação de planilhas.

Aula 4 Introdução ao C

Banco de Dados Modelagem e Normalização

Módulo Agenda 1 Permissões para a visualização de Agendas.

SISTEMA GUARDIÃO. Manual de Usuário

Conceitos, Arquitetura e Design

Tópicos Especiais em Informática Fatec Indaiatuba

OBJETIVOS Selecionar dados aplicando AutoFiltro. Classificar dados por uma ou mais chaves. Aplicar o Filtro Avançado.

Controle de Produtividade

Aula 01 Conceito de Banco de Dados e SGBD

1. INTRODUÇÃO A MODELAGEM DE DADOS

Informática II Cap. 5-1 Modelo Relacional, Normalização e Diagramas E-R

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

AVALIAÇÃO DE DESEMPENHO DE DIVISÕES B R I C K L E Y, S M I T H E Z I M M E R M A N

COMO PARTICIPAR DO CURSO

O usuário pode restringir dados a um determinado tipo, como números inteiros, números decimais ou texto, e definir limites para as entradas válidas.

Relatórios. Uso, comportamento e interpretação de relatórios no sistema. CTe - Notas emitidas por parceiro - sistema básico

Métodos de Ordenação Parte I

GESTÃO DE DADOS NAS ORGANIZAÇÕES. Prof. Robson Almeida

Censo da Educação Superior - Módulo Migração

Visão geral dos relatórios de tabela dinâmica e de gráfico dinâmico

Banco de Dados 30/04/2012 1

BIOESTATISTICA. Unidade IV - Probabilidades

APRESENTAÇÃO DE DADOS EM TABELAS E GRÁFICOS 1

Exemplo de Rel. Condicional

Modelagem Multidimensional - Nível Lógico -

Boletim Técnico. Plano de Desenvolvimento Individual (PDI) Desenvolvimento/Procedimento. Produto : Totvs Gestão de Pessoas Versão 12.1.

Notas. MT Última Atualização 01/03/2018

Sistema de Informação e Coordenação - SIC

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

4.1 Preliminares. No exemplo acima: Dom(R 1 ) = e Im(R 1 ) = Dom(R 2 ) = e Im(R 2 ) = Dom(R 3 ) = e Im(R 3 ) = Diagrama de Venn

SEFAZ INFORMÁTICA Olap Prof. Márcio Hunecke

Joana Simon Orientador: Prof. Oscar Dalfovo, Doutor

Transcrição:

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 Página 1 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. Página 2 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: Página 3 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. Dimensão Serviço Dimensão Paciente Tabela de Fatos Admissão Pacientes Dimensão Tempo Dimensão Região Geográfica 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. Página 4 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. Exemplos de Fatos Em um hospital: admissão de pacientes Em uma operadora telefônica: Tráfego telefônico 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 Página 5 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. Página 6 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 LA SÃO SORO BELO PLATA PLATA PAULO CABA 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 Página 7 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. Página 8 de 22

Este é um esquema onde as dimensões apresentam um esquema estrela. Dimensão Serviço Dimensão Paciente Tabela de Fatos Admissão Pacientes Dimensão Tempo Dimensão Região Geográfica 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 Página 9 de 22

A imagem abaixo mostra um esquema onde a dimensão região geográfica apresenta um esquema floco de neve. País Floco de neve Dimensão região Geográfica Estado Cidade Serviço Admissão Paciente Paciente Tempo 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 Não Padronizada País ID_País País Estado ID_ Estado Estado ID_País Cidade ID_ Cidade Cidade ID_Estado Região Geográfica ID_País País ID_Estado Estado ID_Cidade Cidade Página 10 de 22

Quantidade de tabelas Menor Estrela Maior Floco de neve Melhora o desempenho Aumenta a quantidade de Consultas 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. Página 11 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 Página 12 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: Página 13 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. Página 14 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. Página 15 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. Página 16 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: Página 17 de 22

Ano Semestre Trimestre Mês Dia A tabela de dimensão estará formada: Dimensão Tempo * Ano ** Semestre *** Trimestre **** Mês ***** Dia Dimensão Filial, usaremos um esquema estrela e a sua estrutura hierárquica será: Dimensão Filial * Filial ** Tipo Filial *** País **** Estado ***** Cidade Dimensão Vendedor, da mesma forma que a filial, terá um esquema estrela e estará definida pelos níveis: Dimensão Vendedor * Filial ** Seção *** Vendedor Dimensão Cliente, tendo todos os atributos de um cliente. Página 18 de 22

Dimensão Cliente * País ** Estado *** Cidade **** Razão Social 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. Página 19 de 22

Fat_Vendas ID_Data ID_Produto ID_Cliente ID_Vendedor 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: Fat_Vendas ID_Data ID_Produto ID_Cliente ID_Vendedor Vendas_Valor Vendas_Custo Vendas_Unidades 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. Página 20 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. Página 21 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? Página 22 de 22