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


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

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

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

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

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

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

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

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

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

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

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

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

Раздел

Описание

Выражения куба и вложенного куба

Выражения куба и вложенного куба.

Использование выражений измерений

Выражения измерений.

Выражения элементов

Выражения элементов.

Использование кортежных выражений

Выражения кортежей.

Выражения наборов

Выражения наборов.

Использование скалярных выражений

Скалярные выражения.

Пустые значения

Пустые значения и способы их обработки.