• Nenhum resultado encontrado

2.3 Operações OLAP

2.3.2 Operações de navegação

A construção de um reticulado não existe apenas para se saber quantas combinações possí- veis se pode obter com as dimensões e suas hierarquias. Na verdade o conceito de reticulado encaixa muito bem num sistema OLAP pois para além de se saber que combinações são possíveis, ainda permite definir quais os cuboides que estão interligados entre eles, com dependências (numa hierarquia).

Ora, essas “ligações” permitem tornar os sistemas OLAP completamente dinâmicos e ágeis, pois o Agente de Decisão pode navegar entre os dados de forma eficaz (mais rápida). Por exemplo se tiver a ver um cubo com 3 dimensões e quiser remover uma delas, ele simples- mente navega para outro cuboide, evitando que o sistema faça um processamento que por

vezes é absurdo por ser agregações de milhões de registos. O mesmo acontece na operação inversa, em que não seria possível construir um inverso de uma agregação sem se ter algo detalhado. No entanto, como os dados estão já materializados, essa operação é possível e igualmente rápida.

As duas operações apresentadas a seguir exigem que haja um ponto de partida (cuboide) e um destino (outro cuboide).

roll-up

Genericamente, a operação roll-up permite diminuir a granularidade dos dados que se está a analisar, ou seja, permite agrupar os dados segundo algum eixo de análise associado. Se estivéssemos a referir a uma base de dados normal, estaríamos mediante uma operação simples de GROUP BY com uma função de agregação nas métricas (SUM, AVG, entre outras operações). Mediante a estrutura do reticulado, que na prática é o convencional de um sistema OLAP, compreende-se que esta operação de agregação na verdade é uma operação de navegação entre cuboides do reticulado, ou seja, troca de tabelas na consulta. Essa navegação tem um sentido único, navegar para cuboides mais sumarizados. Vendo a Figura 2.4, esta operação permite então navegar apenas de cima para baixo, uma vez que nesse reticulado os cuboides superiores têm a informação mais agregada que os cuboides inferiores.

Conceptualmente esta operação apenas dita qual o cuboide a ser escolhido para analisar. No entanto na prática, isto não é exatamente assim. Existe muitos casos em que os reticulados estão construídos parcialmente pois é inviável a construção completa, devido à carga de processamento e capacidade de armazenamento. Nesses casos, uma operação de roll-up pode ser uma navegação ou então um GROUP BY dos dados que se está a analisar, mediante a existência ou não do cuboide pedido pelo Agente de Decisão.

Neste caso, atendendo a que estamos a estudar situações conceptuais, não se aborda essa implementação prática dos sistemas OLAP, considerando então que o reticulado está sempre 100% materializado. Assim, como exemplo, tendo em conta a Figura 2.4, se um Agente de Decisão tivesse a visualizar os dados da tabela de factos, ou seja do cuboide mais abaixo, e precisasse de remover a dimensão “Localização”, ele faria um roll-up em que na prática passaria a visualizar os dados do cuboide que fica exatamente por cima, tal como se pode ver pela Figura 2.6. A execução do roll-up não é genérica, o Agente de Decisão tem de escolher que dimensões quer analisar, visto que há várias possibilidades de agregação dos dados em questão.

Figura 2.6: Operação de roll-up, em que é removida a dimensão “Localização”

Drill-Down

A operação de Drill-Down, conceptualmente, é a operação inversa do roll-up: navegar para cuboides com maior nível de detalhe. No entanto, é uma operação que tanto matematica- mente como na prática é impossível de ser inversa.

Matematicamente, não é possível obter informação mais detalhada de algo que já foi cal- culado (agregado). Não é possível desagrupar algo sem conhecer as suas origens. Ao nível prático, utilizando um EMD em reticulado, a operação também não é exatamente uma simples navegação caso se esteja perante um reticulado parcial (onde voltamos à situação de não existir dados detalhados).

Na prática, a operação Drill-Down só é conveniente num sistema OLAP convencional, sobre um reticulado de dados materializados. Sem ela, o Drill-Down não passa de uma operação

Slice&Dice e um GROUP BY sobre uma tabela de factos (pois não é possível desagrupar

dados). Com o reticulado, a operação é quase inversa ao roll-up mas exige que haja cuboides materializados com dados mais detalhados para navegar para eles. Novamente, caso não existam, numa situação prática a operação tem de procurar um cuboide que esteja abaixo no reticulado (seja mais detalhado e tenha um caminho na hierarquia) e depois agrupar conforme a situação pedida.

Da mesma forma que explicado na secção anterior sobre o roll-up, neste trabalho centramo- nos apenas ao nível conceptual e portanto a operação Drill-Down é simplesmente a operação inversa ao roll-up, de movimentação. Ou seja, é uma operação em que exige que haja um ponto inicial em que o Agente de Decisão está a analisar e essa operação acrescenta detalhe aos dados, que na prática é uma movimentação para um cuboide com maior detalhe.

Visualmente, considerando novamente a Figura 2.4, e supondo que o Agente de Decisão está a analisar o cuboide que inclui apenas a dimensão “Tempo”, se ele precisar de ver os dados mais detalhados, por exemplo acrescentando o eixo de análise referente aos dados da dimensão “Localização”, ele faz um Drill-Down a acrescentar essa dimensão. O que o utilizador do sistema vê é um desmontar dos dados agregados, acrescentando mais informa- ção detalhada. Apesar do processo parecer complexo, na prática, o sistema apenas muda a vista que está a apresentar. No caso desta situação, ela está representada na Figura 2.7 e basicamente está a passar da vista que incluía apenas a dimensão “Tempo” para a vista que incluía os dados da combinação entre a dimensão “Tempo” e a dimensão “Localização”.

Figura 2.7: Operação de Drill-Down, em que se acrescenta a dimensão “Localização” à vista que se estava a analisar