Funciones Relacionadas con los Miembros

Utilice las funciones de miembro de Essbase en las fórmulas para especificar listas y rangos de miembros, generar listas de miembros, manipular nombres de miembros y trabajar con combinaciones de miembros en todas las dimensiones.

Especificar listas de miembros y rangos

Al utilizar algunas funciones de cálculo de Essbase, puede que necesite introducir una lista de miembros de esquema y/o un rango de miembros. Las listas pueden ser listas separadas por comas de nombres de miembros literales o pueden ser devueltas por funciones de cálculo. Los rangos se pueden especificar con sintaxis de dos puntos o pueden ser devueltos por funciones de cálculo.

Por ejemplo, la función @ISMBR prueba si un miembro que se está calculando coincide con cualquiera de una lista o rango de miembros especificados.

En la siguiente tabla, se muestra la sintaxis para especificar miembros:

Tabla 17-8 Sintaxis para especificar listas y rangos de miembros

Lista o rango de miembros Sintaxis

Un Miembro

El nombre del miembro.

Por ejemplo:

Mar2001

La lista de miembros

Lista de nombres de miembros delimitada por comas (,).

Por ejemplo:

Mar2001, Apr2001, May2001

Un rango de todos los miembros en el mismo nivel, entre e incluyendo los dos miembros que definen

Los dos nombres de miembros que definen separados por dos puntos (:). Por ejemplo:

Jan2000:Dec2000

Un rango de todos los miembros de la misma generación, entre los dos miembros que definen

Los dos nombres de miembros que definen separados por dos puntos (::).

Por ejemplo:

Q1_2000::Q4_2000

Una lista generada por funciones de miembros o un rango de miembros

Para obtener una lista del contenido de la lista de miembros y las funciones correspondientes, consulte Generar listas de miembros.

Una combinación de rangos y lista

Separe cada rango, lista y función con una coma (,).

Por ejemplo:

Q1_97::Q4_98, FY99, FY2000

o bien,

@SIBLINGS(Dept01), Dept65:Dept73, Total_Dept

Si no especifica una lista de miembros o un rango de miembros en una función que lo requiera, Essbase utiliza los miembros de nivel 0 de la dimensión etiquetada como tiempo. Si no se etiqueta ninguna dimensión como hora, Essbase muestra un mensaje de error.

Generar listas de miembros

Las funciones de conjunto de miembros de Essbase permiten generar listas de miembros basadas en una lista de miembros o miembros especificada.

Tabla 17-9 Lista de funciones de juego de miembros

Función Contenido de la lista de miembros

@ALLANCESTORS

Todos los ascendientes del miembro especificado, incluidos los ascendientes de cualquier miembro especificado como miembro compartido. Esta función no incluye el miembro especificado.

@IALLANCESTORS

Todos los antecesores del miembro especificado, incluidos los antecesores del miembro especificado como miembro compartido. Esta función incluye el miembro especificado.

@ANCEST

El ascendiente del miembro especificado en la generación o nivel especificados

@ANCESTORS

Todos los ascendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificados), pero no el miembro especificado

@IANCESTORS

Todos los ascendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificado), incluido el miembro especificado

@LANCESTORS

Todos los ascendientes de la lista de miembros especificada (opcionalmente, hasta la generación o el nivel especificados), pero sin incluir los miembros especificados

@ILANCESTORS

Todos los ascendientes de la lista de miembros especificada (opcionalmente, hasta la generación o el nivel especificados), incluidos los miembros especificados

@ATRIBUTO

Todos los miembros de dimensión base que están asociados al miembro de dimensión de atributo especificado

@WITHATTR

Todos los miembros base asociados a atributos que cumplen las condiciones especificadas

@BETWEEN

Todos los miembros cuyo valor del nombre de cadena queda entre dos tokens de cadena especificados, ambos incluidos.

@CHILDREN

Todos los hijos del miembro especificado, pero sin incluir el miembro especificado

@ICHILDREN

Todos los hijos de un miembro especificado, incluido el miembro especificado

@CURRMBR

El miembro actual que se está calculando para la dimensión especificada

@DESCENDANTS

Todos los descendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificados), pero no el miembro especificado ni los descendientes de los miembros compartidos

@IDESCENDANTS

Todos los descendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificados), incluido el miembro especificado, pero no los descendientes de los miembros compartidos

@LDESCENDANTS

Todos los descendientes de la lista de miembros especificada (opcionalmente, hasta la generación o el nivel especificados), pero sin incluir los miembros especificados

@ILDESCENDANTS

Todos los descendientes de la lista de miembros especificada (opcionalmente, hasta la generación o el nivel especificados), incluidos los miembros especificados

@RDESCENDANTS

Todos los descendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificados), incluidos los descendientes de los miembros compartidos, pero no el miembro especificado

@IRDESCENDANTS

Todos los descendientes del miembro especificado (opcionalmente, hasta la generación o el nivel especificados), incluidos el miembro especificado y los descendientes de los miembros compartidos

@EQUAL

Nombres de miembros que coinciden con el nombre del token especificado

@NOTEQUAL

Nombres de miembros que no coinciden con el nombre del token especificado

@EXPAND

Expande una búsqueda de usuarios mediante la llamada a una función de conjunto de usuarios para cada miembro de una lista de miembros.

@GENMBRS

