Você está na página 1de 20

Montando um Cubo OLAP - Parte 04:

Modelando dimensões de tipo


Sexta-feira, 06/05/2005 às 13h27, por Mauro Pichiliani

Compartilhar

Na coluna desta semana vamos continuar a estudar o nosso cubo OLAP de


telefonia. Vamos ver agora como foi feita a modelagem das dimensões que
controlam o tipo de telefone. Para aqueles que não estiverem acompanhando a
série de colunas, recomendo dar uma boa olhada nas colunas anteriores, para
evitarem se sentirem ‘perdidos’.

Na última coluna falamos um pouco sobre as dimensões e medidas do nosso cubo


de telefonia. Chegamos ainda da explicar como a dimensão DIA_SEMANA seria
implementada. Vamos agora ver como iremos implementar as dimensões que
permitem o filtro do tipo de telefone.

Para as implementar as dimensões de tipo de telefone, TIPO_NUMA e


TIPO_NUMB, devemos obter as informações sobre qual é o tipo de telefone, que
pode ser fixo ou móvel. A regra para a obtenção do tipo de telefone foi definida
pelo especialista no domínio e já a descrevi na segunda parte da série de colunas.

Basicamente o que devemos fazer é analisar o terceiro dígito do tipo de telefone:


se for menor que sete é um telefone fixo e se for maior ou igual a sete, podemos
considerar o número como sendo de um telefone móvel. Deste modo, para
obtermos o tipo de telefone da coluna NumeroA e NumeroB da tabela
DADOS_COLUNA_OLAP devemos utilizar a função SUBSTRING do SQL Server.

As colunas vão se chamar LOG_NUMA_TIPO do tipo char(1), para o tipo de


telefone que originou a ligação, e LOG_NUMB_TIPO do tipo char(1), para o tipo de
telefone que recebeu a ligação. Estas colunas vão fazer parte da tabela fato
TB_OLAP_TELEFONIA, que vamos criar mais para frente. O comando de exemplo
que obtém os tipos de telefones dos primeiros 100 registros da tabela
DADOS_COLUNA_OLAP é:

SELECT TOP 100


SUBSTRING(NumeroA,3,1) AS LOG_NUMA_TIPO
,SUBSTRING(NumeroB,3,1) AS LOG_NUMB_TIPO
FROM DADOS_COLUNA_OLAP

O que fizemos em seguida foi montar a tabela dimensão para os tipos de


telefones. Esta tabela dimensão será a mesma tanto para a dimensão
TIPO_NUMA como para a dimensão TIPO_NUMB. Porém, ela será um pouco
diferente da dimensão estrela DIA_SEMANA, que vimos anteriormente.

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.

Para implementar dimensões com categorias utilizamos tabelas com


relacionamento pai-filho. Esta terminologia é utilizada na teoria OLAP para nomear
as tabelas que possuem uma coluna com a propriedade chave estrangeira que
aponta para outra coluna da mesma tabela.

Alguns autores chamam isso de auto relacionamento ou relacionamento recursivo.


Para as nossas dimensões de tipos de telefone vamos utilizar a tabela
TB_TIPO_TEL, cuja estrutura é mostrada na Figura 1. Os dados desta tabela são
mostrados na Figura 2.

Figura 1. Estrutura da tabela dimensão TB_TIPO_TEL

Figura 2. Dados da tabela TB_TIPO_TEL.

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.

Notem também que para os ID_TIPO_TEL 10 e 11, não existe ID_PAI_TIPO_TEL,


pois estas linhas fazem um nível da hierarquia. Os ID_TIPO_TEL 0,1,2,3,4,5 e 6
possuem ID_PAI_TIPO_TEL 10 e os restantes possuem ID_PAI_TIPO_TEL com o
valor 11. Por solicitação dos usuários, colocamos na coluna NOME_TIPO_TEL a
descrição do tipo e o dígito que identifica o tipo de telefone.

Para fazer o download do arquivo texto TB_TIPO_TEL.zip, contendo os dados no


formato CSV compactados, clique aqui.

Mais um pequeno detalhe sobre estas dimensões: como a tabela TB_TIPO_TEL


