Экспрессии (MDX)

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

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

Выражение может быть простым или сложным в MDX:

Простое выражение может быть одним из следующих выражений:

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

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

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

Комплексное выражение может быть построено из комбинаций этих сущностей, соединённых операторами.

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

Для простого выражения, построенного из одной константы, переменной, скалярной функции или имени столбца, тип данных, сколирование, точность, масштаб и значение выражения — это тип данных, сколирование, точность, масштаб и значение ссылаемого элемента. Поскольку MDX напрямую поддерживает только тип данных 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. Следующий пример демонстрирует использование вычисления для определения элемента в операторе MDX 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
Использование выражений кубов и подкубов Определяет выражения куба и подкуба.
Использование выражений размерности Определяет выражения размерности.
Использование выражений членов Определяет выражения членов.
Использование выражений кортежа Определяет выражения кортежа.
Использование выражений множеств Определяет выражения множеств.
Использование скалярных выражений Определяет скалярные выражения.
Работа с пустыми значениями Описывает, что такое пустое значение и как такие значения обрабатываются.