Definir Cálculos do Essbase
Os cálculos são essenciais para derivar determinados tipos de dados. Os dados derivados de um cálculo são chamados de dados calculados, enquanto os dados de origem não calculados são chamados de dados de entrada. Saiba como usar consolidação, tags de contas, fórmulas, funções e Cálculo Dinâmico para definir a lógica de cálculo ideal para o banco de dados do Essbase.
Os tópicos a seguir usam as dimensões Produto e Medidas do aplicativo TBC para ilustrar vários tipos de cálculos comuns encontrados em muitos bancos de dados do Essbase.
Consolidação de Dimensões e Membros
Quando você define membros de dimensões padrão, o Essbase marca automaticamente os membros com o operador de consolidação + (sinal de mais que representa a adição), o que significa que durante a consolidação os membros são adicionados para derivar o valor do pai. Conforme apropriado, você pode alterar uma propriedade de consolidação de membro.
A consolidação é o cálculo mais usado no Essbase. Este tópico usa a dimensão Produto para ilustrar consolidações.
O aplicativo TBC tem vários caminhos de consolidação:
-
Produtos individuais agregados para famílias de produto e famílias de produto consolidadas em Produto. O outline do TBC também requer vários caminhos de consolidação; alguns produtos devem ser consolidados em várias categorias.
-
Os Estados se acumulam em regiões e as regiões se consolidam no Mercado.
-
Os meses são acumulados em trimestres e os trimestres são consolidados em Ano.
Os operadores de consolidação definem como o Essbase acumula dados de cada membro em uma ramificação para o pai. Por exemplo, usando o operador de adição (+) padrão, o Essbase adiciona 100‑10, 100‑20 e 100‑30 e armazena o resultado no pai, 100, conforme mostrado abaixo.
Figura 1-7 Dimensão do Produto TBC

A dimensão Produto contém principalmente operadores de adição (+), que indicam que cada grupo de membros é adicionado e sumariado para o pai. Diet tem um operador de til (~), o que indica que o Essbase não inclui o membro Diet na consolidação para o pai, Produto. O membro da Dieta consiste inteiramente de membros que são compartilhados. O grupo de gerenciamento de produtos TBC quer ser capaz de isolar bebidas Diet em relatórios, então a TBC criou um membro Diet separado que não afeta a consolidação geral.
Efeito da Posição e do Operador na Consolidação
O Essbase calcula os dados de uma ramificação em ordem descendente. Por exemplo, se você tiver, em ordem, dois membros marcados com um operador de adição (+) e um terceiro membro marcado com um operador de multiplicação (*), o Essbase adicionará os dois primeiros e multiplicará essa soma pelo terceiro.
Como o Essbase sempre começa com o membro superior quando ele se consolida, a ordem e os rótulos dos membros são importantes.
Consolidação de Membros Compartilhados
Os membros compartilhados também afetam os caminhos de consolidação. O conceito de membro compartilhado permite que dois membros com o mesmo nome compartilhem os mesmos dados. O membro compartilhado armazena um ponteiro para os dados contidos no outro membro, portanto, o Essbase armazena os dados apenas uma vez. Os membros compartilhados devem estar na mesma dimensão. Os dados podem ser compartilhados por vários membros.
Lista de Verificação para Consolidação
Use a seguinte lista de verificação para ajudar a definir a consolidação:
-
Você identificou as consolidações no esquema?
-
Você marcou cada membro com o operador de consolidação adequado?
-
Você especificou uma tag de membro compartilhada para membros designados?
-
Os membros compartilhados seriam mais eficientes se fossem projetados em uma dimensão de atributo (diferente de compartilhada)?
Tags e Operadores na Dimensão de Medidas de Exemplo
A dimensão Medidas, que é marcada como Contas, é a dimensão mais complexa no contorno fictício do TBC, porque usa dados de tempo e contas. Ele também contém fórmulas e tags especiais para ajudar o Essbase a calcular o outline.
Examine as tags de dimensão Medidas definidas pelo TBC. Muitas das propriedades da dimensão Medidas são discutidas em tópicos anteriores: adição (+), subtração (–) e nenhum operador de consolidação (~), e contas e etiquetas somente de rótulo:
-
Os nomes dos membros Inventário e Índices ajudam o usuário na navegação de dados. Eles não contêm dados e, portanto, recebem uma tag somente de rótulo.
-
A própria dimensão Medidas tem uma tag somente rótulo. Alguns membros de Medidas têm uma tag Cálculo Dinâmico.
-
Alguns membros de Medidas têm uma tag de saldo de tempo (TB Primeiro ou TB Último).
Figura 1-8 Dimensão de Medidas TBC

