Инструкция 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
Стандартные свойства
У каждого вычисляемого элемента есть набор стандартных свойств. При подключении клиентского приложения к службам Microsoft Службы Analysis Services, стандартные свойства либо поддерживаются, либо доступны для поддержки по выбору администратора.
Дополнительные свойства могут быть доступны в зависимости от определения куба. Следующие свойства отражают сведения, относящиеся к уровню измерения в данном кубе.
Идентификатор свойства |
Назначение |
||
---|---|---|---|
SOLVE_ORDER |
Порядок, в котором этот вычисляемый элемент будет вычисляться в случаях, когда один вычисляемый элемент ссылается на другой (то есть когда вычисляемые элементы пересекаются друг с другом). |
||
FORMAT_STRING |
Строка форматирования Microsoft Office, используемая клиентским приложением для отображения значений ячеек. |
||
VISIBLE |
Значение, определяющее видимость вычисляемого элемента в наборе строк схемы. Видимые вычисляемые элементы могут добавляться к набору функцией AddCalculatedMembers. Ненулевое значение указывает, что данный вычисляемый элемент видим. Значение этого свойства по умолчанию равно Visible. Невидимые вычисляемые элементы (для которых значение свойства равно нулю) обычно используются как промежуточные этапы при вычислении более сложных элементов. К таким вычисляемым элементам могут также обращаться другие типы элементов, например меры. |
||
NON_EMPTY_BEHAVIOR |
Мера или набор, используемые для определения поведения вычисляемых элементов при разрешении пустых ячеек.
|
||
CAPTION |
Строка, используемая клиентским приложением в качестве заголовка элемента. |
||
DISPLAY_FOLDER |
Строка, определяющая путь к папке отображения, которую клиентское приложение использует для демонстрации элемента. Разделитель уровней вложенности папок определяется клиентским приложением. Для средств и клиентов, входящих в службы Службы Analysis Services, в качестве разделителя уровней используется обратная косая черта (\). Чтобы указать для определенного элемента несколько папок отображения, используйте для разделения папок точку с запятой (;). |
||
ASSOCIATED_MEASURE_GROUP |
Имя группы мер, с которой связан элемент. |
См. также
Справочник
Инструкция DROP MEMBER (многомерные выражения)
Инструкция UPDATE MEMBER (многомерные выражения)