ValidMeasure (MDX)

Devuelve el valor de una medida en un cubo forzando dimensiones inaplicables a su nivel All (o miembro por defecto si no es agregable) al devolver el resultado para una tupla especificada.

Sintaxis

  
ValidMeasure(Tuple_Expression)   

Argumentos

Tuple_Expression
Una expresión válida de Expresiones Multidimensionales (MDX) que devuelve una tupla.

Remarks

La función ValidMeasure devuelve el valor de una tupla, ignorando atributos que no tienen relación con el grupo de medida de la Medida cuyo valor devuelve la tupla. Un atributo puede no estar relacionado con una medida por dos razones:

  • La dimensión del atributo no tiene relación con el grupo de medidas de la medida en la tupla.

  • La dimensión del atributo no tiene relación con el grupo de medida de la medida, pero el atributo de granularidad no es el atributo clave, y el atributo de granularidad no tiene una relación directa con el atributo de la tupla.

El comportamiento especificado por esta función es el comportamiento predeterminado del lado del servidor y está controlado por la propiedad IgnoreUnrelatedDimensions en el objeto grupo de medidas.

Para cada atributo en la tupla especificada con granularidad (es decir, donde el miembro en la tupla no es el miembro de Todos), la coordenada actual de cada atributo se mueve de la siguiente manera:

  • Los atributos relacionados con el miembro especificado se trasladan al miembro que existe con el miembro actual.

  • Los atributos relacionados con el miembro especificado se mueven al miembro All (o al miembro por defecto si la jerarquía no es agregable).

  • Los atributos no relacionados se trasladan al miembro All (según la medida).

Example

La siguiente consulta muestra cómo la función ValidMeasure puede usarse para anular el comportamiento de la propiedad IgnoreUnrelatedDimensions. En el cubo Adventure Works, el grupo de medidas de Objetivos de Ventas tiene IgnoreUnrelatedDimensions configuradas en False; dado que la dimensión de Fecha se une a este grupo de medida en la granularidad del Trimestre Calendario, esto significa que la medida de Cuota de Ventas, por defecto, devolverá nulo por debajo del Trimestre Calendario (aunque también hay un cálculo en el Script MDX que asigna valores hasta el nivel de Mes). Utilizar la función ValidMeasure en una medida calculada puede usarse para hacer que la medida de Cuota de Ventas se comporte como si IgnorarDimensionesInrelacionadas estuviera configurada en Verdadero y obligue a la Cuota de Ventas a mostrar el valor del trimestre calendario actual.

WITH MEMBER MEASURES.VTEST AS VALIDMEASURE([Measures].[Sales Amount Quota])  
SELECT {[Measures].[Sales Amount Quota], MEASURES.VTEST} ON 0,  
[Date].[Calendar].MEMBERS ON 1  
FROM [Adventure Works]  

De manera similar, el grupo de medidas Objetivos de Ventas no tiene ninguna relación con la dimensión de Promoción, por lo que por debajo de Todos los Miembros de cualquier jerarquía en Promoción devolverá nulo. De nuevo, este comportamiento puede cambiarse usando ValidMeasure:

WITH MEMBER MEASURES.VTEST AS VALIDMEASURE([Measures].[Sales Amount Quota])  
SELECT {[Measures].[Sales Amount Quota], MEASURES.VTEST} ON 0,  
[Promotion].[Promotions].members ON 1  
FROM [Adventure Works]