Ordem de Cálculo e Ordem de Resolução em Cubos ASO
A ordem de cálculo dos cubos de armazenamento agregado (ASO) do Essbase difere da dos cubos de armazenamento em blocos. As hierarquias armazenadas e as dimensões de atributo são consolidadas e, em seguida, as hierarquias dinâmicas são avaliadas com base em uma ordem de resolução definida.
Para cubos de armazenamento agregado, o Essbase calcula dados na seguinte ordem:
-
Agrega membros de hierarquias armazenadas e dimensões de atributo. A ordem em que os membros e as dimensões são agregados é otimizada internamente e muda de acordo com a natureza do outline do cubo e as agregações existentes. Como a agregação é aditiva, a ordem na qual o Essbase agrega as dimensões e os membros não afeta os resultados.
Como a ordem de agregação interna de um cubo de armazenamento agregado não é previsível, quaisquer erros de arredondamento inerentes também não são previsíveis. Estes erros de arredondamento são comportamento esperado no cálculo do computador e são extremamente pequenos em relação aos valores de dados em questão.
-
Calcula membros e fórmulas da dimensão de hierarquia dinâmica. A ordem em que os membros e as fórmulas são avaliados é definida pela propriedade da ordem de resolução, que você pode definir para cada membro ou dimensão. A ordem de cálculo pode afetar os resultados do cálculo.
Solucionar Propriedade da Ordem
O conceito de ordem de resolução se aplica à execução da consulta. Quando uma célula é avaliada em uma consulta multidimensional, a ordem na qual os cálculos devem ser resolvidos pode ser ambígua. Para remover a ambiguidade, você pode usar a propriedade da ordem de resolução para especificar a prioridade de cálculo necessária.
Observação:
É uma boa prática especificar a ordem de resolução definindo a propriedade da ordem de resolução no nível de membro ou dimensão. Os membros sem fórmulas que não têm uma ordem de solução especificada herdam a ordem de solução de suas dimensões. Os membros com fórmulas que não têm uma ordem de resolução especificada têm uma ordem de resolução igual a zero.
Para alterar a ordem de solução, use o editor de tópicos na Interface Web do Essbase ou use o Smart View. Para especificar a ordem de resolução para um membro calculado, você pode usar o parâmetro solve_order na Com Seção de uma consulta MDX.
O valor da propriedade da ordem de resolução determina a prioridade com a qual o Essbase calcula as fórmulas. As fórmulas dos membros que têm uma ordem de resolução especificada são calculadas na ordem da ordem de resolução mais baixa para a mais alta. Você pode especificar uma ordem de resolução entre 0 e 127. O padrão é 0.
Você pode especificar a ordem de resolução no nível do membro ou no nível da dimensão. O Essbase usa as seguintes informações para definir a precedência de cálculo:
-
Ordem de resolução do membro
-
Ordem de resolução de dimensão (membros sem fórmulas para as quais você não especifica uma ordem de resolução de membro herdam a ordem de resolução de sua dimensão. Os membros com fórmulas para as quais você não especifica uma ordem de resolução de membro têm uma ordem de resolução igual a zero.)
Se vários membros tiverem a mesma ordem de resolução, os membros serão avaliados na ordem inversa em que suas dimensões ocorrerem no outline. O membro que ocorre mais tarde no outline tem precedência.
A ordem de cálculo da situação de vínculo é diferente para membros calculados definidos em uma consulta MDX para cubos de armazenamento em blocos.
Observação:
Quando uma fórmula do membro depende do valor de outro membro, o membro com a fórmula deve ter uma ordem de resolução maior do que a do membro ou dos membros dos quais depende. Por exemplo, na estrutura ASOSamp.Basic, a Média de Unidades/Transação depende do valor de Unidades e de Transações. A Média de Unidades/Transação deve ter uma ordem de resolução maior que Unidades e Transações.
Exemplo Usando a Propriedade Solve Order
O exemplo a seguir é baseado no cubo ASOSamp.Basic. Para remover a ambiguidade nos resultados da consulta, o exemplo usa a propriedade da ordem de resolução para especificar a prioridade de cálculo necessária.
A consulta de planilha mostrada abaixo recupera dados para o número de unidades vendidas e o número de transações para janeiro do ano atual e para janeiro do ano anterior. O membro Variação mostra a diferença entre o ano atual e o ano anterior. O membro Média de Unidades/Transação mostra uma proporção do número de unidades vendidas por transação.
Figura 37-5 Resultados da Consulta de Planilha do cubo ASOSamp.Basic Mostrando a Variação Entre Duas Razões (C12)