vai ser utilizada para duas dimensões diferentes, TIPO_NUMA e TIPO_NUMB,
criamos duas views com os dados da tabela, para facilitar futuramente a criação do
modelo multidimensional. O código abaixo mostra a criação das views
VW_TIPO_NUMA e VW_TIPO_NUMB:

-- Cria a view para a dimensão TIPO_NUMA


CREATE VIEW VW_TIPO_NUMA
AS
SELECT ID_TIPO_TEL, NOME_TIPO_TEL, ID_PAI_TIPO_TEL
FROM TB_TIPO_TEL

GO

-- Cria a view para a dimensão TIPO_NUMB


CREATE VIEW VW_TIPO_NUMB
AS
SELECT ID_TIPO_TEL, NOME_TIPO_TEL, ID_PAI_TIPO_TEL
FROM TB_TIPO_TEL

Grande abraço a todos e todas e até a próxima coluna.

Montando um Cubo OLAP - Parte 05:


Modelando dimensões de Estado
Segunda-feira, 16/05/2005 às 13h15, por Mauro Pichiliani

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.

Como vimos na última coluna, as dimensões TIPO_NUMA e TIPO_NUMB,


responsáveis pelo filtro dos tipos de telefone de quem origina e de quem recebe a
ligação, respectivamente, utilizam as informações obtidas através do terceiro dígito
das colunas NumeroA e NumeroB, da tabela DADOS_COLUNA_OLAP.

Pois bem, para obtermos o estado de origem da ligação e o estado de destino


vamos utilizar uma idéia semelhante. Mas antes é bom deixar claro que nem
sempre podemos considerar como correta a informação do estado de quem fez a
ligação e de quem recebeu a ligação, pois no caso de telefones móveis o
proprietário pode estar falando de um estado que não é o estado de origem da
linha. De acordo com os usuários e o especialista no domínio, esta consideração
pode ser ignorada, pois na base de dados do projeto estas ocorrências
representam uma porcentagem bem pequena de todas as ligações.

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.

Uma vez obtidas as colunas LOG_NUMA_ESTADO e LOG_NUMB_ESTADO,


devemos nos preocupar agora com a tabela dimensão que vai se relacionar com
estas colunas da tabela fato. Consultamos o especialista no domínio para
esclarecer qual é a relação entre os estados e o código e ele nos indicou um
arquivo no formato pdf armazenado no web site da ANATEL, que diz não só qual
estado possui qual código, mas também de os possíveis municípios para
determinado código de estado. Para o cubo OLAP só nos interessava o estado. O
nome do arquivo é codigos_ordenado.pdf e para fazer o download deste arquivo
basta acessar o seguinte link no web site da ANATEL:

http://www.anatel.gov.br/Tools/frame.asp?
link=/telefonia_fixa/stfc/codigos/codigos_alfabetico.pdf

Porém, há um pequeno problema na base de dados que disponibilizei para teste.


Como os dados da nossa base de teste, armazenados na coluna
DADOS_COLUNA_OLAP, foram gerados aleatoriamente, alguns códigos de
estados não existem, como é o caso do código de estado 20. Para resolver este
problema, os códigos de estados que foram gerados aleatoriamente, e que não
possuem um estado de acordo com a documentação da ANATEL, foram atribuídos
a estados próximos. Por exemplo, o código 20 foi atribuído para o estado do Rio
de Janeiro.

Com estes dados em mãos vamos modelar tabela de dimensão de estado. Da


mesma maneira que as dimensões de tipo de telefone, as dimensões de estado
também possuem uma hierarquia. Esta hierarquia pode ser demonstrada através
dos dados do estado de São Paulo, que possui vários códigos, compreendidos
entre 11 e 19.
Neste caso, existe uma hierarquia dos dados. Mas nem sempre isso é verdadeiro,
como no caso do estado Acre que possui somente o código 68. Para resolver este
problema, adicionamos uma coluna na tabela de dimensão TB_ESTADOS, que
contém os códigos DDD por estado. No caso de hierarquias, como o grupo de
linhas de São Paulo, uma letra será colocada na coluna para representar o grupo
de códigos DDD. A estrutura da tabela TB_ESTADOS é mostrada na Figura 1.

