Выражения (многомерные выражения)
Выражение — это сочетание идентификаторов, значений и операторов, вычисляемое службами 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]
В этом разделе
Раздел |
Описание |
---|---|
Выражения куба и вложенного куба. |
|
Выражения измерений. |
|
Выражения элементов. |
|
Выражения кортежей. |
|
Выражения наборов. |
|
Скалярные выражения. |
|
Пустые значения и способы их обработки. |
См. также