Manipolazione dei dati MDX - Recuperare i dati di origine con DRILLTHROUGH
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Nel linguaggio MDX (Multidimensional Expressions) è disponibile l'istruzione DRILLTHROUGH, che consente di recuperare un set di righe dai dati di origine per una cella di un cubo.
Per eseguire un'istruzione DRILLTHROUGH su un cubo, è necessario definire un'azione drill-through per tale cubo. Per definire un'azione drill-through, in SQL Server Data Tools, in Cube Designer, nel riquadro Azioni fare clic su Nuova azione drill-through sulla barra degli strumenti. Nella nuova azione drill-through specificare il nome, la destinazione e la condizione dell'azione, nonché le colonne restituite dall'istruzione DRILLTHROUGH .
Sintassi dell'istruzione DRILLTHROUGH
La sintassi dell'istruzione DRILLTHROUGH è la seguente:
<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>]
La clausola SELECT identifica la cella del cubo che contiene i dati di origine da recuperare. Questa clausola SELECT è identica a una normale istruzione SELECT MDX, con la differenza che in questo caso nella clausola SELECT è possibile specificare solo un membro per ogni asse. Se su un asse sono specificati più membri, verrà generato un errore.
La sintassi <Max_Rows>
specifica il numero massimo di righe in ogni set di righe restituito. Se il provider OLE DB uso per connettersi all'origine dati non supporta DBPROP_MAXROWS, l'impostazione <Max_Rows>
verrà ignorata.
La sintassi <First_Rowset>
identifica la partizione il cui set di righe viene restituito per primo.
La sintassi <Return_Columns>
identifica le colonne del database sottostante da restituire.
Esempio di istruzione DRILLTHROUGH
Nell'esempio seguente viene illustrato l'uso dell'istruzione DRILLTHROUGH . In questo esempio l'istruzione DRILLTHROUGH esegue una query sugli elementi foglia delle dimensioni Store, Product e Time, lungo la dimensione Stores (l'asse di sezionamento), e quindi restituisce il gruppo di misure del reparto, l'ID del reparto e il nome del dipendente.
DRILLTHROUGH
Select {Leaves(Store), Leaves(Product), Leaves(Time),*} on 0
From Stores
RETURN [Department MeasureGroup].[Department Id], [Employee].[First Name]