Figura 1. Estrutura da tabela TB_ESTADOS.

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.

A coluna DDD_ESTADO vai se relacionar, durante a montagem do modelo


multidimensional, com as colunas LOG_ESTADO_NUMA e LOG_ESTADO_NUMB
da tabela de fato TB_OLAP_TELEFONIA. Mas, da mesma maneira que as
dimensões TIPO_NUMA e TIPO_NUMB, a tabela dimensão TB_ESTADOS vai ser
utilizada em duas dimensões – ESTADO_NUMA e ESTADO_NUMB – e para isso
precisamos criar duas views, que chamaremos de VW_ESTADO_NUMA e
VW_ESTADO_NUMB, respectivamente. A Listagem 2 mostra a criação destas
views.

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.

Esta dimensão não necessita de nenhuma tabela auxiliar ou transformação nos


dados, pois todo o tratamento necessário será feito diretamente no Analysis
Services. A coluna HoraFim da tabela DADOS_COLUNA_OLAP vai se chamar
LOG_HORA da tabela fato TB_OLAP_TELEFONIA.

Clique aqui para o download.

Na próxima coluna vamos criar a tabela fato TB_OLAP_TELEFONIA e começar a


trabalhar na implementação do nosso cubo de dados dentro do Analysis Services.

Grande abraço a todos e todas e até a próxima coluna.

SQL Server

Montando um Cubo OLAP - Parte 06:


Criando a Tabela Fato
Terça-feira, 24/05/2005 às 13h09, por Mauro Pichiliani

Compartilhar

Olá Pessoal. Na coluna de hoje vamos dar continuidade à montagem do nosso


cubo de dados criando a tabela fato e configurando o ambiente multi-relacional.

Revisando o que vimos até agora, temos o dados da bilhetagem telefônica


armazenada na tabela DADOS_COLUNA_OLAP, que contém os dados
importados do arquivo texto que disponibilizei na segunda parte desta série de
artigos. Vimos como seriam modeladas as dimensões e as medidas do nosso cubo
de dados. A seguir modelamos as seis dimensões que o nosso cubo de dados que
são: DIA_SEMANA, ESTADO_NUMA, ESTADO_NUMB, TIPO_NUMA,
TIPO_NUMB e TEMPO.

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.

Além de criar a tabela TB_OLAP_TELEFONIA, a Listagem 1 mostra os comandos


que fazem a criação da chave primária para a tabela e dois índices, com o objetivo
de acelerar o acesso às consultar que forem feitas na tabela fato.

Para acelerar o acesso às tabelas de dimensão, que apesar de serem pequenas


vão ser muito acessadas, é recomendo criar índices para elas também. A Listagem
2 mostra a criação das constraints e índices nas tabelas de dimensão que tornarão
mais rápido o acesso aos dados

Listagem 2. Criação das constraints e índices nas tabelas de dimensão.


Com isso terminamos a parte de modelagem das tabelas do nosso modelo. O que
temos a fazer em seguida é preparar a definição do nosso cubo de dados e a sua
visualização. Todas as tabelas, índices e definições os objetos vistos até agora
foram armazenados dentro de um banco de dados do SQL Server, que chamei de
dbTelefonia, para separar os dados.

A seguir, vamos configurar o ambiente OLAP, para armazenar o nosso cubo de


dados. Abrindo o Analysis Services, e clicando no nosso servidor, podemos ver
que não existe nenhum banco de dados definido. Estes bancos de dados são
apenas definições dos cubos, dimensões e outros objetos e que, por padrão, são
armazenados dentro de um arquivo com extensão.MDB (Access). A Figura 1
mostra o servidor OLAP sem nenhum banco de dados definido.

Figura 1. Nenhum banco de dados criado no servidor OLAP.

Vamos criar um banco de dados chamado OLAP_Telefonia. Para isso devemos


selecionar o servidor, que no meu caso de chama PICHILIANI, clicar com o botão
direito e escolher a opção New Database, como a Figura 2 mostra. Digitem
OLAP_Telefonia e pressionem o botão OK.
Figura 2. Criando um banco de dados OLAP.

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 aba conexão é onde devemos fornecer o nome ou endereço do servidor, as


