SCC0245 capitulo10

advertisement
Data Warehouse Toolkit:
Telecomunicações e
Utilitários (Cap. 10)
Vinícius Ramos Toledo Ferraz
Prof. Dr. Ricardo Rodrigues Ciferri
Agenda
n 
Dicas para revisão de projetos
n 
O que está errado neste estudo de caso?
n 
Correções!
n 
Dimensão Posição Geográfica
Data Warehouse e OLAP
dezembro de 2009
2
Dicas para revisão de projetos
n 
Granularidade
q 
Qual o grão da tabela de fatos?
“Declarar uma definição clara e concisa do grão
da tabela de fatos é fundamental para um
esforço de modelagem produtivo”
“Devem ser identificados os fatos que são
consistentes com a declaração do grão”
Data Warehouse e OLAP
dezembro de 2009
3
Dicas para revisão de projetos
n 
Granularidade
q 
Qual o grão da tabela de fatos?
Fato da transação de vendas a
varejo no POS
Chave da data (FK)
Chave do produto (FK)
Chave da loja (FK)
Chave da promoção (FK)
Número da transação POS (DD)
Quantidade de vendas
Total de vendas em dólar
Valor de custo em dólar
Valor de lucro bruto em dólar
Grão = 1 linha por
linha de transação POS
Data Warehouse e OLAP
Fato da cesta de mercado no POS
Chave da data (FK)
Chave do produto A (FK)
Chave do produto B (FK)
Chave da loja (FK)
Chave da promoção (FK)
Contagem da cesta
Quantidade de vendas do produto A
Quantidade de vendas do produto B
Total de vendas em dólar do produto A
Total de vendas em dólar do produto B
Grão = 1 linha para cada par
de produtos vendidos em um
dia por loja e promoção
dezembro de 2009
4
Dicas para revisão de projetos
n 
Granularidade
q 
Qual o grão da tabela de fatos?
“Fatos agregados como totais anuais são
perigosos, pois não são totalmente aditivos”
“Ir para o nível mais baixo de granularidade
possível não implica utilizar a maior quantidade
de dados detalhados disponíveis na empresa”
Data Warehouse e OLAP
dezembro de 2009
5
Dicas para revisão de projetos
n 
Granularidade
q 
Qual o grão da tabela das tabelas de
dimensão?
“Cada dimensão deve utilizar um único valor com
cada linha de medições da tabela de fatos”
“Devemos recolher as hierarquias de atributos
das dimensões, sempre que possível”
Data Warehouse e OLAP
dezembro de 2009
6
Dicas para revisão de projetos
n 
Granularidade
q 
Qual o grão da tabela das tabelas de
dimensão?
“A economia de disco com o snowflaking
raramente compensa suas desvantagens em
complexidade e desempenho da consulta”
“Usar outriggers em um cluster de cardinalidade
baixa ou atributos reaproveitados com
freqüência deve ser a exceção, e não a regra”
Data Warehouse e OLAP
dezembro de 2009
7
Dicas para revisão de projetos
n 
Dimensão Data
A que se refere a Dimensão Data?
Data Warehouse e OLAP
dezembro de 2009
8
Dicas para revisão de projetos
n 
Dimensões de degeneração
q 
q 
O grão da tabela de fatos representa uma
transação ou item de linha da transação?
Se tivéssemos uma dimensão separada para
as informações de cabeçalho de uma
transação, seríamos redundantes?
“Os números de controle operacional
normalmente dão origem a dimensões vazias e
são representados como dimensões de
degeneração”
Data Warehouse e OLAP
dezembro de 2009
9
Dicas para revisão de projetos
Data Warehouse e OLAP
dezembro de 2009
10
Dicas para revisão de projetos
n 
Chaves substitutas
q 
Há identificadores operacionais sendo utilizados
como chave?
“Em vez de contar com chaves ou identificadores
operacionais, recomendamos o uso de chaves
substitutas no seu projeto dimensional”
“Nenhuma chave do DW deve ser inteligente”
Data Warehouse e OLAP
dezembro de 2009
11
Dicas para revisão de projetos
n 
Dimensões em excesso (ou em falta)
q 
O projeto contém entre 5 e 15 dimensões?
“Um número muito grande de dimensões
normalmente é um sinal de que várias delas não
são completamente independentes e devem ser
combinadas.
Data Warehouse e OLAP
dezembro de 2009
12
Dicas para revisão de projetos
Data Warehouse e OLAP
dezembro de 2009
13
Agenda
n 
Dicas para revisão de projetos
n 
O que está errado neste estudo de caso?
n 
Correções!
n 
Dimensão Posição Geográfica
Data Warehouse e OLAP
dezembro de 2009
14
O que está errado neste projeto?
n 
Data Warehouse de uma grande
empresa de telecomunicações wireless
Ca
nal
de
ve
nd
as
Lin
ha
de
ser
viç
o
X
X
Da
ta
Pr
od
ut
o
Bilhetagem do cliente
X
X
X
X
Tráfego de detalhes da chamada
X
X
X
X
Compras
X
X
Estoque do distribuidor
X
X
Vendas por canal
X
X
X
Chamadas de serviço
X
X
X
X
X
X
X
Itens de reparo
X
X
X
X
X
X
X
Data Warehouse e OLAP
X
X
X
E
mp
res
a
X
X
X
Fu
nci
on
ári
o
Cli
ent
e
X
Co
nta
do
LR
St
atu
s
da
ch
am
ad
a
Pla
no
de
Tar
ifa
Sw
itc
h
Fo
rn
ec
ed
or
Tip
o
da
ch
am
ad
a
X
X
X
X
X
dezembro de 2009
15
O que está errado neste projeto?
n 
Foco no processo de bilhetagem do cliente,
pois deseja-se poder analisar...
n 
n 
n 
n 
q 
Uso mensal
Receita gerada pelo cliente (bilhetagem)
Organização de vendas
Plano de tarifas
...para medir o desempenho do canal de vendas
e seu representante, além de analisar a eficácia
dos planos de tarifas.
Data Warehouse e OLAP
dezembro de 2009
16
O que está errado neste projeto?
n 
Dinâmica dos serviços da empresa:
n 
n 
n 
n 
n 
n 
Todo mês, é gerada uma conta para cada linha de
serviço (número telefônico)
Cada linha de serviço é associada a um único cliente
Um cliente pode ser várias linhas de serviço, que
aparecem como itens de linha separados na mesma
conta
Cada linha de serviço possui seu próprio conjunto de
métricas de bilhetagem, como o número de minutos
usados e a tarifa de serviço mensal
Há um único plano de tarifa associado a cada linha de
serviço em uma dada conta. Mas tal plano pode
mudar
Um rep. de vendas (e sua empresa/canal de vendas
respectivos) é associado a cada linha de serviço para
avaliar a receita gerada por cada rep. de vendas.
Data Warehouse e OLAP
dezembro de 2009
17
O que está errado neste projeto?
n 
A equipe de DW expõe orgulhosamente sua
“obra-prima” da modelagem dimensional e
aguarda o SEU pronunciamento...
Dimensão Cliente
ID do cliente (PK)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
Dimensão Rep. Vendas
Chave do rep. de vendas (PK natural)
Nome do rep. de vendas
ID da empresa de vendas
Dimensão Empresa de Vendas
ID da empresa de vendas (PK)
ID do canal de vendas
Fato da conta
Conta nº (FK)
ID do cliente (FK)
Nº do rep. de vendas (FK)
ID da empresa de vendas (FK)
Cod. do plano de tarifas (FK)
Cod. do tipo de plano de tarifas
Nº de chamadas
Nº total de minutos
Nº de minutos de Roam
Nº de minutos de longa dist.
Tarifa de serviço mensal
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Tarifa de longa dist.
Impostos
Tarifas regulatórias
Dimensão Conta
Conta nº (PK)
Data da conta
Nº linha de serviço (FK)
Dimensão Linha de Serviço
Nº linha de serviço (PK)
Cód. da área
Cód. e prefixo da área
Cód. ativação da linha de serviço
Dimensão Plano de Tarifas
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
Grão = 1 linha por conta a cada mês
Data Warehouse e OLAP
dezembro de 2009
18
Revisando o projeto...
Dimensão Cliente
ID do cliente (PK)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
Dimensão Rep. Vendas
Chave do rep. de vendas (PK natural)
Nome do rep. de vendas
ID da empresa de vendas
Dimensão Empresa de Vendas
ID da empresa de vendas (PK)
ID do canal de vendas
Conta nº (FK)
ID do cliente (FK)
Nº do rep. de vendas (FK)
ID da empresa de vendas (FK)
Cod. do plano de tarifas (FK)
Cod. do tipo de plano de tarifas
Nº de chamadas
Nº total de minutos
Nº de minutos de Roam
Nº de minutos de longa dist.
Tarifa de serviço mensal
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Tarifa de longa dist.
Impostos
Tarifas regulatórias
Grão = 1 linha por conta a cada mês
Data Warehouse e OLAP
Dimensão Conta
Fato da conta
Conta nº (PK)
Data da conta
Nº linha de serviço (FK)
X
Dimensão Linha de Serviço
Nº linha de serviço (PK)
Cód. da área
Cód. e prefixo da área
Cód. ativação da linha de serviço
Dimensão Plano de Tarifas
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
O grão mais baixo seria: 1
linha por linha de serviço em
uma conta
dezembro de 2009
19
Revisando o projeto...
Vamos criar uma
dimensão data!
Dimensão Cliente
ID do cliente (PK)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
Dimensão Rep. Vendas
Chave do rep. de vendas (PK natural)
Nome do rep. de vendas
ID da empresa de vendas
Dimensão Empresa de Vendas
ID da empresa de vendas (PK)
ID do canal de vendas
Esta dimensão provavelmente
terá o mesmo nº de tuplas que a
tabela de fatos!
Fato da conta
Conta nº (FK)
ID do cliente (FK)
Nº do rep. de vendas (FK)
ID da empresa de vendas (FK)
Cod. do plano de tarifas (FK)
Cod. do tipo de plano de tarifas
Nº da linha de serviço (FK)
Nº de chamadas
Nº total de minutos
Nº de minutos de Roam
Nº de minutos de longa dist.
Tarifa de serviço mensal
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Tarifa de longa dist.
Impostos
Tarifas regulatórias
DD
Dimensão Conta
Conta nº (PK)
Data da conta
Dimensão Linha de Serviço
Nº linha de serviço (PK)
Cód. da área
Cód. e prefixo da área
Cód. ativação da linha de serviço
Dimensão Plano de Tarifas
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
20
Revisando o projeto...
Fato da conta
Chave da data da conta (FK)
Conta nº (DD)
ID do cliente (PK)
ID do cliente (FK)
Nome do cliente
Nº do rep. de vendas (FK)
Cidade do cliente
ID da empresa de vendas (FK)
CEP do cliente
Cod. do plano de tarifas (FK)
Data do primeiro serviçoEste snowflaking Cod.
é do tipo de plano de tarifas
Crédito original
Nº
da linha de serviço (FK)
desnecessário!
Nº de chamadas
Nº total de minutos
Dimensão Rep. Vendas
Nº de minutos de Roam
Chave do rep. de vendas (PK natural)
Nº de minutos de longa dist.
Nome do rep. de vendas
Tarifa de serviço mensal
ID da empresa de vendas
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Dimensão Empresa de Vendas
Tarifa de longa dist.
Impostos
ID da empresa de vendas (PK)
Tarifas regulatórias
ID do canal de vendas
Dimensão Cliente
Dimensão Data da conta
Chave da data da conta (PK)
Data da conta
Ano da data da conta
...mais atributos
Dimensão Linha de Serviço
Nº linha de serviço (PK)
Cód. da área
Cód. e prefixo da área
Cód. ativação da linha de serviço
Dimensão Plano de Tarifas
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
21
Revisando o projeto...
Vamos agupar este fato textual e seus atributos
descritivos na Dimensão Plano de Tarifas!
Fato da conta
Dimensão Cliente
ID do cliente (PK)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
Dimensão Rep. Vendas
Chave do rep. de vendas (PK natural)
Nome do rep. de vendas
ID da empresa de vendas
Nome empresa de vendas
ID do canal de vendas
Nome canal de vendas
Dimensão Data da conta
Chave da data da conta (FK)
Conta nº (DD)
Chave da data da conta (PK)
ID do cliente (FK)
Data
da conta
Fatos textuais
raramente
são
Ano da data da conta
Nº do rep. de vendas (FK)
uma boa escolha
de projeto!
Cod. do plano de tarifas (FK)
...mais atributos
Cod. do tipo de plano de tarifas
Nº da linha de serviço (FK)
Dimensão Linha de Serviço
Nº de chamadas
Nº total de minutos
Nº linha de serviço (PK)
Nº de minutos de Roam
Cód. da área
Nº de minutos de longa dist.
Cód. e prefixo da área
Tarifa de serviço mensal
Cód. ativação da linha de serviço
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Tarifa de longa dist.
Dimensão Plano de Tarifas
Impostos
Tarifas regulatórias
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
22
Revisando o projeto...
Incentiva-se a implementação
de chaves substitutas!
Fato da conta
Dimensão Cliente
ID do cliente (PK)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
Dimensão Rep. Vendas
Chave do rep. de vendas (PK natural)
Nome do rep. de vendas
ID da empresa de vendas
Nome empresa de vendas
ID do canal de vendas
Nome canal de vendas
Chave da data da conta (FK)
Conta nº (DD)
ID do cliente (FK)
Nº do rep. de vendas (FK)
Cod. do plano de tarifas (FK)
Nº da linha de serviço (FK)
Nº de chamadas
Nº total de minutos
Nº de minutos de Roam
Nº de minutos de longa dist.
Tarifa de serviço mensal
Tarifa de serviço mês anterior
Tarifa de serviço anual
Tarifa de roaming
Tarifa de longa dist.
Impostos
Tarifas regulatórias
Dimensão Data da conta
Chave da data da conta (PK)
Data da conta
Ano da data da conta
...mais atributos
Dimensão Linha de Serviço
Nº linha de serviço (PK)
Cód. da área
Cód. e prefixo da área
Cód. ativação da linha de serviço
Dimensão Plano de Tarifas
Cód. plano de tarifas (PK natural)
Abreviação do plano de tarifas
Descrição do plano de tarifas
Código do tipo de plano de tarifas
Descrição do tipo de plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
23
Revisando o projeto...
Dimensão Cliente
Chave do cliente (PK)
ID do cliente (chave natural)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
...mais atributos
Fato da conta
Dimensão Data da conta
Chave da data da conta (FK)
Conta nº (DD)
Chave da data da conta (PK)
Chave do cliente (FK)
Data da conta
Ano da data da conta
Chave do rep. de vendas (FK)
Chave do plano de tarifas (FK)
...mais atributos
Chave da linha de serviço (FK)
Nº de chamadas
Dimensão Linha de Serviço
Nº total de minutos
Chave da linha de serviço (PK)
Nº de minutos de Roam
Nº linha de serviço (chave natural)
Fato atualizado
anualmente
Nº de minutos
de longa dist. em meio
Dimensão Rep. Vendas
da área
Tarifa de serviço mensal
a fatos atualizados
mensalmente! Cód.
Cód. e prefixo da área
Chave do rep. de vendas (PK)
Tarifa de serviço mês anterior
Prefixo da linha de serviço
ID do rep. de vendas (chave natural)
Tarifa de serviço anual
Data de ativação da linha de serviço
Nome do rep. de vendas
Tarifa de roaming
ID da empresa de vendas
Tarifa de longa dist.
Dimensão Plano de Tarifas
Nome empresa de vendas
Impostos
ID do canal de vendas
Tarifas regulatórias
Chave do plano de tarifas (PK)
Nome canal de vendas
Cód. plano de tarifas (chave natural)
Abreviação do plano de tarifas
Descrição do plano de tarifas
Código do tipo de plano de tarifas
Descrição do tipo de plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
24
Revisando o projeto...
Dimensão Cliente
Chave do cliente (PK)
ID do cliente (chave natural)
Nome do cliente
Cidade do cliente
CEP do cliente
Data do primeiro serviço
Crédito original
...mais atributos
Dimensão Rep. Vendas
Chave do rep. de vendas (PK)
ID do rep. de vendas (chave natural)
Nome do rep. de vendas
ID da empresa de vendas
Nome empresa de vendas
ID do canal de vendas
Nome canal de vendas
Versão final!
Dimensão Data da conta
Fato da conta
Chave da data da conta (FK)
Conta nº (DD)
Chave do cliente (FK)
Chave do rep. de vendas (FK)
Chave do plano de tarifas (FK)
Chave da linha de serviço (FK)
Nº de chamadas
Nº total de minutos
Nº de minutos de Roam
Nº de minutos de longa dist.
Tarifa de serviço mensal
Tarifa de serviço mês anterior
Tarifa de roaming
Tarifa de longa dist.
Impostos
Tarifas regulatórias
Chave da data da conta (PK)
Data da conta
Ano da data da conta
...mais atributos
Dimensão Linha de Serviço
Chave da linha de serviço (PK)
Nº linha de serviço (chave natural)
Cód. da área
Cód. e prefixo da área
Prefixo da linha de serviço
Data de ativação da linha de serviço
Dimensão Plano de Tarifas
Chave do plano de tarifas (PK)
Cód. plano de tarifas (chave natural)
Abreviação do plano de tarifas
Descrição do plano de tarifas
Código do tipo de plano de tarifas
Descrição do tipo de plano de tarifas
Grão = 1 linha por linha de serviço em uma conta
Data Warehouse e OLAP
dezembro de 2009
25
Dimensão Posição Geográfica
n 
Utilizada quando a localização geográfica
faz parte do conjunto de atributos
q 
q 
q 
Pode ser uma rua, cidade, estado CEP ou
mesmo um conjunto de latitudes e longitudes
Cria-se uma tabela geográfica mestra, onde os
dados são padronizados e depois reutilizados
Cada linha desta tabela é um uma localização
geográfica.
Data Warehouse e OLAP
dezembro de 2009
26
Dimensão Posição Geográfica
n 
Outrigger de localização
Notem que a hierarquia
de localização não foi
normalizada!
Outrigger de localização:
Normalização aceitável de uma
dimensão com atributos de
localização que, de outra forma,
seriam demasiadamente replicados.
Notem também que
este exemplo não
aplica algumas das
dicas apresentadas
neste capítulo ;-)
Data Warehouse e OLAP
dezembro de 2009
27
Dimensão Posição Geográfica
n 
Integração com GIS
q 
q 
Possibilita visualização espacial das consultas,
permitindo evidenciar informações antes
“escondidas” em planilhas e relatórios tradicionais
Permite que o GIS tire proveito dos recursos
espaciais dos SGBD’s
Data Warehouse e OLAP
dezembro de 2009
28
Perguntas
Vinícius R. T. Ferraz
vinicius_ferraz@dc.ufscar.br
Data Warehouse e OLAP
dezembro de 2009
29
Download