Definição de dados MDX – CREATE GLOBAL CUBE
Cria e popula um cubo persistente localmente, com base em um subcubo de um cubo no servidor. Uma conexão com o servidor não é necessária para se conectar ao cubo persistente localmente. Para obter mais informações sobre cubos locais, consulte Cubos Locais (Analysis Services – Dados Multidimensionais).
Sintaxe
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
Elementos de sintaxe
local_cube_name
O nome do cubo local.
'Cube_Location'
O nome e o caminho do cubo persistente localmente.
source_cube_name
O nome do cubo no qual o cubo local se baseia.
source_cube_name.measure_name
O nome totalmente qualificado da medida de origem que está sendo incluída no cubo local. Membros calculados da dimensão Medidas não são permitidos.
measure_name
O nome da medida no cubo local.
source_cube_name.dimension_name
O nome totalmente qualificado da dimensão de origem que está sendo incluída no cubo local.
dimension_name
O nome da dimensão no cubo local.
FROM <dim from clause>
Especificação válida somente para definição de dimensão derivada.
NOT_RELATED_TO_FACTS
Especificação válida somente para definição de dimensão derivada.
<tipo de nível>
Especificação válida somente para definição de dimensão derivada.
Observações
Um cubo local é definido em termos de medidas e definições que o definem. Há dois tipos de dimensões.
Dimensões de origem – São dimensões que faziam parte de um dos cubos de origem
Dimensões derivadas – são dimensões que fornecem novos recursos de análise. Uma dimensão derivada pode ser uma dimensão regular definida com base em uma dimensão de origem que é fatiada vertical ou horizontalmente ou contém agrupamento personalizado de membros da dimensão. Uma dimensão derivada também pode ser uma dimensão de mineração de dados com base em um modelo de mineração de dados.
Nota
A palavra-chave Dimensão pode se referir a dimensões ou hierarquias.
Em um cubo local, você pode executar as seguintes tarefas:
Eliminar dimensões que existem no cubo de origem
Adicionar ou eliminar hierarquias de uma dimensão
Eliminar grupos de medidas ou medidas específicas
A instrução CREATE GLOBAL CUBE segue estas regras:
A instrução CREATE GLOBAL CUBE copia automaticamente todos os comandos, como medidas ou ações calculadas, para o cubo local. Se um comando contiver uma expressão MDX (Expressões Multidimensionais) que referencie explicitamente o cubo pai, o cubo local não poderá executar esse comando. Para evitar esse problema, use a palavra-chave CURRENTCUBE ao definir expressões MDX para comandos. A palavra-chave CURRENTCUBE usa o contexto do cubo atual ao referenciar um cubo dentro de uma expressão MDX.
Um cubo global criado a partir de um cubo global existente em um arquivo de cubo local não pode ser salvo no mesmo arquivo de cubo local. Por exemplo, você cria um cubo global chamado SalesLocal1 e salva esse cubo no arquivo C:\SalesLocal.cub. Em seguida, conecte-se ao arquivo C:\SalesLocal.cub e crie um segundo cubo global chamado SalesLocal2. Se você tentar salvar o cubo global SalesLocal2 no arquivo C:\SalesLocal.cub, receberá um erro. No entanto, você pode salvar o cubo global SalesLocal2 em um arquivo de cubo local diferente.
Os cubos globais não dão suporte a medidas de contagem distintas. Como os cubos que incluem medidas de contagem distintas não são aditivos, a instrução CREATE GLOBAL CUBE não pode dar suporte à criação ou ao uso de medidas de contagem distintas.
Ao adicionar uma medida a um cubo local, você também deve incluir pelo menos uma dimensão relacionada à medida que está sendo adicionada.
Ao adicionar uma hierarquia pai-filho a um cubo local, os níveis e filtros em uma hierarquia pai-filho são ignorados e toda a hierarquia pai-filho é incluída.
Não há suporte para propriedades de membro em cubos locais.
Você não pode criar um cubo local de uma perspectiva.
Quando você inclui uma medida semi-aditiva a um cubo local, as seguintes regras se aplicam:
Você deve incluir a dimensão Conta se a propriedade AggregateFunction para a medida que está sendo adicionada for ByAccount.
Você deve incluir toda a dimensão Tempo se a medida de propriedade AggregateFunction que está sendo adicionada for FirstChild, LastChild, FirstNonEmpty, LastNonEmpty ou AverageOfChildren.
Dimensões de mineração de dados não podem ser adicionadas a um cubo local.
As dimensões de referência são materializadas e adicionadas como dimensões regulares.
Quando você inclui uma dimensão muitos para muitos, as seguintes regras se aplicam:
Você deve adicionar toda a dimensão muitos para muitos.
Você deve adicionar o grupo de medidas intermediário.
Você deve adicionar a totalidade de todas as dimensões comuns aos dois grupos de medidas envolvidos na relação muitos para maio.
O exemplo a seguir demonstra a criação de uma versão local e persistente do cubo Adventure Works que contém apenas a medida Valor de Vendas do Revendedor, a dimensão Revendedor e a dimensão Data.
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]
)
O exemplo a seguir demonstra o fatiamento ao criar um cubo local. O cubo global criado baseia-se no cubo adventure works fatiado verticalmente pelo membro 2005 do nível de Ano Fiscal e horizontalmente pelos níveis ano fiscal e mês.
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]
)
)
Consulte Também
instruções de definição de dados MDX (MDX)
instrução CREATE SESSION CUBE (MDX)