Manipolazione dei dati MDX - DRILLTHROUGH
Recupera le righe di tabella sottostanti utilizzate per creare una cella specificata in un cubo.
Sintassi
DRILLTHROUGH[MAXROWSUnsigned_Integer]
<MDX SELECT statement>
[RETURNSet_of_Attributes_and_Measures
[,Set_of_Attributes_and_Measures ...]
]
Argomenti
Unsigned_Integer
Valore integer positivo.
Istruzione MDX SELECT
Qualsiasi istruzione SELECT di espressione MDX (Multidimensional Expression) valida.
Set_of_Attributes_and_Measures
Elenco delimitato da virgole di misure e attributi della dimensione.
Osservazioni:
Il drill-through è un'operazione con cui un utente finale seleziona una singola cella di un cubo e recupera un set di risultati dai dati di origine di tale cella allo scopo di ottenere informazioni più dettagliate. Per impostazione predefinita, il set di risultati di un drill-through è derivato dalle righe di tabella che sono state valutate per calcolare il valore della cella del cubo selezionata. Per il drill-through da parte degli utenti finali, è necessario che le relative applicazioni client supportino tale funzionalità. In Analysis Services i risultati vengono recuperati direttamente dall'archiviazione MOLAP, a meno che non vengano eseguite query su partizioni o dimensioni ROLAP.
Importante
La sicurezza relativa al drill-through è basata sulle opzioni di sicurezza generali definite per il cubo. Se un utente non può ottenere alcuni dati tramite MDX, all'utente verranno applicate dal drill-through le stesse restrizioni.
La cella interessata è specificata da un'istruzione MDX. Il valore specificato dall'argomento MAXROWS indica il numero massimo di righe che devono essere restituite dal set di righe risultante.
Per impostazione predefinita, il numero massimo di righe restituite è 10.000. Ciò significa che se si lascia MAXROWS non specificato, si otterranno almeno 10.000 righe. Se questo valore è troppo basso per lo scenario, è possibile impostare MAXROWS su un numero superiore, ad esempio MAXROWS 20000
. Se è troppo basso nel complesso, è possibile aumentare il valore predefinito modificando la proprietà del server OLAP\Query\DefaultDrillthroughMaxRows . Per altre informazioni sulla modifica di questa proprietà, vedere Proprietà server in Analysis Services.
Se non diversamente specificato, le colonne restituite includono tutti gli attributi di granularità per tutte le dimensioni correlate al gruppo di misure della misura specificata, tranne le dimensioni molti-a-molti. Le dimensioni del cubo sono precedute da $ per consentire la distinzione tra dimensioni e gruppi di misure. La clausola RETURN viene utilizzata per specificare le colonne restituite dalla query drill-through. Le funzioni seguenti possono essere applicate a un singolo attributo o misura dalla clausola RETURN .
Name(attribute_name)
Restituisce il nome del membro dell'attributo specificato.
UniqueName(attribute_name)
Restituisce il nome univoco del membro dell'attributo specificato.
Key(attribute_name[, N])
Restituisce la chiave del membro dell'attributo specificato. N specifica la colonna nella chiave composta (se disponibile). Il valore predefinito di N è 1.
Caption(attribute_name)
Restituisce la didascalia del membro dell'attributo specificato.
MemberValue(attribute_name)
Restituisce il valore del membro dell'attributo specificato.
CustomRollup(attribute_name)
Restituisce l'espressione di rollup personalizzato del membro dell'attributo specificato.
CustomRollupProperties(attribute_name)
Restituisce le proprietà di rollup personalizzato del membro dell'attributo specificato.
UnaryOperator(attribute_name)
Restituisce l'operatore unario del membro dell'attributo specificato.
Esempio
Nell'esempio seguente viene specificata la cella per il mese di luglio 2007 per la misura reseller sales amount (misura predefinita) per l'Australia. La clausola RETURN specifica la restituzione della data di ogni vendita, del nome del modello di prodotto, del nome del dipendente, dell'importo delle vendite, delle imposte e dei valori di costo dei prodotti sottostanti questa cella.
DRILLTHROUGH
SELECT
([Date].[Calendar].[Month].[July 2007])
ON 0
FROM [Adventure Works]
WHERE [Geography].[Country].[Australia]
RETURN
[$Date].[Date]
,KEY([$Product].[Model Name])
,NAME([$Employee].[Employee])
,[Reseller Sales].[Reseller Sales Amount]
,[Reseller Sales].[Reseller Tax Amount]
,[Reseller Sales].[Reseller Standard Product Cost]