A Ordem de Resolução é uma propriedade de metadados que pode ser definida para uma dimensão ou para um membro que define a ordem de avaliação dos membros. A ordem de resolução é aplicada durante a execução da consulta.
A Ordem de Resolução pode impactar o desempenho da consulta. O valor da propriedade de ordem de resolução determina a propriedade com a qual a fórmula do membro é calculada. A fórmula nos membros que têm uma ordem de resolução especifica é calculada na ordem do menor para o maior da ordem de resolução.
É possível definir a ordem de resolução para dimensões ou membros ou usar a ordem de resolução padrão do Essbase. A ordem de resolução mínima que é possível definir é 0 e a máxima é 127. Uma ordem de resolução mais alta significa que o membro é calculado posteriormente; por exemplo, um membro com uma ordem de resolução 1 é resolvido antes de um membro com uma ordem de resolução 2.
Note:
Isso se aplica apenas a aplicativos híbridos otimizados. Consulte: Otimização do Modelo de Aplicativo para Agregação HíbridaTable 12-14 Configurações Padrão da Ordem de Resolução
Tipo de Dimensão/Membro | Valor Padrão da Ordem de Resolução |
---|---|
Membros armazenados | 0 |
Dimensões esparsas | 10 |
Dimensão densa - Conta | 30 |
Dimensão densa - Tempo | 40 |
Dimensão densa | 50 |
Dimensão de atributo | 90 |
Membros dinâmicos em dois passos | 100 |
Em resumo, a ordem de resolução padrão no modo híbrido determina que os membros armazenados sejam calculados antes dos membros de cálculo dinâmico e as dimensões esparsas sejam calculadas antes das dimensões densas, na ordem em que aparecem no outline (de cima para baixo).
Os membros Dinâmicos (com ou sem fórmulas) que não têm uma ordem de resolução especificada herdam a ordem de resolução de sua dimensão, a menos que sejam marcados como de duas passagens. O cálculo em dois passos é uma configuração que você pode aplicar, no modo não híbrido, a membros com fórmulas que devem ser calculadas duas vezes para produzir o valor correto.
Os dois passos não são aplicáveis no modo híbrido e todos os membros marcados como dois passos são calculados por último, depois dos atributos. No modo híbrido, você deve implementar uma ordem de resolução personalizada, em vez dos dois passos, se a ordem de resolução padrão não atender aos seus requisitos.
A ordem de resolução padrão no modo híbrido é otimizada para os seguintes cenários:
Se precisar usar uma ordem de resolução não padrão, você pode definir uma ordem de resolução personalizada para membros no modo híbrido. Consulte Como Definir a Ordem de Resolução (somente modo Híbrido) para saber como modificar a ordem de resolução.
Se você implementar uma ordem de resolução personalizada, ela substituirá a ordem de resolução padrão. Se membros ou dimensões tiverem ordem de resolução igual, a ordem em que aparecem na estrutura de tópicos (de cima para baixo) resolve o conflito.
Esse comportamento pode ser alterado atribuindo uma ordem de resolução personalizada à dimensão esparsa que é maior do que a ordem de resolução da dimensão densa.
Exemplo:
Considere o exemplo a seguir com membros de diferentes Ordens de Resolução.
Conta (Esparsa, Ordem de Resolução 30 padrão)
A1
A2
Proporção - Fórmula de Membro [A1 / A2]
(Ordem de Resolução 30 padrão herdada da Conta)
Origem de Dados (Esparsa, Ordem de Resolução 10 padrão)
DataInput
CustomInput
Variação – Fórmula de Membro [DataInput - CustomInput]
(Ordem de Resolução 10 padrão herdada da Origem de Dados)
Considere o conjunto de dados a seguir para as interseções do período de janeiro:
Cálculos com diferentes Ordens de Resolução para Proporção e Variação
Caso 1: Proporção com uma Ordem de Resolução mais alta que a Variação
Nesse caso, a Variação será calculada primeiro e depois a Proporção correspondente.
A Proporção de Variação será calculada como (Variance->A1)/(Variance->A2).
Caso 2: Proporção com uma Ordem de Resolução mais baixa do que a Variação
Nesse caso, a Proporção será calculada primeiro e depois a Variação correspondente.
A Variação de Proporção será calculada como (Ratio->DataInput) – (Ratio->CustomInput).