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:
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.
El ratio de la varianza se calculará como (Varianza->A1)/(Varianza->A2).
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.
La varianza del ratio de calculará como (Ratio->DataInput) – (Ratio->CustomInput).