Cálculos de Dimensão de Contas
A dimensão do Essbase marcada como contas pode usar propriedades especiais que afetam os cálculos. As tags ou propriedades do saldo de tempo fornecem instruções ao Essbase sobre como calcular contas que dependem do período. As propriedades de relatório de variação definem como o Essbase calcula a diferença entre dados reais e de orçamento.
Este tópico discute duas formas de cálculo para uma dimensão marcada como contas.
Propriedades do Equilíbrio de Tempo
Para usar tags/propriedades de saldo no tempo, você precisa de uma dimensão marcada como contas e uma dimensão marcada como tempo. As primeiras, últimas, médias e etiquetas de despesa estão disponíveis exclusivamente para uso com membros da dimensão de contas.
Na dimensão Medidas de TBC, os dados do Inventário de Abertura representam o inventário que o TBC transporta no início de cada mês. O valor trimestral do Inventário de Abertura é igual ao valor de Abertura do primeiro mês do trimestre. Abrir estoque requer a tag de saldo de tempo, TB primeiro.
Os dados de Inventário Final representam o inventário que o TBC transporta no final de cada mês. O valor trimestral do Inventário Final é igual ao valor final do último mês do trimestre. O Inventário Final requer a tag de saldo de tempo, TB por último. A tabela a seguir define as tags de saldo de tempo para a dimensão de contas.
Tabela 1-6 Tags de Membro de Contas
| Marcas | Descrição |
|---|---|
|
Último Saldo de Horas |
O valor do último membro filho é transportado para o pai. Por exemplo, março é transportado para Trim1. |
|
Primeiro Saldo de Horas |
O valor do primeiro filho é transportado para o pai. Por exemplo, Jan é transportado para Qtr1. |
Na tabela a seguir, Trim1 (segunda coluna da direita) e Ano (coluna da extremidade direita) mostram como a consolidação na dimensão de tempo é afetada pelas propriedades de saldo de tempo na dimensão de contas. Os dados são mostrados somente para o primeiro trimestre.
Tabela 1-7 Consolidações TBC Afetadas pelas Propriedades do Saldo de Tempo
| Dimensões | Jan | Fev | Mar | Trim1 | Year |
|---|---|---|---|---|---|
|
Membro de Contas1 |
11 |
12 |
13 |
36 |
Trim1 + Trim2 + Trim3 + Trim4 |
|
Contas Membro 2 (TB Primeiro) |
20 |
25 |
21 |
20 |
20 |
|
Contas Membro 3 (Último TB) |
25 |
21 |
30 |
30 |
Valor de trim4 |
Normalmente, o cálculo de um pai na dimensão de tempo é baseado na consolidação e nas fórmulas dos filhos do pai. No entanto, se um membro em uma ramificação de contas estiver marcado como TB Primeiro, qualquer pai na dimensão de tempo corresponderá ao membro marcado como TB Primeiro.
Para obter exemplos, consulte Propriedades do Saldo de Tempo.
Relatório de Variação
Um requisito do TBC Essbase é a capacidade de executar relatórios de variação em dados reais versus de orçamento. O cálculo do relatório de variação requer que qualquer item que represente uma despesa para a empresa tenha uma etiqueta de relatório de despesas. Os membros de estoque, o total de despesas e o COGS recebem uma etiqueta de relatório de despesas para relatório de variação.
O Essbase fornece duas propriedades de relatório de variação — despesa e não despesa (padrão). As propriedades de geração de relatórios de variação definem como o Essbase calcula a diferença entre dados reais e de orçamento em membros com a função @VAR ou @VARPER em suas fórmulas de membro.
Quando você marca um membro como despesa, a função @VAR calcula Orçamento – Real. Por exemplo, se o valor orçado for $100 e o valor real for $110, a variação será -10.
Sem a etiqueta de relatório de despesas, a função @VAR calcula Real – Orçamento. Por exemplo, se o valor orçado for $100 e o valor real for $110, a variação será 10.
Fórmulas e Funções
As fórmulas calculam relacionamentos entre membros no outline do Essbase. É possível aplicar fórmulas a membros ou em um script de cálculo. As funções são rotinas predefinidas que executam cálculos especializados, retornando conjuntos de membros ou valores de dados. As fórmulas compreendem operadores e funções, bem como nomes de dimensão, nomes de membros e constantes numéricas.
O Essbase suporta os seguintes operadores:
-
Operadores matemáticos que executam operações aritméticas
-
Operadores condicionais, que criam condições lógicas em cálculos
-
Operadores multidimensionais que apontam para valores de dados de combinações específicas de membros do banco de dados
As funções do Essbase incluem mais de 175 rotinas predefinidas para estender os recursos de cálculo do Essbase. O Essbase inclui as seguintes funções:
-
Funções boolianas, que fornecem um teste condicional retornando um valor TRUE ou FALSE
-
Funções matemáticas que executam cálculos matemáticos especializados
-
Funções de relacionamento, que pesquisam valores de dados em um banco de dados durante um cálculo com base na posição do membro atual
-
Funções de intervalo, que declaram um intervalo de membros como um argumento para outra função ou para um comando
-
Funções financeiras que executam cálculos financeiros especializados
-
Funções do conjunto de membros, que são baseadas em um membro especificado e que geram listas de membros
-
Funções de alocação, que alocam valores que são inseridos em um nível pai entre membros filhos
-
Funções de previsão, que manipulam dados para fins de uniformização, interpolação de dados ou cálculo de valores futuros
-
Funções estatísticas, que calculam estatísticas avançadas
-
Funções de data e hora que usam características de data e hora em fórmulas de cálculo
-
Funções do modo de cálculo, que especificam o modo de cálculo que o Essbase usa para calcular uma fórmula
A dimensão Medidas usa as seguintes fórmulas:
-
Margem = Vendas – COGS
-
Total de Despesas = Marketing + Folha de Pagamento + Diversos
-
Lucro = Margem – Total de Despesas
-
Lucro % = Lucro % Vendas
-
% Margem = % Margem Vendas
-
Lucro por Onça = Lucro / @ATTRIBUTEVAL(@NAME(Ounces))
O Essbase usa operadores de consolidação para calcular os membros Margem, Total de Despesas e Lucro. A fórmula % de Margem usa um operador %, que significa "Margem Expressa como uma porcentagem de Vendas". A fórmula % de Lucro usa o mesmo operador %. A fórmula Lucro por Onça usa um operador de divisão (/) e uma função (@ATTRIBUTEVAL) para calcular a lucratividade por onça para produtos dimensionados em onças.
Observação:
Na fórmula Lucro por Onça, a função @NAME também é usada para processar a string "Onças" para a função @ATTRIBUTEVAL.
Para obter uma lista completa de operadores, funções e sintaxe, consulte Lista de Funções de Cálculo. Consulte também Desenvolver Fórmulas para Cubos de Armazenamento em Blocos.
Cálculos Dinâmicos
Ao projetar cálculos de banco de dados, você pode definir um membro como um membro do Cálculo Dinâmico. Quando você marca um membro como Cálculo Dinâmico, o Essbase calcula as combinações desse membro quando você recupera os dados, em vez de pré-calcular as combinações de membros durante o cálculo do banco de dados regular.
Os cálculos dinâmicos reduzem o tempo de cálculo do banco de dados regular, mas podem aumentar o tempo de recuperação para valores de dados calculados dinamicamente.
Na estrutura de tópicos a seguir, a dimensão Medidas de TBC contém vários membros marcados como Cálculo Dinâmico — Lucro, Margem, Despesas Totais, % de Margem e % de Lucro
Figura 1-9 Dimensão de Medidas TBC, Tags de Cálculo Dinâmico

