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 del primo set che sono discendenti di membri del 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 è rilevante sia per le funzioni di tipo drill-down che per quelle di tipo drill-up. Per ordinare i membri del primo set in modo corretto, è consigliabile utilizzare la funzione Hierarchize. |
Esempio
Nell'esempio seguente viene eseguito il drill-down del membro United States e di conseguenza il membro Colorado non viene visualizzato nelle 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].[United States]}
)
ON 0
FROM [Adventure Works]
Tuttavia, poiché la funzione DrillupMember esegue il drill-up solo dei membri seguiti immediatamente dai discendenti nel primo set, nel seguente esempio non eseguirà il drill-up del membro Canada:
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]
Nell'esempio seguente viene illustrato il modo in cui l'utilizzo della funzione Hierarchize consente di evitare il problema e viene eseguito il drill-up del 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]