ValidMeasure (MDX)

Vrací hodnotu míry v krychle tím, že při vrácení výsledku pro určenou n-tici vynutí neaplikovatelné dimenze na jejich úroveň All (nebo výchozí člen, pokud není agregovatelný).

Syntax

  
ValidMeasure(Tuple_Expression)   

Arguments

Tuple_Expression
Platný výraz Multidimensional Expressions (MDX), který vrací n-tici.

Remarks

Funkce ValidMeasure vrací hodnotu n-tice, přičemž ignoruje atributy, které nemají vztah k skupině měření míry, jejíž hodnotu n-tice vrací. Atribut může být s mírou nesouvisející ze dvou důvodů:

  • Dimenze atributu nemá žádnou souvislost s mírovou skupinou míry v n-tici.

  • Dimenze atributu nemá vztah k měření dané skupině, ale atribut granularity není klíčovým atributem a atribut granularity nemá přímý vztah k atributu v n-tici.

Chování specifikované touto funkcí je výchozím serverovým chováním a je řízeno vlastností IgnoreUnrelatedDimensions na objektu skupiny měření.

Pro každý atribut ve specifikované n-tici s granularitou (tj. pokud prvek n-tice není All člen) se aktuální souřadnice pro každý takový atribut posunou následovně:

  • Související atributy s určeným členem atributu jsou přesunuty na člena, který existuje s aktuálním členem.

  • Související atributy s určeným členem atributu jsou přesunuty do All member (nebo výchozího člena, pokud hierarchie není agregovatelná).

  • Nesouvisející atributy jsou přesunuty do All member (na základě míry).

Example

Následující dotaz ukazuje, jak lze funkci ValidMeasure použít k přepsání chování vlastnosti IgnoreUnrelatedDimensions. V kostce Adventure Works má skupina měření Sales Targets nastavenou IgnoreUnrelatedDimensions na False; protože dimenze Datum se připojuje k této skupině měření při granularitě Kalendářního čtvrtletí, znamená to, že míra Prodejní kvóty bude ve výchozím nastavení vracet null pod Kalendářní čtvrtletí (ačkoli existuje také výpočet v MDX Scriptu, který přiděluje hodnoty až na úroveň měsíce). Použití funkce ValidMeasure ve vypočítané míře může být použito k tomu, aby se míra Sales Quota chovala tak, jako by IgnoreUnrelatedDimensions byla nastavena na True, a vynutit Sales Quota zobrazit hodnotu aktuálního kalendářního čtvrtletí.

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]  

Podobně skupina měření Sales Targets nemá žádný vztah k dimenzi Promotion, takže pod All Member v jakékoli hierarchii na Promotion se vrátí null. Opět lze toto chování změnit pomocí 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]