Cálculo de tuplas seleccionadas

Mediante la selección de tuplas, puede enfocar los cálculos de Essbase en la cuadrícula de Smart View activa limitando su ámbito a segmentos de datos específicos en el cubo de almacenamiento de bloques.

En las siguientes secciones se describe el cálculo de tuplas.

Para obtener información sobre la sintaxis para emplear @GRIDTUPLES en un script de cálculo, consulte FIX…ENDFIX.

Caso de uso de cálculo de tupla

Mediante la selección de tuplas, puede enfocar los cálculos de Essbase en la cuadrícula de Smart View activa limitando su ámbito a segmentos de datos específicos en el cubo de almacenamiento de bloques.

La selección de tuplas ayuda a optimizar los cálculos de cuadrículas asimétricas entre dimensiones, evitando así tener que hacer cálculos innecesarios.

El cálculo de tuplas de Essbase es diferente al de las tuplas que se utilizan en consultas MDX. El rendimiento del cálculo y el tamaño del cubo están determinados principalmente por el número de bloques del cubo (según un tamaño de bloque específico). Por este motivo, las tuplas de cálculo solo están especificadas por las combinaciones de miembros ligeros. Además, para facilitar los scripts de cálculo, se pueden incluir varios miembros de una dimensión ligera única en una especificación de tupla de cálculo. Por ejemplo, si especifica ("New York", "California", "Actual", "Cola") como una tupla de cálculo, estará calculando las siguientes intersecciones de celdas:

"New York"->"Actual"->"Cola"
"California"->"Actual"->"Cola"

Observe la siguiente cuadrícula simétrica: Es simétrica porque todos los productos tienen los mismos mercados y escenarios (Actual) representados en la cuadrícula.

Cuadrícula simétrica con los valores Actual y Jan para cinco mercados de Cola y los mismos cinco mercados de Diet Cola

La siguiente cuadrícula es asimétrica porque el producto Diet Cola tiene menos mercados en la cuadrícula que el producto Cola.

Cuadrícula asimétrica con los valores Actual y Jan para los cinco mercados de Cola, pero solo dos mercados para Diet Cola

El ámbito de cálculo predeterminado, cuando hay más de una dimensión en una sentencia FIX o en un punto de vista (PDV) de la cuadrícula de Smart View, es calcular el producto combinado (todas las combinaciones posibles) de los miembros de la sentencia FIX o la cuadrícula. Dicho de otra forma, un cálculo determinado por el PDV, en el que las combinaciones de producto y mercado se toman de la cuadrícula, calcula todas esas combinaciones de miembros de fila.

Cola->"New York"
Cola->"Massachusetts"
Cola->"Florida"
Cola->"Connecticut"
Cola->"New Hampshire"
"Diet Cola"->"New York"
"Diet Cola"->"Massachusetts"
"Diet Cola"->"Florida"
"Diet Cola"->"Connecticut"
"Diet Cola"->"New Hampshire"

Esto puede implicar más actividad de cálculo de la necesaria. Si le interesa calcular solo las combinaciones que se muestran en la cuadrícula, puede especificar qué tuplas desea calcular y limitar el cálculo a una porción más pequeña. El cálculo de tuplas también puede reducir el tiempo de cálculo y el tamaño de los cubos.

Cola->"New York"
Cola->"Massachusetts"
Cola->"Florida"
Cola->"Connecticut"
Cola->"New Hampshire"
"Diet Cola"->"New York"
"Diet Cola"->"Florida"

Descripción del cálculo basado en tuplas

Una tupla de cálculo es una manera de representar una porción de datos de miembros, desde dos o más dimensiones ligeras, que se utilizará en un cálculo de almacenamiento de bloques de Essbase.

Ejemplos de tuplas de cálculo válidas:

  • ("Diet Cola", "New York")
  • ("Diet Cola", "Cola", Florida)
  • (Cola, "New Hampshire")

Si escribe expresiones MDX, tenga en cuenta las siguientes restricciones de tupla que se aplican a MDX:

  • En una tupla MDX, solo se puede incluir un único miembro de cada dimensión.
  • Todas las tuplas en un juego MDX deben tener las mismas dimensiones representadas en el mismo orden.

