Поделиться через


Ancestors (многомерные выражения)

Изменения: 17 июля 2006 г.

Функция, возвращающая набор предков заданного элемента на заданном уровне или заданном расстоянии от элемента. В службах Microsoft SQL Server 2005 Analysis Services (SSAS) возвращаемый набор всегда будет содержать один элемент: службы Analysis Services не поддерживают нескольких родителей для одного элемента.

Синтаксис

Level syntax
Ancestors(Member_Expression, Level_Expression)

Numeric syntax
Ancestors(Member_Expression, Distance)

Аргументы

  • Member_Expression
    Допустимое многомерное выражение, возвращающее элемент.
  • Level_Expression
    Допустимое многомерное выражение, возвращающее уровень.
  • Distance
    Допустимое числовое выражение, указывающее расстояние от заданного элемента.

Замечания

С помощью функции Ancestors можно задать функцию с многомерным выражением элемента, а затем задать многомерное выражение уровня, являющегося предком элемента, или числовое выражение, представляющее собой число уровней над данным элементом. Вместе с этой информацией функция Ancestors возвращает набор элементов (который будет набором, состоящим из одного элемента) этого уровня.

ms145620.note(ru-ru,SQL.90).gifПримечание.
Для возвращения предка элемента вместо набора предков используется функция Ancestor.

Если выражение уровня определено, функция Ancestors возвращает набор предков заданного элемента на заданном уровне. Если заданный элемент не входит в ту же иерархию, что и заданный уровень, функция вернет ошибку.

Если задано расстояние, функция Ancestors возвращает набор предков указанного элемента, которые находятся выше по иерархии на заданном расстоянии. Элемент может быть определен как элемент иерархии атрибута, пользовательской иерархии или при некоторых обстоятельствах иерархии типа «родители-потомки». Число 1 возвращает набор элементов на родительском уровне, а число 2 возвращает набор элементов на прародительском уровне (если такой существует). Число 0 вернет набор, включающий только сам элемент.

ms145620.note(ru-ru,SQL.90).gifПримечание.
В таком виде функция Ancestors используется тогда, когда уровень родительского элемента не известен или не может быть назван.

Примеры

В следующем примере функция Ancestors возвращает меру Internet Sales Amount для элемента, его родителя и прародителя. В этом примере используются выражения уровня для определения уровней, которые должны быть возвращены. Уровни находятся в той же иерархии, что и заданный элемент в выражении элемента.

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]

В следующем примере функция Ancestors возвращает меру Internet Sales Amount для элемента, его родителя и прародителя. В этом примере используются числовые выражения для определения уровней, которые должны быть возвращены. Уровни находятся в той же иерархии, что и заданный элемент в выражении элемента.

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]

В следующем примере функция Ancestors возвращает меру Internet Sales Amount для родителя элемента в иерархии атрибута. В этом пример используются числовые выражения для определения уровня, который должен быть возвращен. Поскольку элемент в выражении элемента является элементом иерархии атрибута, его родителем является уровень «Все».

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

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.