ValidMeasure (MDX)

Gibt den Wert eines Maßes in einem Würfel zurück, indem es unanwendbare Dimensionen auf deren All-Ebene (oder Standardelement, falls nicht aggregierbar) erzwingt, wenn das Ergebnis für ein bestimmtes Tupel zurückgegeben wird.

Syntax

  
ValidMeasure(Tuple_Expression)   

Argumente

Tuple_Expression
Ein gültiger Multidimensional Expressions (MDX)-Ausdruck, der ein Tupel zurückgibt.

Bemerkungen

Die ValidMeasure-Funktion gibt den Wert eines Tupels zurück und ignoriert dabei Attribute, die keine Beziehung zur Maßgruppe des Maßes haben, deren Wert das Tupel liefert. Ein Attribut kann aus zwei Gründen unabhängig von einem Maß sein:

  • Die Dimension des Attributs steht in keinem Zusammenhang mit der Maßgruppe des Maßes im Tupel.

  • Die Dimension des Attributs steht in keiner Beziehung zur Maßgruppe des Maßes, aber das Granularitätsattribut ist nicht das Schlüsselattribut, und das Granularitätsattribut hat keine direkte Beziehung zum Attribut im Tupel.

Das von dieser Funktion spezifizierte Verhalten ist das standardmäßige serverseitige Verhalten und wird durch die Eigenschaft IgnoreUnrelatedDimensions auf dem Measure Group-Objekt gesteuert.

Für jedes Attribut im angegebenen Tupel mit Granularität (das heißt, wobei das Element im Tupel nicht das All-Element ist), wird die aktuelle Koordinate für jedes solche Attribut wie folgt verschoben:

  • Verwandte Attribute des angegebenen Attributmitglieds werden auf das Mitglied verschoben, das mit dem aktuellen Mitglied existiert.

  • Die Verknüpfungen von Attributen mit dem angegebenen Attributmitglied werden auf das All-Mitglied verschoben (oder auf das Standard-Element, falls die Hierarchie nicht aggregierbar ist).

  • Nicht verwandte Attribute werden auf das Mitglied Alle verschoben (basierend auf Maß).

Example

Die folgende Abfrage zeigt, wie die ValidMeasure-Funktion verwendet werden kann, um das Verhalten der Eigenschaft IgnorierenUnbezogeneDimensionen zu überschreiben. Im Adventure Works-Würfel hat die Misshandelszielgruppe IgnorierenUnbezogeneDimensionen auf False gesetzt; da die Datumsdimension mit dieser Messgruppe in der Kalenderquartals-Granularität verknüpft ist, bedeutet dies, dass das Verkaufsquotenmaß standardmäßig unter dem Kalenderquartal null zurückkehrt (obwohl es im MDX-Skript auch eine Berechnung gibt, die Werte auf Monatsebene zuweist). Mit der Funktion ValidMeasure in einer berechneten Messung kann das Umsatzquotenmaß so verhalten werden, als wäre IgnorierenUnbezogeneDimensionen auf True gesetzt, und die Verkaufsquote dazu zwingen, den Wert des aktuellen Kalenderquartals anzuzeigen.

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]  

Ähnlich hat die Wertgruppe Verkaufsziele keinerlei Beziehung zur Beförderungsdimension, sodass sie unter dem Allen Mitglied einer Hierarchie auf Beförderung null zurückgegeben wird. Auch dieses Verhalten kann mit ValidMeasure geändert werden:

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]