No obstante, si selecciona tuplas en scripts de cálculo, estos requisitos se relajan según convenga. Puede escribir expresiones de tupla de forma libre, y las tuplas pueden describir listas de miembros, como se muestra en la siguiente tupla: (@Children(East), Cola).

Selección de tuplas para el cálculo de puntos de vista

Una forma fácil de seleccionar tuplas es insertarlas de forma explícita en un script de cálculo, como una lista dentro de la sentencia FIX.

Recordemos que el formato de una sentencia FIX es el siguiente:

FIX (fixMbrs)
COMMANDS ;
ENDFIX

En la siguiente sentencia FIX, se han especificado dos tuplas antes de que comience el bloque de comandos. Las tuplas aparecen entre llaves { } para delimitar un conjunto, que representa un grupo de tuplas.

FIX({
  (@Children(East), Cola),
  ("New York", Florida, "Diet Cola")
  })
Sales (Sales = Sales + 10;);
ENDFIX

Otra forma de seleccionar las tuplas es hacerlo de forma contextual, en función de los miembros que estén presentes en el PDV de la cuadrícula de Smart View en el tiempo de ejecución del cálculo. Para ello, debe proporcionarse la función @GRIDTUPLES como un argumento de la sentencia FIX, en el script de cálculo.

FIX ({@GRIDTUPLES(Product, Market)})
   Sales (Sales = Sales + 10;);
ENDFIX

Si ejecuta este script de cálculo en Smart View en la siguiente cuadrícula, solo se calcularán las combinaciones de productos y mercados que se muestran. Por ejemplo, "Diet Cola"->Massachusetts no se ha calculado, ya que no se mostrada de forma explícita en la cuadrícula. Tenga en cuenta que se calcularán todos los escenarios (la tercera dimensión ligera en este cubo de ejemplo), incluso aunque solo se muestre Actual en la cuadrícula. Esto se debe a que la dimensión Escenario no forma parte de la sentencia GRIDTUPLES en el script de cálculo.

Cuadrícula asimétrica con los valores Actual y Jan para los cinco mercados de Cola, pero solo dos mercados para Diet Cola

La selección de tuplas, ya se haga utilizando listas de tuplas explícitas o la función @GRIDTUPLES, solo se aplica al contexto del comando de cálculo FIX…ENDFIX. La sintaxis de la sentencia FIX se amplía para permitir la selección de tuplas:

FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs)
COMMANDS ;
ENDFIX
  • tupleList: conjunto de tuplas separadas por comas.
  • dimensionList: al menos dos dimensiones ligeras cuyos miembros de la cuadrícula activa de Smart View se utilizan para definir las regiones de cálculo. (En scripts de cálculo, solo se pueden utilizar dimensiones ligeras para definir las tuplas).
  • fixMbrs: un miembro o lista de miembros.

Ejemplos de selección de tupla para reducir el ámbito de cálculo

Con una cuadrícula de Smart View y una sentencia FIX de script de cálculo de Essbase, puede calcular las tuplas de miembro seleccionadas en función del punto de vista (PDV) de la cuadrícula. También puede introducir de manera explícita las combinaciones de tupla en su sentencia FIX mediante la eliminación de la dependencia en una cuadrícula determinada de Smart View para definir el ámbito de cálculo.

El cálculo de tuplas seleccionadas le permite trabajar de forma eficaz con regiones asimétricas tanto en scripts de cálculo como en cuadrículas de Smart View.

Considere los siguientes ejemplos:

  • Sin selección de tupla: calcula con el método por defecto, en función del punto de vista (PDV) actual de la cuadrícula de Smart View. El cálculo no se limita a ninguna tupla específica.
  • Selección de dimensiones ligeras con nombre: calcula las tuplas de dos o varias dimensiones ligeras con nombre en un script de cálculo. El cálculo se limita a los miembros de las dimensiones de tupla que aparecen en la cuadrícula de Smart View.
  • Selección de dimensiones ligeras contextuales: calcula las tuplas de las dimensiones ligeras seleccionadas en el tiempo de ejecución. El cálculo se limita a los miembros de las dimensiones de tupla que aparecen en la cuadrícula de Smart View.