configurações de login e escolha do banco de dados que contém as informações.
Recomendo habilitar a opção Permitir salvamento de senha, para evitar que o
Analysis Manager pergunte novamente qual é a senha para esta fonte de dados
durante a criação do cubo.

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.

Na próxima coluna vamos começar a implementar o nosso cubo OLAP, montado


as dimensões e medidas.

Grande abraço a todos e todas e até a próxima coluna.

Montando um Cubo OLAP - Parte 12


(Visualizando o cubo no Excel)
Segunda-feira, 15/08/2005 às 13h15, por Mauro Pichiliani

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).

O PTS é um midleware necessário para que os clientes acessem as informações


que estão nos cubos de dados dentro Analisys Services e, além disso, é um
componente invisível que fornece funcionalidades para a manipulação dos dados
nas aplicações de terceiros, como o Excel ou aplicações que foram construídas
pelo usuário utilizando linguagens de programação populares, como o VB ou ASP.

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 ).

A Figura 01 abaixo mostra como é relação do PTS com a aplicação.

Figura 01. Arquitetura de uma aplicação.

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.

É possível que em algum momento o Excel solicite a instalação do English Query


e, por isso, é bom ter em mãos o CD de instalação do Office durante os passos a
seguir. Para evitar problemas com a permissão de acesso ao cubo utilizei o Excel
na mesma máquina do Analisys Services. Caso contrário é preciso configurar a
permissão de acesso ao cubo.

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.

O próximo passo é indicar ao Excel que os dados são provenientes de dados de


uma fonte externa e que queremos criar uma tabela dinâmica. A opção que
permite criar um gráfico dinâmico será vista na próxima coluna, última da série,
onde trabalharemos com gráficos para os dados do nosso cubo de telefonia.

A Figura 03 mostra a primeira janela do assistente de criação de tabela dinâmica


onde escolhemos a opção “External Data Source” e a opção “PivotTable”.

Figura 03.
Janela de configuração da fonte externa.

A segunda janela do assistente de criação de tabela dinâmica do Excel permite


indicar onde iremos buscar os dados. Clique no botão “Get Data...”, como a Figura
04 mostra, para indicar que a nossa fonte de dados vai ser uma fonte de dados
externa.

Figura 04. Janela de escolha da fonte de dados externa.

A próxima janela, que se parece muito com a janela de configuração de conexão


ODBC, permite a criação de uma nova fonte de dados. Mas, como queremos criar
uma conexão para uma fonte de dados que é um servidor OLAP, vamos até a aba
“OLAP Cubes” e verificar que não existe nenhuma fonte de dados configurada.

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.

Na próxima janela devemos colocar um nome na nova conexão. Como estamos


trabalhando com um cubo de dados chamado “OLAP_09_2004” vamos dar este
nome para a conexão com o servidor Analisys Services.

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.

Clicando no botão “Connect...” o assistente de configuração de conexão


Multidimensional é iniciado. Nele vamos indicar quais as configurações
necessárias para acessar a fonte de dados que contém o nosso cubo.

Um detalhe: não precisamos necessariamente trabalhar com dados de cubos que


estão no servidor Analisys Services, pois o PTS permite que trabalhemos com
cubos off-line, que nada mais são do que arquivos .cub que contém todas as
informações do cubo 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.

Após a configuração do PTS no Excel podemos facilmente demonstrar todas as


funcionalidades de visualização de dados sem necessitar do servidor Analisys
Services. Caso desejarmos acessar um cubo off-line, devemos escolher a opção
“Cube File”, mostrada na janela da Figura 07, e indicar o caminho (path) do arquivo
.cub.

Continuando a nossa configuração, vamos identificar o servidor,o login e a senha


do SQL Server. A Figura 07 mostra a janela de configuração da conexão
Multidimensional.
Figura 07. Janela de configurações da conexão Multidimensional.

No próximo passo devemos escolher qual é o banco de dados do Analisys


Services que queremos trabalhar.

