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.

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:

Mar2001

Uma lista de membros

Uma lista de nomes de membros delimitados por vírgulas (,).

Por exemplo:

Mar2001, Apr2001, May2001

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:

Jan2000:Dec2000

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:

Q1_2000::Q4_2000

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:

Q1_97::Q4_98, FY99, FY2000

ou

@SIBLINGS(Dept01), Dept65:Dept73, Total_Dept

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

@ALLANCESTORS

Todos os antecessores do membro especificado, incluindo antecessores do membro especificado como um membro compartilhado. Esta função não inclui o membro especificado.

@IALLANCESTORS

Todos os antecessores do membro especificado, incluindo antecessores do membro especificado como um membro compartilhado. Esta função inclui o membro especificado.

@ANCEST

O antecessor do membro especificado no nível ou geração especificada

@ANCESTORS

Todos os antecessores do membro especificado (opcionalmente, até o nível ou a geração especificada), mas não o membro especificado

@IANCESTORS

Todos os antecessores do membro especificado (opcionalmente, até a geração ou nível especificado), incluindo o membro especificado

@LANCESTORS

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

@ILANCESTORS

Todos os antecessores da lista especificada de membros (opcionalmente, até a geração ou nível especificado), incluindo os membros especificados

@ATRIBUTO

Todos os membros da dimensão-base associados ao membro da dimensão-atributo especificado

@WITHATTR

Todos os membros base associados a atributos que atendem às condições especificadas

@BETWEEN

Todos os membros cujo valor da string do nome caia entre dois tokens de string especificados e os inclui.

@CHILDREN

Todos os filhos do membro especificado, mas não incluindo o membro especificado

@ICHILDREN

Todos os filhos do membro especificado, incluindo o membro especificado

@CURRMBR

O membro atual sendo calculado para a dimensão especificada

@DESCENDANTS

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

@IDESCENDANTS

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

@LDESCENDANTS

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

@ILDESCENDANTS

Todos os descendentes da lista de membros especificada (opcionalmente, até a geração ou o nível especificado), incluindo os membros especificados

@RDESCENDANTS

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

@IRDESCENDANTS

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

@EQUAL

Nomes de membro que correspondem ao nome do token especificado

@NOTEQUAL

Nomes de membro que não correspondem ao nome do token especificado

@EXPAND

Expande uma pesquisa de membro, chamando uma função de conjunto de membro para cada membro em uma lista de membros

@GENMBRS

Todos os membros da geração especificada na dimensão especificada

@LEVMBRS

Todos os membros do nível especificado na dimensão especificada

@LIKE

Nomes de membro que correspondem ao padrão especificado.

@LISTA

Listas separadas de membros a serem processadas por funções que exigem vários argumentos de lista

@CORRESPONDÊNCIA

Todos os membros que correspondem à seleção de curinga especificada

@MBRCOMPARE

Nomes de membro que correspondem aos critérios de comparação

@MBRCOMPARE

Pai do membro especificado

@MEMBRO

O membro com o nome fornecido como uma string de caracteres

@MERGE

Uma lista mesclada de duas listas de membro a serem processadas por outra função

@PARENT

O pai do membro atual sendo calculado na dimensão especificada

@RANGE

Lista de membro que cruza o membro especificado de uma dimensão com a faixa de membro especificada de outra dimensão

@REMOVER

Uma lista de membros dos quais alguns membros foram removidos

@RELATIVE

Todos os membros da geração ou do nível especificado que estão acima ou abaixo do membro especificado

@COMPARTILHAR

Uma lista de membros que identifica todos os membros compartilhados entre os membros especificados

@SIBLINGS

Todos os irmãos do membro especificado, mas não o membro especificado

@ISIBLINGS

Todos os irmãos do membro especificado, incluindo o membro especificado

@LSIBLINGS

Todos os irmãos que precedem o membro especificado no outline do banco de dados, mas não o membro especificado

@RSIBLINGS

Todos os irmãos que seguem o membro especificado no outline do banco de dados, mas não o membro especificado

@ILSIBLINGS

Todos os irmãos que precedem o membro especificado no outline do banco de dados, incluindo o membro especificado

@IRSIBLINGS

Todos os irmãos que seguem o membro especificado no outline do banco de dados, incluindo o membro especificado

@SHIFTSIBLING

O irmão na distância especificada do membro

@NEXTSIBLING

O próximo, ou mais à direita, irmão do membro

@PREVSIBLING

O irmão anterior, ou mais à esquerda, do membro

@UDA

Todos os membros que têm um UDA comum definido no Essbase Server

@XRANGE

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

@CONCATENATE

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

@NAME

Retornar um nome de membro como uma string

@SUBSTRING

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


Esta imagem mostra um cubo, no qual a interseção de um único valor de dados é mostrada, conforme descrito no texto que precede a tabela.

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:

  1. 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).

  2. Multiplica o valor calculado na etapa 1 pelo valor Misc_Expenses para todos os mercados e todos os produtos (Misc_Expenses -> Mercado -> Produto).

  3. Aloca o resultado para Misc_Expenses para a combinação de membros atual.