DrillupMember (MDX)
Gibt die Elemente in einer angegebenen Menge zurück, die keine Nachfolger von Elementen in einer zweiten angegebenen Menge sind.
Syntax
DrillupMember(Set_Expression1, Set_Expression2)
Argumente
Set_Expression1
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.Set_Expression2
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.
Hinweise
Die DrillupMember-Funktion gibt, basierend auf den in der ersten Menge angegebenen Elementen, einen Menge von Elementen zurück, die nachfolgende Werte der Elemente in der zweiten Menge sind. Die erste Menge kann jede beliebige Dimensionalität aufweisen, die zweite muss jedoch eine eindimensionale Menge enthalten. Die Reihenfolge der Originalelemente in der ersten Menge wird beibehalten. Die Funktion erstellt die Menge, indem nur die Elemente aus der ersten Menge eingeschlossen werden, die unmittelbare nachfolgende Werte von Elementen in der zweiten Menge sind. Ist der unmittelbare Vorgänger eines Elements in der ersten Menge nicht in der zweiten vorhanden, wird das Element in der ersten Menge in die von der Funktion zurückgegebene Menge eingeschlossen. Nachfolgende Werte in der ersten Menge, die einem Vorgängerelement in der zweiten Menge vorausgehen, werden ebenfalls eingeschlossen.
Die erste Menge kann auch Tupel anstelle von Elementen enthalten. Der Drilldown für Tupel ist eine Erweiterung von OLE DB und gibt eine Menge von Tupeln anstelle von Elementen zurück.
Wichtig |
---|
Ein Drillup wird nur für ein Element durchgeführt, auf das direkt ein untergeordnetes Element oder ein Nachfolger folgt. Die Reihenfolge der Elemente in der Menge ist sowohl für die Drilldown*- als auch die Drillup*-Funktionsfamilie relevant. Verwenden Sie gegebenenfalls die Hierarchize-Funktion, um die Elemente der ersten Menge entsprechend zu ordnen. |
Beispiel
Die folgenden drei Beispiele sind identisch bis auf die zweite Menge. Im ersten Beispiel besteht die zweite Menge aus "United States". Demzufolge wird Colorado aus dem Resultset ausgeschlossen. Es ist ein Nachfolger von United States.
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[United States]}
) ON 0
FROM [Adventure Works]
Das zweite Beispiel zeigt die Wichtigkeit der Elementreihenfolge. Da DrillupMember einen Drillup nur auf den Elementen ausführt, denen unmittelbar Nachfolger in der ersten Menge folgen, führt es keinen Drillup auf dem Canada-Element aus. Canada wird durch United States und Colorado von seinen Nachfolgern getrennt. Wenn Sie die Elemente anders anordnen, sodass Canada direkt über Alberta steht, werden Alberta und Brunswick aus dem Rowset ausgeschlossen.
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]
Das dritte Beispiel zeigt, wie die Verwendung von Hierarchize die Auswirkungen der Elementreihenfolge verringern kann, und führt einen Drillup auf dem Canada-Element aus.
SELECT DrillUpMember (
Hierarchize
(
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
), {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]