Share via


Ancestors (MDX)

Función que devuelve el conjunto de todos los antecesores de un miembro especificado en un nivel especificado o a una distancia especificada del miembro. Con Microsoft SQL Server Analysis Services, el conjunto devuelto siempre constará de un solo miembro; Analysis Services no admite varios elementos primarios para un miembro único.

Sintaxis

Level syntax
Ancestors(Member_Expression, Level_Expression)

Numeric syntax
Ancestors(Member_Expression, Distance)

Argumentos

  • Member_Expression
    Expresión MDX válida que devuelve un miembro.

  • Level_Expression
    Expresión MDX válida que devuelve un nivel.

  • Distance
    Expresión numérica válida que especifica la distancia desde el miembro especificado.

Comentarios

Con la función Ancestors, se proporciona la función con una expresión de miembro MDX y, a continuación, se proporciona una expresión MDX de un nivel que sea un antecesor de ese miembro o una expresión numérica que represente el número de niveles por encima de ese miembro. Con esta información, la función Ancestors devuelve el conjunto de miembros (que será un conjunto que conste de un miembro) en ese nivel.

[!NOTA]

Para devolver un miembro antecesor en lugar de un conjunto antecesor, utilice la función Ancestor.

Si se especifica una expresión de nivel, la función Ancestors devuelve el conjunto de todos los antecesores del miembro especificado en el nivel especificado. Si el miembro especificado no se encuentra en la misma jerarquía que el nivel especificado, la función devuelve un error.

Si se especifica una distancia, la función Ancestors devuelve el conjunto de todos los miembros que son el número de pasos especificado hacia arriba en la jerarquía por la expresión de miembro. Se puede especificar un miembro como miembro de una jerarquía de atributo, una jerarquía definida por el usuario o, en algunos casos, una jerarquía de elementos primarios y secundarios. El número 1 devuelve el conjunto de miembros en el nivel primario y el número 2 devuelve el conjunto de miembros en el nivel primario de segundo nivel (si existe). El número 0 devuelve el conjunto, incluyendo únicamente al propio miembro.

[!NOTA]

Este formulario de la función Ancestors se ha pensado para casos en los que el nivel del elemento primario es desconocido o cuyo nombre se desconoce.

Ejemplos

El ejemplo siguiente utiliza la función Ancestors para devolver la medida Internet Sales Amount de un miembro, su miembro primario y su miembro primario de segundo nivel. Este ejemplo utiliza expresiones de nivel para especificar los niveles que se devolverán. Los niveles están en la misma jerarquía que el miembro especificado en la expresión de miembro.

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]

El ejemplo siguiente utiliza la función Ancestors para devolver la medida Internet Sales Amount de un miembro, su miembro primario y su miembro primario de segundo nivel. Este ejemplo utiliza expresiones numéricas para especificar los niveles que se devuelven. Los niveles están en la misma jerarquía que el miembro especificado en la expresión de miembro.

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]

El ejemplo siguiente utiliza la función Ancestors para devolver la medida Internet Sales Amount del elemento primario de un miembro de una jerarquía de atributo. Este ejemplo utiliza una expresión numérica para especificar el nivel que se devuelve. Dado que el miembro de la expresión de miembro forma parte de una jerarquía de atributo, su elemento primario es el nivel [All].

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

Vea también

Referencia

Referencia de funciones MDX (MDX)