Arquivo por tag: Design

set 20 2011

Função de Projeção

É bem interessante a gente seguir boas práticas no BO, pois ela nos dará boa visão das funções de cada objeto e evitará muitos problemas futuros. Segue uma boa dica com relação a Função de Projeção.

É muito importante, ao incluir qualquer objeto de qualquer tabela, definir sua qualificação, pois é a partir dela que poderemos identificar se poderemos utilizar para agregação ou para navegação, filtrar ou até mesmo para fazer Drill.

Para uma análise multidimensional adequada, podemos classificar o objeto de três formas: Dimensão, Indicador e Informação.

É importante ressaltar que será desta forma que controlaremos o comportamento de cada objeto.

Este artigo terá o foco na classificação do Indicador, pois será a partir dela que falaremos da função de projeção e sobre a diferença entre esta e a agregação do SQL.

Vamos começar a explicar a diferença entre as duas funções, pois assim ficará mais fácil a compreensão da função de projeção.

A função de agregação do SQL faz o mesmo papel do SQL (segue as regras de cada SGBD), ou seja, caso você queira somar todo os valores de venda de um determinado produto, basta você incluir na linha de comando um SUM(indicador) e colocar o GROUP BY. Se eu tiver uma coluna que esteja detalhando todos os meus produtos, eu estarei agrupando pelo nível mais baixo, porém, se eu tiver apenas o produto, os valores serão somados e agrupados por produto.

No caso da Função de Projeção do BO, o resultado é bem parecido, porém estes objetos não são excludentes. Ou seja, caso queira agrupar por uma dimensão, precisarei colocar o SUM no meu objeto (indicador) de qualquer forma.

Cabe ressaltar que a função de projeção serve para controlar o resultado da apresentação em uma tabela e ela é complementar a função de agregação do SQL. Segue o exemplo mostrando que a agregação do SQL poderá ser feita sem que haja uma função de projeção.

No exemplo abaixo mostramos o mesmo indicador com None na função de projeção.

Quando classificamos um objeto como indicador, precisamos decidir o comportamento que daremos a ele na apresentação. Se quisermos o comportamento de mostrar apenas o máximo dos valores ou o somatório dos mesmos, quando temos apenas o produto, precisamos definir também a função de projeção.

Segue um exemplo de um objeto com a função de projeção.

Fizemos um comparativo para mostrar o resultado dos dois indicadores mostrados acima. O primeiro do exemplo é com relação ao objeto com função de projeção definido e o segundo objeto a função de projeção não foi definida (None).

Cabe ressaltar que o default para o Oracle é o SUM e para o BW, Base de Dados Delegado.

Seguem abaixo as opções da função de projeção.
– Banco de Dados Designado;
– Contagem;
– Máx;
– Média;
– Min;
– Nenhum;
– Soma.

OBS: Explicaremos em outro post algumas peculiaridades sobre o Banco de Dados Designado