Ancestors (MDX)

Funzione che restituisce il set di tutti i predecessori di un membro specificato al livello specificato oppure alla distanza specificata dal membro. Con MicrosoftSQL ServerAnalysis Services, il set restituito sarà sempre costituito da un singolo membro, poiché Analysis Services non supporta più elementi padre per un singolo membro.

Sintassi

Level syntax
Ancestors(Member_Expression, Level_Expression)

Numeric syntax
Ancestors(Member_Expression, Distance)

Argomenti

  • Member_Expression
    Espressione MDX (Multidimensional Expression) valida che restituisce un membro.

  • Level_Expression
    Espressione MDX (Multidimensional Expression) valida che restituisce un livello.

  • Distance
    Espressione numerica valida che specifica la distanza dal membro specificato.

Osservazioni

Con la funzione Ancestors, si specifica un'espressione di membro MDX per la funzione e quindi un'espressione MDX di un livello predecessore di tale membro oppure un'espressione numerica che rappresenta il numero di livelli superiori rispetto al membro. Con queste informazioni, la funzione Ancestors restituisce il set di membri (che sarà costituito da un membro) a tale livello.

[!NOTA]

Per restituire un membro predecessore, anziché un set di predecessori, utilizzare la funzione Ancestor.

Se viene specificata un'espressione di livello, la funzione Ancestors restituisce il set di tutti i predecessori del membro specificato al livello specificato. Se il membro specificato non è incluso nella stessa gerarchia del livello specificato, la funzione restituisce un errore.

Se viene specificata una distanza, la funzione Ancestors restituisce il set di tutti i membri che si trovano più in alto nella gerarchia del numero di posizioni specificato dall'espressione di membro. Un membro può essere specificato come membro di una gerarchia dell'attributo, una gerarchia definita dall'utente o, in alcuni casi, una gerarchia padre-figlio. Con il numero 1 viene restituito il set di membri al livello padre, mentre con il numero 2 viene restituito il set di membri al livello dell'elemento padre del padre, se esistente. Il numero 0 restituisce il set contenente soltanto il membro stesso.

[!NOTA]

Questo utilizzo della funzione Ancestors è destinato ai casi in cui il livello del padre è sconosciuto o non può essere denominato.

Esempi

Nell'esempio seguente la funzione Ancestors viene utilizzata per restituire la misura Internet Sales Amount per un membro, il relativo padre e l'elemento padre del padre. Nell'esempio vengono utilizzate espressioni di livello per specificare i livelli da restituire. I livelli sono contenuti nella stessa gerarchia del membro specificato nell'espressione di membro.

SELECT {
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Category]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Subcategory]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Product])
    } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]

Nell'esempio seguente la funzione Ancestors viene utilizzata per restituire la misura Internet Sales Amount per un membro, il relativo padre e l'elemento padre del padre. Nell'esempio vengono utilizzate espressioni numeriche per specificare i livelli restituiti. I livelli sono contenuti nella stessa gerarchia del membro specificato nell'espressione di membro.

SELECT {
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],2
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],1
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],0
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM  [Adventure Works]

Nell'esempio seguente la funzione Ancestors viene utilizzata per restituire la misura Internet Sales Amount per l'elemento padre di un membro di una gerarchia dell'attributo. Nell'esempio viene utilizzata un'espressione numerica per specificare il livello restituito. Poiché il membro dell'espressione di membro è membro di una gerarchia dell'attributo, il relativo elemento padre è costituito dal livello [Totale].

SELECT {
   Ancestors(
      [Product].[Product].[Mountain-100 Silver, 38],1
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]