Определение данных многомерных выражений — CREATE GLOBAL CUBE
Создает и заполняет локально сохраненный куб на основе подкуба из куба на сервере. Подключение к серверу не требуется для подключения к локально сохраняемого куба. Дополнительные сведения о локальных кубах см. в локальных кубов (службы Analysis Services — многомерные данные).
Синтаксис
CREATE GLOBAL CUBE local_cube_name STORAGE 'Cube_Location'
FROM source_cube_name (<param list>)
<param list>::= <param> ,<param list> | <param>
<param>::= <dims list> | <measures list>
<measures list>::= <measure>[, <measures list>]
<dims list>::= <dim def> [, <dims list>]
<measure>::= MEASURE source_cube_name.measure_name [<visibility qualifier>] [AS measure_name]
<dim def>::= <source dim def> | <derived dim def>
<source dim def>::= DIMENSION source_cube_name.dimension_name [<dim flags>] [<visibility qualifier>] [AS dimension_name>] [FROM <dim from clause> ] [<dim content def>]
<dim flags>::= NOT_RELATED_TO_FACTS
<dim from clause>::= < dim DM from clause> | <reg dim from clause>
<dim DM from clause>::= dm_model_name> COLUMN column_name
<dim reg from clause>::= dimension_name
<dim content def>::= ( <level list> [,<grouping list>] [,<member slice list>] [,<default member>] )
<level list>::= <level def> [, <level list>]
<level def>::= LEVEL level_name [<level type> ] [AS level_name] [<level content def>]
<level content def>::= ( <property list> ) | NO_PROPERTIES
<level type>::= GROUPING
<property list>::= <property def> [, <property list>]
<property def>::= PROPERTY property_name
<grouping list>::= <grouping entity> [,<grouping list>]
<grouping entity>::= GROUP group_level_name.group_name (<mixed list>)
<grp mixed list>::= <grp mixed element> [,<grp mixed list>]
<grp mixed element>::= <grouping entity> | <member def>
<member slice list>::= <member list>
<member list>::= <member def> [, <member list>]
<member def>::= MEMBER member_name
<default member>::= DEFAULT_MEMBER AS MDX_expression
<visibility qualifier>::= HIDDEN
Элементы синтаксиса
local_cube_name
Имя локального куба.
"Cube_Location"
Имя и путь для локально сохраненного куба.
source_cube_name
Имя куба, на котором основан локальный куб.
source_cube_name.measure_name
Полное имя исходной меры, включенной в локальный куб. Вычисляемые элементы измерения мер не допускаются.
measure_name
Имя меры в локальном кубе.
source_cube_name.dimension_name
Полное имя исходного измерения, включенного в локальный куб.
dimension_name
Имя измерения в локальном кубе.
FROM <dim from clause>
Допустимая спецификация только для определения производного измерения.
NOT_RELATED_TO_FACTS
Допустимая спецификация только для определения производного измерения.
> типа уровня <
Допустимая спецификация только для определения производного измерения.
Замечания
Локальный куб определяется с точки зрения мер и определений, определяющих его. Существует два типа измерений.
Исходные измерения — это измерения, которые были частью одного из нескольких исходных кубов
Производные измерения — это измерения, которые предоставляют новые возможности анализа. Производное измерение может быть регулярным измерением, определенным на основе исходного измерения, которое либо срезано по вертикали, либо горизонтально, либо содержит настраиваемую группирование элементов измерения. Производное измерение также может быть измерением интеллектуального анализа данных на основе модели интеллектуального анализа данных.
Заметка
Ключевое слово "Измерение" может ссылаться на измерения или иерархии.
В локальном кубе можно выполнить следующие задачи:
Устранение измерений, существующих в исходном кубе
Добавление или удаление иерархий из измерения
Устранение групп мер или конкретных мер
Инструкция CREATE GLOBAL CUBE соответствует следующим правилам:
Инструкция CREATE GLOBAL CUBE автоматически копирует все команды, такие как вычисляемые меры или действия, в локальный куб. Если команда содержит многомерное выражение, которое ссылается на родительский куб явным образом, локальный куб не может выполнить следующую команду. Чтобы предотвратить эту проблему, используйте ключевое слово CURRENTCUBE
при определении выражений многомерных выражений для команд. Ключевое слово CURRENTCUBE использует текущий контекст куба при ссылке на куб в выражении многомерных выражений. Глобальный куб, созданный из существующего глобального куба в локальном файле куба, не может быть сохранен в том же локальном файле куба. Например, вы создадите глобальный куб с именем SalesLocal1 и сохраните этот куб в файл C:\SalesLocal.cub. Затем подключитесь к файлу C:\SalesLocal.cub и создадите второй глобальный куб с именем SalesLocal2. Если вы попытаетесь сохранить глобальный куб SalesLocal2 в файле C:\SalesLocal.cub, появится сообщение об ошибке. Однако глобальный куб SalesLocal2 можно сохранить в другом локальном файле куба.
Глобальные кубы не поддерживают различные меры подсчета. Так как кубы, содержащие меры различных счетчиков, не являются неаддитивными, инструкция CREATE GLOBAL CUBE не поддерживает создание или использование различных мер счетчика.
При добавлении меры в локальный куб необходимо также включить хотя бы одно измерение, связанное с добавляемой мерой.
При добавлении иерархии родительского-дочернего объекта в локальный куб уровни и фильтры в иерархии родительского-дочернего элемента игнорируются, а вся иерархия родительского-дочернего элемента включается.
Свойства элементов не поддерживаются в локальных кубах.
Невозможно создать локальный куб с точки зрения.
При включении полуаддитивной меры к локальному кубу применяются следующие правила:
Необходимо включить измерение учетной записи, если свойство AggregateFunction для добавляемой меры — ByAccount.
Необходимо включить все измерение времени, если добавлена мера свойства AggregateFunction FirstChild, LastChild, FirstNonEmpty, LastNonEmpty или AverageOfChildren.
Измерения интеллектуального анализа данных нельзя добавить в локальный куб.
Эталонные измерения материализуются и добавляются в виде регулярных измерений.
При включении измерения "многие ко многим" применяются следующие правила:
Необходимо добавить все измерение "многие ко многим".
Необходимо добавить промежуточную группу мер.
Необходимо добавить все измерения, общие для двух групп мер, участвующих в связях "многие ко всем".
В следующем примере показано создание локальной, сохраняемой версии куба Adventure Works, содержащей только меру "Объем продаж торговых посредников", измерение торгового посредника и измерение даты.
CREATE GLOBAL CUBE [LocalReseller]
Storage 'C:\LocalAWReseller1.cub'
FROM [Adventure Works]
(
MEASURE [Adventure Works].[Reseller Sales Amount],
DIMENSION [Adventure Works].[Reseller],
DIMENSION [Adventure Works].[Date]
)
В следующем примере демонстрируется срез при создании локального куба. Глобальный куб, созданный, основан на кубе Adventure Works, разделенном вертикально на уровне финансового года 2005 года и горизонтально на уровне финансового года и месяца.
CREATE GLOBAL CUBE [LocalReseller]
Storage 'C:\LocalAWReseller2.cub'
FROM [Adventure Works]
(
MEASURE [Adventure Works].[Reseller Sales Amount],
DIMENSION [Adventure Works].[Reseller],
DIMENSION [Adventure Works].[Date]
(
LEVEL [Fiscal Year],
LEVEL [Month],
MEMBER [Date].[Fiscal].[Fiscal Year].&[2005]
)
)
См. также
инструкции определения данных многомерных выражений (многомерные выражения)
инструкции CREATE SESSION CUBE (МНОГОМЕРНЫЕ выражения)