Condividi tramite


DrillupMember (MDX)

Restituisce i membri di un set specificato che non sono discendenti dei membri di un secondo set specificato.

Sintassi

  
DrillupMember(Set_Expression1, Set_Expression2)   

Argomenti

Set_Expression1
Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Set_Expression2
Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Osservazioni:

La funzione DrillupMember restituisce un set di membri in base ai membri specificati nel primo set discendenti di membri nel secondo set. Il primo set può avere qualsiasi dimensionalità, mentre il secondo deve contenere un set unidimensionale. L'ordine tra i membri originali del primo set viene mantenuto. La funzione costruisce il set includendo solo i membri del primo set che sono discendenti immediati dei membri del secondo set. Se il predecessore immediato di un membro del primo set non è presente nel secondo set, il set restituito dalla funzione include il membro del primo set. Vengono inoltre inclusi i discendenti presenti nel primo set che precedono un membro predecessore del secondo set.

Il primo set può contenere tuple anziché membri. La funzione per il drill-down di tuple è un'estensione di OLE DB e restituisce un set di tuple anziché di membri.

Importante

Il drill-up di un membro verrà eseguito solo se il membro è seguito immediatamente da un elemento figlio o un discendente. L'ordine dei membri nel set è importante per le famiglie di funzioni Drilldown* e Drillup*. Provare a usare la funzione Hierarchize per ordinare in modo appropriato i membri del primo set.

Esempio

I tre esempi seguenti sono identici a eccezione del secondo set. Nel primo esempio, il secondo set è Stati Uniti. Di conseguenza, Colorado viene escluso dal set di risultati. È un discendente di Stati Uniti.

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]  

Il secondo esempio mostra l'importanza dell'ordine dei membri. Poiché DrillupMember esegue il drill-up solo sui membri seguiti immediatamente dai discendenti nel primo set, non esegue il drill-up sul membro Canada. Canada è separato dal relativi discendenti da Stati Uniti e Colorado. Se si riordinano i membri in modo che Canada sia direttamente sopra Alberta, Alberta e Brunswick verranno esclusi dal set di righe.

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]  

L'esempio 3 mostra come l'uso di Hierarchize può attenuare gli effetti dell'ordine dei membri ed esegue il drill-up sul membro Canada.

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]  
  

Vedi anche

Guida di riferimento alle funzioni MDX (MDX)