Lembrem-se: um servidor Analisys Services pode conter vários bancos de dados,


que podem conter várias conexões a servidores de bancos de dados (como o SQL
Server ou o Oracle) e vários cubos de dados.

No nosso exemplo o banco de dados se chama OLAP_Telefonia e a Figura 08


mostra a escolha deste banco de dados para a conexão Multidimensional.

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.

A Figura 09 mostra as áreas da tabela dinâmica na qual podemos colocar as


dimensões e medidas junto com as barras de ferramentas. Para facilitar a
identificação dos elementos do Excel, uma numeração foi colocada nos elementos
da Figura 09.

Figura 09. Áreas


da tabela dinâmica e barras do Excel.

As áreas marcadas na Figura 9 são descritas a seguir:

1) Barra PivotTable. Esta barra é útil para configurar as opções gerais da tabela
dinâmica.

2) Barra de campos. Esta barra serve para colocar as dimensões e medidas do


cubo de dados dentro da tabela dinâmica. Notem que as dimensões possuem um
ícone diferente das medidas.

3) Área de Página de Campos. Nesta área somente dimensões podem ser


colocadas. Para colocar uma dimensão nesta área basta clicar no nome da
dimensão na Barra de campos e arrastá-la para esta área. As dimensões que
estiverem nesta área não se modificaram quando o usuário fizer um drill-down ou
um drill-up.

4) Área de Coluna de Campos. Nesta área somente dimensões podem ser


colocadas. Quase idêntica à Área de Página de Campos, todas as dimensões que
estiverem nesta área são modificadas quando o usuário faz um drill-down ou um
drill-up. Equivale ao eixo X de uma expressão MDX

5) Área de Linha de Campos. Nesta área somente dimensões podem ser


colocadas. Idêntica à Área de Coluna de Campos, porém esta na vertical. Equivale
ao eixo Y de uma expressão MDX.

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.

Vamos ‘brincar’ um pouco com a nossa tabela dinâmica colocando as dimensões e


medidas do cubo de dados na planilha do Excel. Para isso, cliquem e arrastem as
dimensão e medidas desejadas posicionando-as nas devidas áreas.

Como exemplo, coloquei as medidas DIA_SEMANA, ESTADO_NUMA,


ESTADO_NUMB, TIPO_NUMA e TIPO_NUMB na Área de Página de Campos (3)
e a dimensão TEMPO na Área de Linhas de Campos(5). Coloquei a medida
MINUTAGEM na Área de Itens de Dados (6). O resultado pode ser visto na Figura
10.
Figura 10.
Dados do cubo sendo mostrados no Excel.

Notem que na Figura 10 as células que contém a medida MINUTAGEM não


possuem nenhuma formatação. Para formatá-las, posicionem o curso sobre
qualquer uma das células da tabela que possuem o valor da medida MINUTAGEM
e cliquem no botão “Field Settings” da barra PivotTable (é o segundo botão da
direita para esquerda, na parte de baixo da barra). Cliquem no botão “Number...”
da janela e escolham a formatação adequada para o número.

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...”.

Outro manipulação interessante que o Excel nos fornece é a escolha individual de


somente alguns membros de uma dimensão. Por exemplo, se clicarmos na seta da
caixa de itens da medida ESTADO_NUMB temos a opção “Select Multiple items”
que habilita a escolha de somente alguns itens de uma dimensão, como a Figura
11 mostra.

Figura 11. Escolhendo somente alguns membros da dimensão ESTADO_NUMB.

Da mesma maneira que o Cubo Browser do Analisys Manager o Excel permite


drill-down e drill-up nos membros das dimensão que fazem parte da tabela
dinâmica através do duplo clique, assim como a possibilidade de pivotar as
dimensões, isto é, trocar qualquer dimensão de posição com outra, simplesmente
arrastando as dimensões.

Eu recomendo aos leitores que façam manipulações na tabela dinâmica do Excel


com o objetivo de explorar as possibilidades de visualizações de dados. Após a
manipulação, basta salvar a planilha do Excel em um arquivo .xls e todas as
definições da conexão já estarão armazenadas. Clique aqui para o download.

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!

Você também pode gostar