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


Инструкция CREATE MEMBER (многомерные выражения)

Создает вычисляемый элемент.

Синтаксис

CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name 
   AS MDX_Expression
      [,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]

Аргументы

  • Cube_Name
    Допустимое строковое выражение, содержащее имя куба, в котором будет создан элемент.

  • Member_Name
    Допустимое строковое выражение, возвращающее имя элемента. Укажите полное имя, чтобы создать элемент в измерении, отличном от измерения мер. Если этого не сделать, элемент будет создан в измерении мер.

  • MDX_Expression
    Допустимое многомерное выражение.

  • Property_Name
    Допустимое строковое выражение, представляющее имя свойства вычисляемого элемента.

  • Property_Value
    Допустимое скалярное выражение, представляющее значение свойства вычисляемого элемента.

Замечания

Инструкция CREATE MEMBER определяет вычисляемые элементы, которые доступны для всего сеанса и могут использоваться в нескольких запросах в данном сеансе. Дополнительные сведения см. в разделе Создание вычисляемых элементов с областью действия сеанса (многомерные выражения).

Можно также определить вычисляемый элемент для использования только в одном запросе. Для определения вычисляемого элемента, ограниченного рамками одного запроса, используется предложение WITH в инструкции SELECT. Дополнительные сведения см. в разделе Создание вычисляемых элементов с областью действия запроса (многомерные выражения).

Аргумент Property_Name может относиться к стандартным или дополнительным свойствам вычисляемого элемента. Стандартные свойства элементов перечислены далее в этом разделе. Вычисляемые элементы, созданные инструкцией CREATE MEMBER без значения SESSION, имеют сеансовую область. Кроме того, строки в определениях вычисляемых элементов разделяются двойными кавычками. В OLE DB определен другой метод, указывающий, что строки должны разделяться одиночными кавычками.

При указании куба, отличного от текущего подключенного куба, возникает ошибка. Поэтому для обращения к текущему кубу вместо указания имени куба рекомендуется использовать переменную CURRENTCUBE.

Дополнительные сведения о свойствах элементов, определенных в OLE DB, см. в документации OLE DB.

Область

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

  • Область запроса
    Видимость и время жизни этого вычисляемого элемента ограничиваются данным запросом. Вычисляемый элемент определен в одном запросе. Область запроса имеет приоритет по сравнению с областью сеанса. Дополнительные сведения см. в разделе Создание вычисляемых элементов с областью действия запроса (многомерные выражения).

  • Область сеанса
    Видимость и время жизни этого вычисляемого элемента ограничиваются сеансом, в котором создан элемент. (Время жизни может быть меньше длительности сеанса, если по отношению к вычисляемому элементу выдана инструкция DROP MEMBER.) Инструкция CREATE MEMBER создает вычисляемый элемент с областью сеанса.

Изоляция на уровне области

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

ПримечаниеПримечание

Иногда функции Aggregate (MDX) и VisualTotals (MDX) не работают таким образом.

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

Пример

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

Сценарий многомерных выражений куба:

CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10

Запрос многомерных выражений:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio

В результате предыдущего запроса требовалось определить долю продаж в США, без штата Вашингтон (чтобы сохранить стоимость для США без штата Вашингтон). Предыдущий запрос не вернул ожидаемого результата. Возвращенным результатом была доля США за вычетом доли штата Вашингтон, что лишено смысла. Для достижения желаемого результата можно воспользоваться свойством вычисления SCOPE_ISOLATION.

Запрос многомерных выражений с применением свойства вычисления SCOPE_ISOLATION:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
,SCOPE_ISOLATION=CUBE
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio

Стандартные свойства

У каждого вычисляемого элемента есть набор стандартных свойств. При подключении клиентского приложения к службам MicrosoftAnalysis Services стандартные свойства либо поддерживаются, либо доступны для поддержки по выбору администратора.

Дополнительные свойства могут быть доступны в зависимости от определения куба. Следующие свойства отражают сведения, относящиеся к уровню измерения в данном кубе.

Идентификатор свойства

Значение

SOLVE_ORDER

Порядок, в котором этот вычисляемый элемент будет вычисляться в случаях, когда один вычисляемый элемент ссылается на другой (то есть когда вычисляемые элементы пересекаются друг с другом).

FORMAT_STRING

Строка форматирования Microsoft Office, используемая клиентским приложением для отображения значений ячеек.

VISIBLE

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

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

NON_EMPTY_BEHAVIOR

Мера или набор, используемые для определения поведения вычисляемых элементов при разрешении пустых ячеек.

CAPTION

Строка, используемая клиентским приложением в качестве заголовка элемента.

DISPLAY_FOLDER

Строка, определяющая путь к папке отображения, которую клиентское приложение использует для демонстрации элемента. Разделитель уровней вложенности папок определяется клиентским приложением. Для средств и клиентов, входящих в службы Analysis Services, в качестве разделителя уровней используется обратная косая черта (\). Чтобы указать для определенного элемента несколько папок отображения, используйте для разделения папок точку с запятой (;).

ASSOCIATED_MEASURE_GROUP

Имя группы мер, с которой связан элемент.