Membro Calculado por Dimensão e Nivel no Mondrian

Como criar um membro calculado com restrição no nível da dimensão

Muitas vezes você já deve ter sentido a necessidade de calcular o valor de uma determinada métrica em cima de apenas uma porção dos seus dados e não por todo o volume contido no seu cubo.
Imagine o seguinte: Um cubo de Locação de Filmes que possui a métrica “Valor Aluguel” e a dimensão “Funcionarios”, que para este exemplo criei com apenas 2 funcionários, mas poderiam existir centenas ou milhares.

Agora imagine que vamos precisar criar uma medida com a representação percentual dos valores de filmes locados por cada funcionário (Locacoes por Funcionario) sobre o valor total locado da empresa, ou seja, Aluguel realizado por Joãozinho/Aluguel realizado por todos.
Para fazer isso precisaremos restringir o nível “Funcionario” da dimensão “Funcionario” tanto para o registro corrente quanto para todos os registros dessa dimensão e dividir um pelo outro.

Desta forma teremos nosso membro calculado da seguinte forma:

([Funcionario].[Funcionario].CurrentMember,[Measures].[Valor Aluguel])/([Funcionario].[All Funcionarios],[Measures].[Valor Aluguel])

Obs.: Não esqueçam de formatar a saída para 0.0%

No Mondriam fica assim:

mondrian

e o resultado no Saiku é este:

saiku

Essa e mais dicas você encontra em nosso canal do youtube

Até a próxima!

2 comentários em “Membro Calculado por Dimensão e Nivel no Mondrian”

  1. CARLOS A G. S LEAO

    Elias, e seu eu precisar fazer esse mesmo procedimento, porem,calculando apenas quando o funcionario for “Fulano”?

    1. Olá Carlos, não estou com o modelo aqui para validar agora, mas acredito que ficaria assim:
      ([Funcionario].[Fulano],[Measures].[Valor Aluguel])/([Funcionario].[All Funcionarios],[Measures].[Valor Aluguel])

Deixe um comentário

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