Montando Um Cubo OLAP
Montando Um Cubo OLAP
Montando Um Cubo OLAP
Compartilhar
Como no tipo de telefone temos uma divisão lógica em fixos ou móveis, vamos
agrupar os tipos de telefones nestas categorias. Quando agrupamos dados de
uma tabela de dimensão em categorias estamos utilizando um conceito
fundamental da teoria OLAP: a idéia de hierarquia. Esta hierarquia é simples para
o nosso exemplo, pois todos os números que possuem o terceiro dígito
compreendido entre zero e seis são agrupados no primeiro nível da hierarquia, no
grupo de telefones fixos. Os números que cujo terceiro dígito está entre sete e
nove são armazenados no grupo de telefones móveis. O próximo nível desta
hierarquia já é o dígito que identifica o tipo do telefone.
Percebam que a coluna ID_TIPO_TEL possui uma chave primária. Esta coluna vai
se relacionar com as colunas LOG_NUMA_TIPO e LOG_NUMB_TIPO da tabela
fato TB_OLAP_TELEFONIA e também com a coluna ID_PAI_TIPO_TEL da
própria tabela TB_TIPO_TEL.
GO
Compartilhar
Olá Pessoal. Vamos continuar falando sobre como montar um cubo com dados de
telefona na coluna de hoje, onde vou explicar como modelamos as dimensões que
permitem o filtro por estado e a dimensão de tempo.
Para obtermos o estado dos números de origem e destino vamos observar os dois
primeiros dígitos das colunas NumeroA e NumeroB e obter o código do estado,
que também é conhecido como DDD. Para obtermos estas informações vamos
utilizar novamente a função SUBSTRING(). As novas colunas vão se chamar
LOG_NUMA_ESTADO, para armazenar o estado de quem originou a ligação, e
LOG_NUMB_ESTADO, para armazenar o estado de quem recebeu a ligação.
Estas duas colunas vão ser criadas na tabela fato TB_OLAP_TELEFONIA, que
será gerada a partir das transformações necessárias na tabela
DADOS_COLUNA_OLAP, de acordo com o que foi modelado. O comando que
mostra como obter as colunas LOG_NUMA_ESTADO e LOG_NUMB_ESTADOS
para as 100 linhas da tabela DADOS_COLUNA_OLAP é mostrado na Listagem 1.
http://www.anatel.gov.br/Tools/frame.asp?
link=/telefonia_fixa/stfc/codigos/codigos_alfabetico.pdf
Notem que na Figura 1 existe uma coluna chamada ID_ESTADO, chave primária
da tabela, que contém um número identificador seqüencial para todos os registros.
A coluna ID_PAI_ESTADO faz o relacionamento pai-filho através de uma chave
estrangeira e a coluna DDD_ESTADO armazena o código do estado, de acordo
com a informação obtida no arquivo da ANATEL e com letras para os grupos de
linhas, como no caso do estado de São Paulo. Devido à necessidade de colocar
letras na coluna DDD_ESTADO, o tipo de dados mais adequado para esta coluna
foi o tipo varchar(2). Para fazer o download do arquivo texto TB_ESTADOS.zip,
contendo os dados no formato CSV compactados, clique aqui.
Listagem 2. Script
de criação das views VW_ESTADO_NUMA e VW_ESTADO_NUMB.
Com isso terminamos a modelagem das dimensões ESTADO_NUMA e
ESTADO_NUMB. A última dimensão que faltou modelarmos foi a dimensão
chamada TEMPO. Esta dimensão conterá os dados de forma hierárquica também:
o mês, o dia, a hora e o minuto, esta ordem.
SQL Server
Compartilhar
Vamos agora criar a tabela fato chamada TB_OLAP_TELEFONIA. Para criar esta
tabela vamos utilizar as definições já vistas nos artigos anteriores. Basicamente o
que vamos fazer é criar a tabela TB_OLAP_TELEFONIA a partir dos dados da
tabela DADOS_COLUNA_OLAP, fazendo transformações nas colunas para
facilitar os relacionamentos com as tabelas de dimensão. A Listagem 1 mostra
como foi feita a criação da tabela fato TB_OLAP_TELEFONIA.
Listagem 1. Criação da tabela fato TB_OLAP_TELEFONIA e dos índices.
Com esta ação criamos um banco de dados OLAP. O próximo passo é configurar
qual será a base de dados que iremos utilizar para obter os dados que o nosso
futuro cubos de dados consultará. Como dito anteriormente, o servidor OLAP da
Microsoft pode trabalhar com qualquer banco de dados como fonte das
informações, desde que este banco de dados possua um driver ODBC ou um
provider OLE DB. No nosso caso, todas as informações estão no banco de dados
dbTelefonia do SQL Server que se encontra na mesma máquina.
Para configurar o acesso aos dados, vamos expandir o banco de dados clicando
no sinal de mais (+) e selecionar a pasta Data Sources. Pressionem o botão direito
do mouse e escolham a opção New Data Source, para abrir a janela de
configuração das propriedades de conexão, mostrada na Figura 3. Escolham a
opção Microsoft OLE DB Provider for SQL Server na aba Provedor, como
mostrado pela janela da Figura 3. A seguir pressionem o botão Avançar.
Figura 3. Janela de configuração para a escolha do provider OLE DB.
A Figura 4 mostra as configurações que utilizei, onde o servidor SQL Server estava
sendo executado no mesmo servidor de OLAP, chamado de PICHILIANI. Após
fornecerem todas as informações corretas, pressionem o botão OK e teremos
finalizado a configuração da nossa fonte de dados
Figura 4. Configurações para acesso à fonte de dados.
Compartilhar
Olá Pessoal. Na coluna desta semana vamos aprender a utilizar o Excel para
acessar o cubo de dados que foi montado nas colunas anteriores. Vamos ver
como configurar o PTS (Pivot Table Services) para que ele acesse o Analisys
Services de modo que os dados do cubo possam ser visualizados no Excel.
Para entender melhor sobre como funciona o acesso aos dados do cubo vamos
falar um pouco sobre a arquitetura. Do lado do cliente nós teremos o Excel XP que
contém um componente especial chamado PTS (Pivot Table Services).
Para tanto, o PTS possui duas API’s para a programação: o OLE DB para OLAP
e o ADO MD (Microsoft ActiveX Data Objects Multidimensional ).
Pois bem, agora que já conhecemos o PTS vamos fazer o Excel se comunicar com
o Analisys Services para podermos visualizar os dados do nosso cubo. Nas
imagens desta coluna utilizei o Excel XP em inglês. Mas os passos aqui explicados
podem ser facilmente seguidos com outras versões do Excel.
Vamos iniciar o Excel e, em uma nova planilha, vamos escolher a opção “Pivot
Table and Pivot Chat Report”, do menu “Data”, como a Figura 02 mostra, para
criarmos uma tabela dinâmica no Excel baseada em dados de uma fonte externa.
Figura 02. Escolhendo a opção que vai criar uma tabela dinâmica.
Figura 03.
Janela de configuração da fonte externa.
Neste caso, devemos deixar a seleção da caixa de listagem no item “<New Data
Source>” e clicar no botão OK, como pode ser visto na Figura 05.
Figura 05.
Janela de criação de nova conexão com o cubo OLAP.
Para o provider, vamos escolher a segunda opção, “Microsoft OLE DB Provider for
Olap Services 8.0”, e clicar no botão “Connect...” para configurar o acesso à fonte
de dados. A Figura 06 mostra a janela de criação da nova fonte de dados.
Figura 06. Janela de criação da nova fonte de dados.
Esta opção é útil quando não temos a disponibilidade de um servidor OLAP. Como
exemplo, podemos pensar em uma demonstração onde todos os arquivos .cub
com os dados dos cubos estão gravamos em um CD.
Figura 08.
Escolhendo o banco de dados que contém os cubos.
Após a janela de escolha do banco de dados voltamos para a janela mostrada na
Figura 06, mas agora com a opção de escolha de cubo habilitada. Vamos escolher
o único cubo do nosso banco de dados, OLAP_09_2004, e marcar a opção “Save
my user ID and password in the data source definition”, para que o excel não
pergunte a senha de acesso ao banco de dados ao abrirmos esta planilha.
Agora o que temos a fazer é fechar a janela mostrada na Figura 06, escolher a
opção OLAP_09_2004 que está disponível na janela mostrada na Figura 05 e
finalizar o assistente clicando no botão “Finish” da Janela 4. Isso faz com o que o
Excel permita a colocação das dimensões e medidas do cubo de dados que
criamos na tabela dinâmica da planilha.
1) Barra PivotTable. Esta barra é útil para configurar as opções gerais da tabela
dinâmica.
6) Área de Itens de Dados. Nesta área somente medidas podem ser colocadas. É
nesta área que o valor medidas vão ser mostradas para o usuário.
Outro detalhe que podemos ver na tabela dinâmica é o total geral. Para retirar este
total geral, e alterar outras propriedades da tabela, basta colocar o cursor sobre
qualquer uma das células da tabela, escolher o menu PivotTable da barra Pivot
Table (onde está escrito PivotTable com uma seta ao lado) e escolher a opção
“Table Options...”.
Na próxima coluna vou mostrar como visualizar os dados deste cubo em gráficos
do Excel e responder às questões dos usuários levantadas na fase inicial do
projeto, que foi descrita na segunda parte desta série de colunas.
Até lá pessoal!