Работа с элементами, кортежами и наборами (многомерные выражения)
Многомерные выражения предоставляют функции, возвращающие один или более элементов, кортежей или наборов, или действуют на элемент, кортеж или набор.
Функции элементов
В языке многомерных выражений есть несколько функций для получения элементов из других многомерных сущностей, таких как измерения, уровни или кортежи. Например, функция FirstChild действует на элемент и возвращает элемент.
Чтобы найти первый потомок измерения времени, можно указать его явно, как показано в следующем примере.
SELECT [Date].[Calendar Year].[CY 2001] on 0
FROM [Adventure Works]
Или же можно найти этот же элемент с помощью функции FirstChild, как показано в следующем примере.
SELECT [Date].[Calendar Year].FirstChild on 0
FROM [Adventure Works]
Дополнительные сведения о функциях над элементами в многомерных выражениях см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Функции кортежей
В языке многомерных выражений есть несколько функций, возвращающих кортежи. Эти функции можно использовать в любом месте, где допускаются кортежи. Например, функция Item (кортеж) (многомерные выражения) может использоваться для получения первого кортежа из набора, что полезно, если известно, что набор состоит из единственного кортежа, который нужно передать функции, требующей кортеж в качестве аргумента.
В следующем примере возвращается первый кортеж из набора кортежей по оси столбцов.
SELECT {
([Measures].[Reseller Sales Amount]
,[Date].[Calendar Year].[CY 2003]
)
, ([Measures].[Reseller Sales Amount]
,[Date].[Calendar Year].[CY 2004]
)
}.Item(0)
ON COLUMNS
FROM [Adventure Works]
Дополнительные сведения о функциях над кортежами см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Функции наборов
В языке многомерных выражений есть несколько функций, возвращающих наборы. Чтобы извлечь набор, не обязательно явно перечислять все кортежи в квадратных скобках. Дополнительные сведения о функциях над элементами, возвращающих наборы, см. в разделе Ключевые понятия многомерных выражений (многомерные выражения). Существует множество дополнительных функций над наборами.
Оператор «двоеточие» (:) позволяет использовать естественный порядок элементов для создания набора. Например, набор, представленный в следующем примере, содержит четыре кортежа: с первого по четвертый квартал календарного 2002 г.
SELECT
{[Calendar Quarter].[Q1 CY 2002]:[Calendar Quarter].[Q4 CY 2002]}
ON 0
FROM [Adventure Works]
Такой же набор можно создать, не используя двоеточие, а указав кортежи, как показано в следующем примере.
SELECT {
[Calendar Quarter].[Q1 CY 2002],
[Calendar Quarter].[Q2 CY 2002],
[Calendar Quarter].[Q3 CY 2002],
[Calendar Quarter].[Q4 CY 2002]
} ON 0
FROM [Adventure Works]
Оператор «двоеточие» (:) является инклюзивной функцией. Результирующий набор содержит элементы, указанные с обеих сторон оператора двоеточия.
Дополнительные сведения о функциях наборов см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Функции массивов
Функции массивов обрабатывают набор и возвращают массив. Дополнительные сведения о функциях массивов см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Функции иерархий
Функции иерархий возвращают иерархию, обрабатывая элемент, уровень, иерархию или строку. Дополнительные сведения о функциях иерархий см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Функции уровней
Функции уровней возвращают уровень, обрабатывая элемент, уровень или строку. Дополнительные сведения о функциях уровней см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Логические функции
Логическая функция обрабатывает многомерное выражение, возвращая информацию о кортежах, элементах или наборах в выражении. Например, функция IsEmpty (многомерные выражения) оценивает, возвращает ли выражение значение пустой ячейки. Дополнительные сведения о логических функциях см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Числовые функции
Числовая функция обрабатывает многомерное выражение, возвращая скалярную величину. Например, функция Aggregate (многомерные выражения) возвращает скалярную величину, вычисляемую при помощи статистической обработки мер над кортежами заданного набора. Дополнительные сведения о числовых функциях см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
Строковые функции
Строковая функция обрабатывает многомерное выражение, возвращая строку. Например, функция UniqueName (многомерные выражения) возвращает строковое значение, включающее в себя уникальное имя измерения, иерархии, уровня или элемента. Дополнительные сведения о строковых функциях см. в разделе Справочник по функциям многомерных выражений (многомерные выражения).
См. также