Todos los miembros de la generación especificada en la dimensión especificada

@LEVMBRS

Todos los miembros del nivel especificado en la dimensión especificada

@LIKE

Nombres de miembros que coinciden con el patrón especificado.

@LIST

Listas separadas de miembros que deben procesar las funciones que requieren varios argumentos de lista

@COINCIDENCIA

Todos los miembros que coinciden con la selección de comodines especificada

@MBRCOMPARE

Nombres de miembros que coinciden con los criterios de comparación

@MBRCOMPARE

Principal del miembro especificado

@MIEMBRO

El miembro con el nombre que se proporciona como cadena de caracteres

@MERGE

Una lista de dos listas fusionadas de miembros procesadas por otra función

@PARENT

Padre del miembro actual que se va a calcular en la dimensión especificada

@RANGO

Lista de miembros que cruza el miembro especificado de una dimensión con el rango de miembros especificado de otra dimensión

@ELIMINAR

Lista de miembros de los que se han eliminado algunos miembros

@RELATIVE

Todos los miembros del nivel o generación especificados que están por encima o por debajo del miembro especificado

@COMPARTIR

Lista de miembros que identifica todos los miembros compartidos entre los miembros especificados

@SIBLINGS

Todos los hermanos del miembro especificado, pero no el miembro especificado

@ISIBLINGS

Todos los hermanos del miembro especificado, incluido el miembro especificado

@LSIBLINGS

Todos los hermanos que preceden al miembro especificado en el esquema de la base de datos, pero no al miembro especificado

@RSIBLINGS

Todos los hermanos que siguen el miembro especificado en el esquema de la base de datos, pero no el miembro especificado

@ILSIBLINGS

Todos los hermanos que preceden al miembro especificado en el esquema de la base de datos, incluido el miembro especificado

@IRSIBLINGS

Todos los hermanos que siguen el miembro especificado en el esquema de la base de datos, incluido el miembro especificado

@SHIFTSIBLING

El hermano a la distancia especificada del miembro

@NEXTSIBLING

El siguiente, o más a la derecha, hermano del miembro

@PREVSIBLING

El hermano anterior o el más a la izquierda del miembro

@UDA

Todos los miembros que tienen un ADU común definido en el servidor de Essbase

@XRANGE

Lista de miembros que identifica el rango de miembros entre (e incluyendo) dos miembro individuales o interdimensionales especificados en el mismo nivel

Manipulación de nombres de miembros

Puede trabajar con nombres de miembros de Essbase como cadenas de caracteres en las fórmulas de almacenamiento de bloques y los scripts de cálculo.

En la siguiente tabla se muestran las funciones de manipulación de cadenas de caracteres:

Tabla 17-10 Lista de funciones de manipulación de cadenas de caracteres

Función Manipulación de cadena de caracteres

@CONCATENATE

Crear una cadena de caracteres que sea el resultado de agregar un nombre de miembro o una cadena de caracteres especificada a otro nombre de miembro o cadena de caracteres

@NAME

Devolver un nombre de miembro como una cadena

@SUBSTRING

Devolver una subcadena de caracteres de otra cadena de caracteres o de un nombre de miembro

Trabajo con combinaciones de miembros en distintas dimensiones

Los operadores multidimensionales -> en las fórmulas de Essbase son una forma de hacer referencia a los valores de datos multidimensionales de combinaciones de miembros específicas. El comando FIX puede ser mejor para el rendimiento.

Utilice el operador multidimensional para apuntar a valores de datos de combinaciones de miembros específicas. Cree el operador multidimensional mediante un guión (-) y un símbolo mayor que (>). No incluya un espacio entre el operador tridimensional y los miembros.

Note:

El uso del operador multidimensional puede tener implicaciones significativas en el rendimiento. Para obtener directrices de optimización, consulte Operadores multidimensionales en fórmulas de miembros.

A continuación se muestra una ilustración simplificada de un cubo multidimensional, en el que Jan es la primera columna del eje X, Sales es la cuarta y la primera fila del eje Y, y Actual es la primera fila del eje Z. En este ejemplo, Sales -> Jan -> Real es la intersección de un único valor de datos.

Figura 17-2 Especificación de un Valor de Datos Único


En esta imagen se muestra un cubo, en el que se muestra la intersección de un único valor de datos, como se describe en el texto anterior a la tabla.

El siguiente ejemplo, que asigna gastos varios a cada producto en cada mercado, ilustra cómo utilizar el operador multidimensional. El valor de Misc_Expenses para todos los productos en todos los mercados es conocido. La fórmula asigna un porcentaje del valor total de Misc_Expenses a cada combinación de producto -> mercado. La asignación se basa en el valor de Ventas para cada producto en cada mercado.

Misc_Expenses = Misc_Expenses -> Market -> Product * 
   (Sales / ( Sales -> Market -> Product));

Essbase recorre la base de datos realizando los siguientes cálculos:

  1. Divide el valor de Ventas para la combinación de miembros actual por el valor de Ventas total para todos los mercados y todos los productos (Ventas -> Mercado -> Producto).

  2. Multiplica el valor calculado en el paso 1 por el valor Misc_Expenses para todos los mercados y todos los productos (Misc_Expenses -> Market -> Product).

  3. Asigna el resultado a Misc_Expenses para la combinación de miembros actual.