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.
Bemerkungen
Die DrillupMember-Funktion gibt eine Reihe von Membern zurück, die auf den in der ersten Menge angegebenen Membern basieren, die Nachfolger von Membern in der zweiten Gruppe 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. Erwägen Sie die Verwendung der Hierarchize-Funktion , um die Member des ersten Satzes entsprechend zu sortieren.
Beispiel
Die folgenden drei Beispiele sind mit Ausnahme der zweiten Menge identisch. Im ersten Beispiel lautet der zweite Satz "Vereinigte Staaten". Demzufolge wird Colorado aus dem Resultset ausgeschlossen. Es ist ein untergeordnetes Element der Vereinigten Staaten.
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]
Beispiel zwei zeigt die Wichtigkeit der Elementreihenfolge. Da DrillupMember nur drillups auf die Member durchführt, auf die unmittelbar Nachfolger in der ersten Gruppe folgen, erfolgt kein Drillup für das Canada-Element. Kanada wird vom Nachfolger durch die Vereinigten Staaten und Colorado getrennt. Wenn Sie die Elemente so neu anordnen, dass sich Kanada direkt über Alberta befindet, werden Alberta und Braunschweig 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]
Beispiel 3 zeigt, wie die Verwendung von Hierarchize die Auswirkungen der Memberreihenfolge mindern kann, und zeigt einen Drilldown für das Canada-Mitglied.
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]