«

»

ago 09 2011

Cálculo de Contexto (Input e Output Context)

Cálculo de Contexto (Calculation Context).

Primeiro vamos entender um pouco mais sobre este cálculo, pois existe uma confusão grande na diferença entre os dois.

Para o cálculo de contexto, são compreendidos duas formas: Input e Output

Quando queremos utilizar uma agregação calculada, precisamos do Input Context e quando queremos utilizar uma agregação projetada, precisamos do Output Context.

Contexto de Input (Input Context):

Quando fazemos qualquer seleção em um bloco (tabela ou gráfico) ou queremos incluir alguma(s) dimensão no contexto do meu trabalho e não precisamos de uma agregação no nível do relatório (global), utilizamos um Contexto de Input. Este contexto nos dá a liberdade de selecionar uma ou mais  dimensões para restringir os valores e/ou incluí-los no contexto da minha consulta.

Como foi dito anteriormente, o Contexto de Input é utilizado para fazer uma Agregação Calculada, ou seja, esta função restringe o meu universo ao subconjunto que eu desejo trabalhar . Posso citar como exemplo o caso do valor máximo da receita relaciona aos Estados e utilizá-lo em apenas um bloco. Neste caso utilizarei o operador IN (darei os operadores em um quadro ao final do texto) pois especificarei a dimensão que eu quero relacionar
Ex:  =Max( [Receita] ) In ([Estado])

Caso eu queria restringir o meu Estado e ainda relacionar a minha maior receita ao ano, precisarei laçar mão de outro operador que é o Where (ou em português Onde).
Ex:  =Max ([Receita] ) In ([Estado]; [Ano]) Where ([Estado] = “Rio de Janeiro”)

Ou seja, neste caso eu estou utilizando o operador In para atrelar a receita máxima para cada Estado e depois incluindo o ano para descobrir o maior valor (dentre os Estados) em cada ano. Após isso, estou utilizando o operador Where para restringir o Estado que eu quero extrair a receita. O resultado desta forma será o valor máximo da receita para o Estado do Rio de Janeiro por ano.

OBS: Não necessariamente precisamos especificar um bloco para utilizar um contexto de input. Caso você determine que o relatório inteiro precise desta regra de negócio, faça.

Contexto de Output (Output Context):

Quando queremos fazer cálculos com dimensões que não estão sendo utilizados nos blocos criados ou no relatório (apenas na minha consulta), precisaremos utilizar o recurso do Contexto de Output. Este recurso nos permite fazer cálculos de projeção como o valor total do que está sendo extraído no bloco (ou relatório) em relação ao valor total encontrado na base (sempre com relação a consulta feita).

Segue um exemplo para extrair o valor total de todos os Estados.
= Sum ( [Receita] ) ForAll [Estados]

A partir delta fórmula, podemos calcular o percentual de receita por Estado de acordo com o valor total de todos os Estados.

Operadores utilizados para o cálculo dos Contextos:

O Input Context utiliza os operadores ForEach e In.

O Output Context utiliza os operadores ForAll e In.

O Cálculo do Contexto (Input e Output) utiliza o operador Where.

Input vs Output Contextos

Sobre o autor

Gustavo Faro

http://br.linkedin.com/in/gustavofaro

1 comentário

  1. eduardo silva

    Bom dia estou com um problema para resolver e não acho uma solução…

    Preciso fazer uma soma que acumula o valor dos ultimos 12 meses de cada linha(data).

    tenho os campos data e valor, para cada linha quero ter um acumulados dos meses anteriores.

    Alguem pode ajudar?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *