Orden de resolución en fórmulas de miembro

SolveOrder es una propiedad de metadatos que se puede definir para una dimensión o un miembro que define el orden de la evaluación de miembros. El orden de resolución se aplica durante la ejecución de la consulta.

SolveOrder puede afectar al rendimiento de la consulta. El valor de la propiedad SolveOrder determina la prioridad con la que se calcula la fórmula de miembro. La fórmula en los miembros que tienen un orden de resolución especificado se calcula en orden desde el orden de resolución más bajo al más alto. Cuando una fórmula de miembro depende del valor de otro miembro Cálculo dinámico, el miembro con la fórmula debe tener un orden de resolución más alto que el miembro Cálculo dinámico del que depende.

Tabla 12-15 Configuración de orden de resolución predeterminada

Tipo de dimensión Valor de SolveOrder predeterminado
Miembro almacenado 0
Dimensión ligera 10
Dimensión densa: Cuenta 30
Dimensión densa: Tiempo 40
Dimensión densa: Cuenta de dos pasadas 60
Dimensión densa: Tiempo de dos pasadas 70
Dos pasadas 100
Dimensión de atributo 90

Si una fórmula de miembro ligero hace referencia a un miembro denso con almacenamiento de datos ‘DynamicCalc’, se omite esta referencia ya que, de forma predeterminada, se calculan primero las dimensiones ligeras (SolveOrder predeterminado ligero: 10, SolveOrder predeterminado de cuenta densa: 30). Este comportamiento se puede cambiar asignando un orden de resolución a la dimensión ligera que sea más alto que el orden de resolución de la dimensión densa.

Ejemplo:

Considere el siguiente ejemplo con miembros con diferentes SolveOrder y la valoración correspondiente.

Dimension1:

  • Cuentas

  • A1

  • A2

  • Ratio – fórmula de miembro [A1 / A2]

Dimension2:

  • DataSource

  • DataInput

  • CustomInput

  • Varianza – fórmula de miembro [DataInput - CustomInput]

Considere el siguiente conjunto de datos para las intersecciones para el período de enero:


Ejemplo de orden de resolución de enero

Cálculos con diferentes SolveOrder para ratio y varianza

Caso 1: Ratio con un SolveOrder más alto que la varianza

En este caso, la varianza se calculará primero y, después, el ratio correspondiente.


Ejemplo de ratio de orden de resolución

El ratio de la varianza se calculará como (Varianza->A1)/(Varianza->A2).


Ejemplo de ratio y varianza

Caso 2: Ratio con un SolveOrder más bajo que la varianza

En este caso, el ratio se calculará primero y, después, la varianza correspondiente.


Ejemplo de ratio más bajo que la varianza

La varianza del ratio de calculará como (Ratio->DataInput) – (Ratio->CustomInput).


Ejemplo de ratio más bajo que la varianza