Quando um cálculo geral do banco de dados é executado, os membros do Cálculo Dinâmico e suas fórmulas correspondentes não são calculados. Esses membros são calculados quando um usuário os consulta, por exemplo, no Smart View. O Essbase não armazena os valores consultados; ele recalcula os valores para cada consulta subsequente.
Para decidir quando calcular valores de dados dinamicamente, considere suas prioridades nas seguintes áreas:
-
Tempo de cálculo regular ideal (cálculo em lote)
-
Pouco uso de espaço em disco
-
Redução do tempo de reestruturação do banco de dados
-
Recuperação rápida de dados para usuários
-
Tempo de backup reduzido
Consulte Cálculo Dinâmico de Valores de Dados.
Cálculos em Dois Passos
A propriedade de dois passos funciona apenas em membros da dimensão do Essbase marcados como contas e em membros marcados como Cálculo Dinâmico. Este rótulo indica que algumas fórmulas de membro devem ser calculadas duas vezes para produzir o valor desejado.
No banco de dados TBC, % de Margem e % de Lucro contêm o rótulo two-pass.
O exemplo a seguir ilustra por que o % de Lucro (com base na fórmula % Vendas de Lucro) tem uma tag de dois passos. As tabelas têm cinco colunas (os cabeçalhos das colunas são rotulados da esquerda para a direita como Dimensão, Jan, Fev, Mar e Trim1) e três linhas (rotuladas como Lucro, Vendas e % de Lucro). Jan, Fev, Mar e Qtr1 são membros da dimensão Ano. Lucro, Vendas e % Lucro são membros da dimensão Medidas (contas).
O exemplo a seguir define os dados iniciais a serem carregados no Essbase. Os valores de dados para Profit -> Jan, Profit -> Feb e Profit -> Mar são 100. O valor de dados para Vendas -> Jan, Vendas -> Fev e Vendas -> Mar são 1000.
Tabela 1-8 Dados Carregados no Essbase
| Dimensão | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
|
Lucro |
100 |
100 |
100 |
N/D |
|
Sales |
1000 |
1000 |
1000 |
N/D |
|
% de lucro |
N/D |
N/D |
N/D |
N/D |
Primeiro, o Essbase calcula a dimensão Medidas. Na tabela a seguir, os valores de dados para % de Lucro -> Jan, % de Lucro -> Fev e % de Lucro -> Mar são 10%.
Tabela 1-9 Dados Depois que o Essbase Calcula a Dimensão de Medidas
| Dimensão | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
|
Lucro |
100 |
100 |
100 |
|
|
Sales |
1000 |
1000 |
1000 |
|
|
% de lucro |
10% |
10% |
10% |
N/D |
Em seguida, o Essbase calcula a dimensão Ano. Os dados são acumulados na dimensão. Na tabela a seguir, os valores de dados para Lucro -> Trim1 (300) e Vendas -> Trim1 (3000) estão corretos. O valor de dados para % de Lucro -> Trim1 (30%) está incorreto porque % de Lucro está marcado como um cálculo de duas passagens.
Tabela 1-10 Dados Depois que o Essbase Calcula a Dimensão Year
| Dimensão | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
|
Lucro |
100 |
100 |
100 |
300 |
|
Sales |
1000 |
1000 |
1000 |
3.000 |
|
% de lucro |
10% |
10% |
10% |
30% |
O Essbase então recalcula a porcentagem de lucro em cada ocorrência do % de Lucro do membro Na tabela a seguir, o valor de dados para % de Lucro -> Trim1 (10%) está correto após a segunda passagem.
Tabela 1-11 Dados Após o Essbase Recalcular Porcentagem de Lucro
| Dimensão | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
|
Lucro |
100 |
100 |
100 |
300 |
|
Sales |
1000 |
1000 |
1000 |
3.000 |
|
% de lucro |
10% |
10% |
10% |
10% |
Lista de Verificação para Cálculos
Use a seguinte lista de verificação ao criar um cálculo de armazenamento em bloco (BSO) do Essbase:
-
A lógica de cálculo padrão obtém resultados precisos?
-
Quais membros exigem fórmulas?
-
Quais membros exigem tags de saldo de tempo?
-
Quais membros precisam de relatórios de variação?
-
Quais membros exigem cálculo de duas passagens?
-
Quais membros podem ser marcados como Cálculo Dinâmico?