Funções Relacionadas ao Membro
Use as funções de membro do Essbase em fórmulas para especificar listas e intervalos de membros, gerar listas de membros, manipular nomes de membros e trabalhar com combinações de membros entre dimensões.
Esta seção descreve como criar fórmulas que se referem a membros.
Especificar Listas e Faixas de Membros
Ao usar algumas funções de cálculo do Essbase, talvez seja necessário inserir uma lista de membros do outline e/ou um intervalo de membros. As listas podem ser listas separadas por vírgulas de nomes de membros literais ou podem ser retornadas por funções de cálculo. Intervalos podem ser especificados usando a sintaxe de dois-pontos ou podem ser retornados por funções de cálculo.
Por exemplo, a função @ISMBR testa para ver se um membro que está sendo calculado corresponde a qualquer lista ou intervalo de membros especificados.
A tabela a seguir lista a sintaxe para especificar membros:
Tabela 17-8 Sintaxe para Especificação de Listas e Faixas de Membros
| Lista ou Faixa de Membros | Sintaxe |
|---|---|
|
Um membro |
O nome do membro. Por exemplo: |
|
Uma lista de membros |
Uma lista de nomes de membros delimitados por vírgulas (,). Por exemplo: |
|
Um intervalo de todos os membros no mesmo nível, entre e incluindo os dois membros definidores |
Os dois nomes de membros de definição separados por dois pontos (:). Por exemplo: |
|
Um intervalo de todos os membros na mesma geração, entre e incluindo os dois membros definidores |
Os dois nomes de membros definidores separados por dois pontos (::). Por exemplo: |
|
Uma lista de membros gerada por função ou um intervalo de membros |
Para obter uma lista do conteúdo da lista de membros e das funções correspondentes, consulte Gerar Listas de Membros. |
|
Uma combinação de intervalos e lista |
Separe cada intervalo, lista e função com uma vírgula (,). Por exemplo: ou |
Se você não especificar uma lista de membros ou um intervalo de membros em uma função que exija um dos dois, o Essbase usará os membros de nível 0 da dimensão marcada como tempo. Se nenhuma dimensão for marcada como tempo, o Essbase exibirá uma mensagem de erro.
Gerar listas de membros
As funções do conjunto de membros do Essbase permitem que você gere listas de membros baseadas em um membro ou lista de membros especificada.
Tabela 17-9 Lista de Funções do Conjunto de Membros
| Função | Conteúdo da lista de membros |
|---|---|
|
Todos os antecessores do membro especificado, incluindo antecessores do membro especificado como um membro compartilhado. Esta função não inclui o membro especificado. |
|
|
Todos os antecessores do membro especificado, incluindo antecessores do membro especificado como um membro compartilhado. Esta função inclui o membro especificado. |
|
|
O antecessor do membro especificado no nível ou geração especificada |
|
|
Todos os antecessores do membro especificado (opcionalmente, até o nível ou a geração especificada), mas não o membro especificado |
|
|
Todos os antecessores do membro especificado (opcionalmente, até a geração ou nível especificado), incluindo o membro especificado |
|
|
Todos os antecessores da lista de membros especificada (opcionalmente, até a geração ou o nível especificado), mas não incluindo os membros especificados |
|
|
Todos os antecessores da lista especificada de membros (opcionalmente, até a geração ou nível especificado), incluindo os membros especificados |
|
|
Todos os membros da dimensão-base associados ao membro da dimensão-atributo especificado |
|
|
Todos os membros base associados a atributos que atendem às condições especificadas |
|
|
Todos os membros cujo valor da string do nome caia entre dois tokens de string especificados e os inclui. |
|
|
Todos os filhos do membro especificado, mas não incluindo o membro especificado |
|
|
Todos os filhos do membro especificado, incluindo o membro especificado |
|
|
O membro atual sendo calculado para a dimensão especificada |
|
|
Todos os descendentes do membro especificado (opcionalmente, até a geração ou o nível especificado), mas não o membro especificado nem os descendentes dos membros compartilhados |
|
|
Todos os descendentes do membro especificado (opcionalmente, até a geração ou o nível especificado), incluindo o membro especificado, mas não descendentes de membros compartilhados |
|
|
Todos os descendentes da lista de membros especificada (opcionalmente, até a geração ou o nível especificado), mas não incluindo os membros especificados |
|
|
Todos os descendentes da lista de membros especificada (opcionalmente, até a geração ou o nível especificado), incluindo os membros especificados |
|
|
Todos os descendentes do membro especificado (opcionalmente, até a geração ou o nível especificado), incluindo descendentes de membros compartilhados, mas não o membro especificado |
|
|
Todos os descendentes do membro especificado (opcionalmente, até a geração ou o nível especificado), incluindo o membro especificado e os descendentes dos membros compartilhados |
|
|
Nomes de membro que correspondem ao nome do token especificado |
|
|
Nomes de membro que não correspondem ao nome do token especificado |
|
|
Expande uma pesquisa de membro, chamando uma função de conjunto de membro para cada membro em uma lista de membros |
|
|
Todos os membros da geração especificada na dimensão especificada |
|
|
Todos os membros do nível especificado na dimensão especificada |
|
|
Nomes de membro que correspondem ao padrão especificado. |
|
|
Listas separadas de membros a serem processadas por funções que exigem vários argumentos de lista |
|
|
Todos os membros que correspondem à seleção de curinga especificada |
|
|
Nomes de membro que correspondem aos critérios de comparação |
|
|
Pai do membro especificado |
|
|
O membro com o nome fornecido como uma string de caracteres |
|
|
Uma lista mesclada de duas listas de membro a serem processadas por outra função |
|
|
O pai do membro atual sendo calculado na dimensão especificada |
|
|
Lista de membro que cruza o membro especificado de uma dimensão com a faixa de membro especificada de outra dimensão |
|
|
Uma lista de membros dos quais alguns membros foram removidos |
|
|
Todos os membros da geração ou do nível especificado que estão acima ou abaixo do membro especificado |
|
|
Uma lista de membros que identifica todos os membros compartilhados entre os membros especificados |
|
|
Todos os irmãos do membro especificado, mas não o membro especificado |
|
|
Todos os irmãos do membro especificado, incluindo o membro especificado |
|
|
Todos os irmãos que precedem o membro especificado no outline do banco de dados, mas não o membro especificado |
|
|
Todos os irmãos que seguem o membro especificado no outline do banco de dados, mas não o membro especificado |
|
|
Todos os irmãos que precedem o membro especificado no outline do banco de dados, incluindo o membro especificado |
|
|
Todos os irmãos que seguem o membro especificado no outline do banco de dados, incluindo o membro especificado |
|
|
O irmão na distância especificada do membro |
|
|
O próximo, ou mais à direita, irmão do membro |
|
|
O irmão anterior, ou mais à esquerda, do membro |
|
|
Todos os membros que têm um UDA comum definido no Essbase Server |
|
|
Uma lista de membros que identifica o intervalo de membros entre dois (e inclusive) membros unidimensionais ou multidimensionais especificados no mesmo nível |
Manipular Nomes de Membros
Você pode trabalhar com nomes de membros do Essbase como strings de caracteres em suas fórmulas de armazenamento em blocos e scripts de cálculo.
A tabela a seguir lista as funções de manipulação de strings de caracteres:
Tabela 17-10 Lista de Funções de Manipulação de Strings de Caracteres
| Função | Manipulação de String de Caractere |
|---|---|
|
Criar uma string de caracteres resultante do acréscimo de um nome de membro ou de uma string de caracteres especificada a outro nome de membro ou string de caracteres |
|
|
Retornar um nome de membro como uma string |
|
|
Retornar uma substring de caracteres de outra string de caracteres ou de um nome de membro |
Trabalhar com Combinações de Membros nas Dimensões
Os operadores multidimensionais -> nas fórmulas do Essbase são uma maneira de fazer referência a valores de dados multidimensionais de combinações de membros específicas. O comando FIX pode ser melhor para desempenho.
Use o operador multidimensional para apontar para valores de dados de combinações de membros específicas. Crie o operador multidimensional usando um hífen (-) e um símbolo de maior que (>). Não inclua um espaço entre o operador multidimensional e os membros.
Observação:
O uso do operador multidimensional pode ter implicações significativas no desempenho. Para obter diretrizes de otimização, consulte Operadores Multidimensionais em Fórmulas de Membros.
Abaixo está uma ilustração simplificada de um cubo multidimensional, no qual Jan é a primeira coluna no eixo X, Sales é a quarta e a mais alta linha no eixo Y e Actual é a primeira linha no eixo Z. Neste exemplo, Vendas -> Jan -> Real é a interseção de um único valor de dados.
Figura 17-2 Especificando um Único Valor de Dados

O exemplo a seguir, que aloca despesas diversas para cada produto em cada mercado, ilustra como usar o operador multidimensional. O valor de Misc_Expenses para todos os produtos em todos os mercados é conhecido. A fórmula aloca uma porcentagem do valor total de Misc_Expenses para cada combinação de Produto -> Mercado. A alocação é baseada no valor de Vendas para cada produto em cada mercado.
Misc_Expenses = Misc_Expenses -> Market -> Product * (Sales / ( Sales -> Market -> Product));O Essbase percorre o banco de dados, executando estes cálculos:
-
Divide o valor de Vendas para a combinação de membros atual pelo valor total de Vendas para todos os mercados e todos os produtos (Vendas -> Mercado -> Produto).
-
Multiplica o valor calculado na etapa 1 pelo valor Misc_Expenses para todos os mercados e todos os produtos (Misc_Expenses -> Mercado -> Produto).
-
Aloca o resultado para Misc_Expenses para a combinação de membros atual.