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


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

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

Простые и сложные выражения

Многомерные выражения могут быть простыми или сложными.

Простыми выражениями являются следующие выражения:

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

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

Идентификаторы объектов
Язык многомерных выражений является объектно-ориентированным благодаря природе многомерных данных. Идентификаторы объектов в нем рассматриваются как простые выражения. Дополнительные сведения об идентификаторах см. в разделе "Идентификаторы( многомерные выражения)".

Сложные выражения строятся из сочетания данных конструкций, соединенных операторами.

Результаты выражения

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

Для сложных выражений приведение типа данных происходит при использовании двух и более простых выражений с различными типами данных.

Примеры выражений

В следующем запросе показаны примеры вычисляемых мер, определения которых являются простыми выражениями:

WITH
    MEMBER MEASURES.CONSTANTVALUE AS 1
    MEMBER MEASURES.SCALARFUNCTION AS [Date].[Calendar Year].CURRENTMEMBER.NAME
    MEMBER MEASURES.OBJECTIDENTIFIER AS [Measures].[Internet Sales Amount]
SELECT
    { MEASURES.CONSTANTVALUE, MEASURES.SCALARFUNCTION, MEASURES.OBJECTIDENTIFIER } ON 0,
    [Date].[Calendar Year].MEMBERS ON 1
FROM [Adventure Works]

Выражение может также быть вычислением, например [Measures].[Discount Amount] * 1.5. В следующем примере демонстрируется использование вычисления для определения элемента в инструкции многомерных выражений SELECT:

WITH   
   MEMBER [Measures].[Special Discount] AS  
   [Measures].[Discount Amount] * 1.5  
SELECT   
   [Measures].[Special Discount] on COLUMNS,  
   NON EMPTY [Product].[Product].MEMBERS  ON Rows  
FROM [Adventure Works]  
WHERE [Product].[Category].[Bikes]  

В этом разделе

Статья Description
Использование выражений куба и вложенного куба Выражения куба и вложенного куба.
Использование выражений измерений Выражения измерений.
Использование выражений элементов Выражения элементов.
Использование выражений кортежей Выражения кортежей.
Использование выражений наборов Выражения наборов.
Использование скалярных выражений Скалярные выражения.
Работа с пустыми значениями Пустые значения и способы их обработки.

См. также

Справочник по языку многомерных выражений (многомерные выражения)
Основы запросов многомерных выражений (службы Analysis Services)