DrilldownLevel (MDX)DrilldownLevel (MDX)

SI APPLICA A:sìSQL Server Analysis ServicesnoAzure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

Esegue il drill-down dei membri di un set al livello inferiore al livello più basso rappresentato nel set.Drills down the members of a set to one level below the lowest level represented in the set.

Che specifica il livello in corrispondenza del quale eseguire il drill-down è facoltativa, ma se si imposta il livello, è possibile utilizzare un livello espressione o livello di indice.Specifying the level at which to drill down is optional, but if you do set the level, you can use either a level expression or the index level. Questi argomenti si escludono a vicenda.These arguments are mutually exclusive. Infine, se i membri calcolati sono presenti nella query, è possibile specificare un argomento per includerli nel set di righe.Finally, if calculated members are present in the query, you can specify an argument to include them in the rowset.

SintassiSyntax

DrilldownLevel(Set_Expression [,[Level_Expression] ,[Index]] [,INCLUDE_CALC_MEMBERS])  

ArgomentiArguments

Set_ExpressionSet_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.A valid Multidimensional Expressions (MDX) expression that returns a set.

Level_ExpressionLevel_Expression
(Facoltativo)(Optional). Espressione MDX che identifica in modo esplicito il livello in cui eseguire il drill-down.An MDX expression that explicitly identifies the level at which to drill down. Se si specifica un'espressione di livello, ignorare l'argomento index seguente.If you specify a level expression, skip the index argument below.

IndexIndex
(Facoltativo)(Optional). Espressione numerica valida che specifica il numero della gerarchia in cui eseguire il drill-down all'interno di un set.A valid numeric expression that specifies the hierarchy number to drill down into within the set. È possibile usare il livello di indice anziché Level_Expression per identificare in modo esplicito il livello in cui eseguire il drill-down.You can use the index level instead of Level_Expression to explicitly identify the level at which to drill down.

Include_Calc_MembersInclude_Calc_Members
(Facoltativo)(Optional). Flag che indica se includere i membri calcolati, se presenti, al livello di drill-down.A flag indicating whether to include calculated members, should they exist, at the drill down level.

OsservazioniRemarks

Il DrilldownLevel funzione restituisce un set di figlio membri in ordine gerarchico, in base ai membri inclusi nel set specificato.The DrilldownLevel function returns a set of child members in a hierarchical order, based on the members included in the specified set. L'ordine originale dei membri nel set specificato viene mantenuto, con la sola differenza che nel set di risultati della funzione tutti i membri figlio vengono indicati immediatamente sotto il membro padre corrispondente.Order is preserved among the original members in the specified set, except that all child members included in the result set of the function are included immediately under their parent member.

Con una struttura dati gerarchica multilivello è possibile scegliere in modo esplicito un livello in cui eseguire il drill-down.Given a multi-level hierarchical data structure, you can explicitly choose a level at which to drill down. Per specificare il livello sono disponibili due modalità che si escludono a vicenda.There are two mutually exclusive ways to specify the level. Il primo approccio consiste nell'impostare il level_expression argomento utilizzando un'espressione MDX che restituisce il livello, un approccio alternativo consiste nello specificare il indice argomento, con un'espressione numerica che specifica il livello in base al numero.The first approach is to set the level_expression argument using an MDX expression that returns the level, An alternative approach is to specify the index argument, using a numeric expression that specifies the level by number.

Se si specifica un'espressione di livello, la funzione restituisce un set in ordine gerarchico recuperando solo i figli dei membri del livello specificato.If a level expression is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the specified level. Se si specifica un'espressione di livello ma nessun membro è presente in tale livello, l'espressione di livello viene ignorata.If a level expression is specified and there is no member at that level, the level expression is ignored.

Se si specifica un valore di indice, la funzione restituisce un set in ordine gerarchico recuperando solo i figli dei membri del livello inferiore successivo della gerarchia indicata nel set specificato, secondo un indice in base zero.If an index value is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the next lowest level of the hierarchy referenced in the specified set, given a zero-based index.

Se non si specifica un'espressione di livello né un valore di indice, la funzione restituisce un set in ordine gerarchico recuperando solo i figli dei membri del livello inferiore della prima dimensione indicata nel set specificato.If neither a level expression nor an index value is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the lowest level of the first dimension referenced in the specified set.

Query sulla proprietà XMLA MdpropMdxDrillFunctions consente di verificare il livello di supporto forniti dal server per le funzioni di drill; vedere supportate proprietà XMLA ( XMLA ) per informazioni dettagliate.Querying the XMLA property MdpropMdxDrillFunctions enables you to verify the level of support that the server provides for the drilling functions; see Supported XMLA Properties (XMLA) for details.

EsempiExamples

È possibile provare gli esempi seguenti nella finestra Query MDX in SSMS, usando il cubo Adventure Works.You can try the following examples in the MDX query window in SSMS, using the Adventure Works cube.

Esempio 1: illustra la sintassi minimaExample 1 – demonstrates minimal syntax