Para probar los ejemplos, descargue la plantilla del libro de trabajo CalcTuple_Tuple.xlsx ubicada en la sección Technical > Calc de la carpeta galería en el área Archivos de la interfaz web de Essbase. Para obtener instrucciones, consulte la hoja de trabajo README en el libro de trabajo.

Sin selección de tupla

Como demostración del comportamiento de cálculo predeterminado deEssbase que se produce si no selecciona tuplas, el siguiente script de cálculo calcula todas las combinaciones entre productos de los miembros de dimensión Producto y Mercado desde una cuadrícula de Smart View.

Gracias a la definición de dos variables de sustitución de tiempo de ejecución (RTSV) en el bloque SET RUNTIMESUBVARS, el cálculo se limita a los puntos de vista de Producto y Mercado que están presentes en la cuadrícula al ejecutar el cálculo desde Smart View.

SET RUNTIMESUBVARS
{
ProductGridMembers = POV
<RTSV_HINT><svLaunch>
<description>All Product's members on the grid</description>
<type>member</type>
<dimension>Product</dimension><choice>multiple</choice>
</svLaunch></RTSV_HINT>;
MarketGridMembers = POV
<RTSV_HINT><svLaunch>
<description>All Market's members on the grid</description>
<type>member</type> <dimension>Market</dimension><choice>multiple</choice>
</svLaunch></RTSV_HINT>;
};
FIX (
&ProductGridMembers, &MarketGridMembers
)
Marketing(
   Marketing = Marketing +1;
);
ENDFIX

Selección de dimensiones ligeras con nombre

Si se utiliza la función @GRIDTUPLES para seleccionar la tupla de las dimensiones Producto y Mercado, este script de cálculo de almacenamiento de bloques de Essbase solo calcula las tuplas para esas dos dimensiones y limita su ámbito a aquellos miembros que están presentes en una cuadrícula de Smart View en el momento en el que se ejecuta el cálculo desde Smart View.

FIX (
{@GRIDTUPLES(Product, Market)}
)
Marketing(
   Marketing = Marketing + 1;
);
ENDFIX

Al corregir solo las dimensiones ligeras nombradas en la tupla, el cálculo engloba un número de bloques mucho más limitado que el que se calcularía en un cálculo por defecto. No obstante, todos los miembros de las dimensiones que no se mencionen en la corrección (Año, Escenario) se calculan con este script de cálculo.

Selección de dimensiones ligeras contextuales

Con la función @GRIDTUPLES y una variable de sustitución en tiempo de ejecución, este script de cálculo de almacenamiento de bloques de Essbase solo calcula las tuplas seleccionadas en la cuadrícula en función de las selecciones de dimensión ligera en la petición de RTSV.

La variable de sustitución en tiempo de ejecución &DimSelections, que se define en el bloque SET RUNTIMESUBVARS, limita el ámbito de cálculo solo a las dimensiones ligeras del cubo, exceptuando Escenario. La función @GRIDTUPLES que se utiliza en la sentencia FIX utiliza esta variable, limitando así el número de intersecciones que se calculan.

SET RUNTIMESUBVARS
            {
            DimSelections = "Version", "Site", "Entity", "Product", "Market"
            <RTSV_HINT><svLaunch>
            <description>List two or more sparse dimensions used for forming calculation tuples:</description>
            <type>string</type>
            </svLaunch></RTSV_HINT>;
            };
            FIX (
            {@GRIDTUPLES(&DimSelections)}
            )
            Marketing(
            Marketing = Marketing + 1;
            );
            ENDFIX
        

El cálculo engloba un número de bloques incluso menor que el ejemplo anterior, ya que en este caso, la definición de tupla alcanza dimensiones ligeras más allá de Producto->Mercado.

Para probar los ejemplos, descargue la plantilla del libro de trabajo CalcTuple_Tuple.xlsx ubicada en la sección Técnico > Cálculo de la carpeta galería en el área Archivos de la interfaz web de Essbase. Para obtener instrucciones, consulte la hoja de trabajo README en el libro de trabajo.