Definição de dados MDX - CREATE GLOBAL CUBE
Cria e preenche 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 persistido 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 para o cubo persistente localmente.
source_cube_name
O nome do cubo no qual o cubo local se baseia.
source_cube_name.nome_da_medida
O nome totalmente qualificado da medida de origem que está sendo incluída no cubo local. Não são permitidos membros calculados da dimensão Medidas.
measure_name
O nome da medida no cubo local.
source_cube_name.nome_da_dimensão
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.
DE <escurecer da cláusula>
Especificação válida apenas para definição de dimensão derivada.
NOT_RELATED_TO_FACTS
Especificação válida apenas para definição de dimensão derivada.
<tipo de nível>
Especificação válida apenas para definição de dimensão derivada.
Comentários
Um cubo local é definido em termos das medidas e definições que o definem. Existem dois tipos de dimensões.
Dimensões da fonte - Estas são dimensões que faziam parte de um dos mais cubos de origem
Dimensões derivadas - São dimensões que fornecem novas capacidades 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 baseada em um modelo de mineração de dados.
Observação
A palavra-chave Dimension pode referir-se a dimensões ou hierarquias.
Em um cubo local, você pode executar as seguintes tarefas:
Elimine as dimensões existentes 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 (Multidimensional Expressions) que faça referência explícita ao 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 fazer referência a 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, você se conecta ao arquivo C:\SalesLocal.cub e cria um segundo cubo global chamado SalesLocal2. Se agora 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 suportam 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 suportar a criação ou o 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.
As propriedades de membro não são suportadas em cubos locais.
Não é possível criar um cubo local a partir de uma perspetiva.
Quando você inclui uma medida semiaditiva a um cubo local, as seguintes regras se aplicam:
Você deve incluir a dimensão Account se a propriedade AggregateFunction para a medida que está sendo adicionada for ByAccount.
Você deve incluir toda a dimensão Time se a medida da propriedade AggregateFunction que está sendo adicionada for FirstChild, LastChild, FirstNonEmpty, LastNonEmpty ou AverageOfChildren.
As 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árias.
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 da 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 quando você cria um cubo local. O cubo global criado é baseado no cubo da Adventure Works fatiado verticalmente pelo membro de 2005 do nível do Ano Fiscal e horizontalmente pelos níveis do Ano Fiscal e do 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]
)
)
Ver também
Instruções de definição de dados MDX (MDX)
instrução CREATE SESSION CUBE (MDX)