A imagem a seguir mostra a estrutura do cubo para esses membros e as fórmulas aplicadas aos membros Variação e Média de Unidades/Transação.
Figura 37-6 ASOSamp.Cubo Básico Mostrando as Dimensões de Medidas, Anos e Tempo

Ao calcular a variação da média de unidades por transação (célula C12 no exemplo da planilha), o resultado pode ser a variação entre as duas proporções ou o resultado pode ser a proporção das duas variações. O resultado depende de o Essbase dar precedência à fórmula na Variação ou à fórmula na Média de Unidades/Transação.
O valor da propriedade da ordem de resolução, que é anexada aos membros no outline, determina a prioridade com a qual o Essbase avalia as fórmulas. Quanto maior for a configuração da ordem de resolução, mais tarde será a ordem em que o membro será calculado. Por exemplo, uma fórmula com uma ordem de resolução de 1 é resolvida antes que um membro com uma ordem de resolução de 2.
No exemplo, se o membro Variação tiver uma ordem de resolução menor que o membro Média de Unidades/Transação, a fórmula no membro Variação terá precedência e o resultado será a variação entre dois índices. Esse é o caso no cubo ASOSamp.Basic, porque a ordem de resolução do membro Variance é 10 e a ordem de resolução do membro Média de Unidades/Transação é 20. A fórmula em Variação tem precedência, porque o membro Variação tem a ordem de resolução mais baixa. O resultado da célula C12 da consulta no exemplo da planilha é a variação entre as duas proporções, conforme mostrado na tabela abaixo:
Tabela 37-4 Usando a Propriedade Resolver Ordem para Especificar a Variação Entre Duas Proporções
| Membro | Ordem de Resolução | Fórmula | Resultado da Interseção de Variância e Média de Unidades/Transação (célula C12) |
|---|---|---|---|
|
Variação |
10 |
Ano atual - Ano anterior |
Média de unidades/transação do ano atual - média de unidades/transação do ano anterior 0,94894382 (célula C6) - 0,954252111 (célula C9) = -0,005308291 (célula C12) |
|
Média de unidades/transação |
20 |
Unidades/Transações |
Como alternativa, se você alterar o cubo ASOSamp.Basic e der ao membro Média de Unidades/Transação uma ordem de resolução inferior à do membro Variação, a fórmula no membro Média de Unidades/Transação terá precedência, e o resultado será a proporção de duas variações, conforme mostrado no exemplo de tabela e planilha abaixo:
Tabela 37-5 Usando a Propriedade Resolver Ordem para Especificar a Razão de Duas Variações
| Membro | Ordem de Resolução | Fórmula | Resultado da Interseção de Variância e Média de Unidades/Transação (célula C12) |
|---|---|---|---|
|
Variação |
20 |
Ano atual - Ano anterior |
Variação (ano atual para ano anterior) de unidades / variação de transações 10585 (célula C10) / 11340 (célula C11) = 0,933421517 (célula C12) |
|
Média de unidades/transação |
10 |
Unidades/Transações |
Figura 37-7 Resultados da Consulta de Planilha do Cubo ASOSamp.Basic Mostrando a Razão de Duas Variações (C12)
