Verwenden von DRILLTHROUGH zum Abrufen von Quelldaten (MDX)
Die DRILLTHROUGH-Anweisung wird in MDX (Multidimensional Expressions) dazu verwendet, ein Rowset aus den Quelldaten für eine Cubezelle abzurufen.
Damit eine DRILLTHROUGH-Anweisung für einen Cube ausgeführt werden kann, muss für diesen Cube eine Drillthroughaktion definiert sein. Zum Definieren einer Drillthroughaktion klicken Sie in Business Intelligence Development Studio im Cube-Designer im Bereich Aktionen auf der Symbolleiste auf Neue Drillthroughaktion. In der neuen Drillthroughaktion geben Sie den Aktionsnamen, das Ziel, die Bedingung und die Spalten an, die von der DRILLTHROUGH-Anweisung zurückgegeben werden sollen.
Syntax der DRILLTHROUGH-Anweisung
Die DRILLTHROUGH-Anweisung hat folgende Syntax:
<drillthrough> ::= DRILLTHROUGH [<Max_Rows>] [<First_Rowset>] <MDX select> [<Return_Columns>]
< Max_Rows> ::= MAXROWS <positive number>
<First_Rowset> ::= FIRSTROWSET <positive number>
<Return_Columns> ::= RETURN <member or attribute> [, <member or attribute>]
Die SELECT-Klausel kennzeichnet die Cubezelle, die die Quelldaten enthält, die abgerufen werden sollen. Diese SELECT-Klausel ist mit einer normalen MDX-SELECT-Anweisung identisch, mit dem einen Unterschied, dass in der SELECT-Klausel nur ein Element auf jeder Achse angegeben werden kann. Wenn mehr als ein Element auf einer Achse angegeben wird, tritt ein Fehler auf.
Die <Max_Rows>-Syntax gibt die maximale Anzahl der Zeilen in jedem zurückgegebenen Rowset an. Wenn der OLE DB-Anbieter, der für die Verbindung mit der Datenquelle verwendet wird, DBPROP_MAXROWS nicht unterstützt, wird die <Max_Rows>-Einstellung ignoriert.
Die <First_Rowset>-Syntax identifiziert die Partition, deren Rowset zuerst zurückgegeben wird.
Die <Return_Columns>-Syntax identifiziert die zugrunde liegenden Datenbankspalten, die zurückgegeben werden sollen.
Beispiel für die DRILLTHROUGH-Anweisung
Das folgende Beispiel zeigt die Verwendung der DRILLTHROUGH-Anweisung: In diesem Beispiel fragt die DRILLTHROUGH-Anweisung die Blätter der Dimensionen Store, Product und Time entlang der Stores-Dimension (die Slicerachse) ab und gibt dann die Department-Measuregruppe, die Abteilungs-ID (Department ID) und den Vornamen der/des Angestellten zurück.
DRILLTHROUGH
Select {Leaves(Store), Leaves(Product), Leaves(Time),*} on 0
From Stores
RETURN [Department MeasureGroup].[Department Id], [Employee].[First Name]