Nel primo esempio viene illustrata la sintassi minima per DrilldownLevel.The first example shows the minimal syntax for DrilldownLevel. L'unico argomento richiesto è un'espressione set.The only required argument is a set expression. Quando si esegue questa query, si otterrà il padre [All Categories] e i membri del livello successivo verso il basso: [Accessories], [Bikes] e così via.Notice that when you run this query, you get the parent [All Categories] and members of the next level down: [Accessories], [Bikes], and so on. Sebbene in questo esempio è semplice, viene illustrato lo scopo di base di DrilldownLevel funzione, che è drill-down nel livello successivo inferiore.Although this example is simple, it demonstrates the basic purpose of the DrilldownLevel function, which is drilling down to the next level below.

SELECT DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]}}) ON COLUMNS  
FROM [Adventure Works]  

Esempio 2: sintassi alternativa con un livello di indice esplicitoExample 2 – alternate syntax using an explicit index level

Questo esempio illustra la sintassi alternativa, in cui il livello di indice viene specificato tramite un'espressione numerica.This example demonstrates the alternate syntax, where the index level is specified through a numeric expression. In questo caso, il livello di indice è 0.In this case, index level is 0. Per un indice in base zero, si tratta del livello più basso.For a zero-based index, this is the lowest level.

SELECT  
DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]},,0) ON COLUMNS  
FROM [Adventure Works]  

Si noti che il set di risultati è identico alla query precedente.Notice that the result set is identical to the previous query. Come regola generale, non è necessario impostare il livello di indice a meno che non si voglia avviare il drill-down in un livello specifico.As a general rule, setting the index level is unnecessary unless you want the drill down to start at a specific level. Rieseguire la query precedente, impostando il valore di indice su 1, quindi su 2.Re-run the previous query, setting the index value to 1, and then 2. Con un valore di indice impostato su 1, il drill-down viene avviato nel secondo livello della gerarchica.With index value set to 1, you see the drill down starts at the second level in the hierarchy. Con un valore di indice impostato su 2, il drill-down viene avviato nel terzo livello, il livello più alto in questo esempio.With index value set to 2, drill down starts at the third level, the highest level in this example. Più elevato è il numero, più alto è il livello di indice.The higher the numeric expression, the higher the index level.

Esempio 3: illustra un'espressione di livelloExample 3 – demonstrates a level expression

L'esempio successivo mostra come usare un'espressione di livello.The next example shows how to use a level expression. Con un set che rappresenta una struttura gerarchica, l'uso di un'espressione di livello consente di scegliere un livello nella gerarchia in cui avviare il drill-down.Given a set that represents a hierarchical structure, using a level expression allows you to choose a level in the hierarchy to start the drill down.

In questo esempio, il livello di drill-down viene avviato [City], come il secondo argomento del DrilldownLevel (funzione).In this example, the level of drill down starts at [City], as the second argument of the DrilldownLevel function. Quando si esegue questa query, il drill-down viene avviato nel livello [City], per gli stati Washington e Oregon.When you run this query, drill down starts at the [City] level, for the Washington and Oregon states. Per il DrilldownLevel funzione, anche set di risultati include i membri al livello successivo inferiore, [Postal codes].Per the DrilldownLevel function, the result set also includes members at the next level down, [Postal codes].

SELECT [Measures].[Internet Sales Amount] ON COLUMNS,  
   NON EMPTY (  
   DRILLDOWNLEVEL(  
       {[Customer].[Customer Geography].[Country].[United States],  
           DESCENDANTS(  
             { [Customer].[Customer Geography].[State-Province].[Washington],    
               [Customer].[Customer Geography].[State-Province].[Oregon]},   
               [Customer].[Customer Geography].[City]) } ,  
[Customer].[Customer Geography].[City] ) )  ON ROWS  
FROM [Adventure Works]  

Esempio 4: includere membri calcolatiExample 4 – including calculated members

Nell'ultimo esempio viene illustrato un membro calcolato, viene visualizzata nella parte inferiore del risultato impostato quando si aggiunge il include_calculated_members flag.The last example shows a calculated member, which appears at the bottom of the result set when you add the include_calculated_members flag. Si noti che il flag viene specificato come quarto parametro.Notice that the flag is specified as the fourth parameter.

Questo esempio funziona perché il membro calcolato è allo stesso livello dei membri non calcolati.This example works because the calculated member is at the same level as the non-calculated members. Il membro calcolato [West Coast] è composto dai membri di [United States], più tutti i membri del livello inferiore a [United States].The calculated member [West Coast] is composed of members from [United States], plus all of the members one level below the [United States].

WITH MEMBER   
[Customer].[Customer Geography].[Country].&[United States].[West Coast] AS  
[Customer].[Customer Geography].[State-Province].&[OR]&[US] +  
[Customer].[Customer Geography].[State-Province].&[WA]&[US] +  
[Customer].[Customer Geography].[State-Province].&[CA]&[US]  
SELECT [Measures].[Internet Order Count] ON 0,  
DRILLDOWNLEVEL([Customer].[Customer Geography].[Country].&[United States],,,INCLUDE_CALC_MEMBERS) on 1  
FROM [Adventure Works]  

Se si rimuove solo il flag e si riesegue la query, si ottengono gli stessi risultati meno il membro calcolato [West Coast].If you remove just the flag and re-run the query, you get the same results, minus the calculated member, [West Coast].

Vedere ancheSee Also

Riferimento alla funzione MDX ( MDX )MDX Function Reference (MDX)