Condividi tramite


Definizione dei dati MDX - CREATE GLOBAL CUBE

Crea e popola un cubo persistente in locale, in base a un sottocubo da un cubo nel server. Non è necessaria una connessione al server per connettersi al cubo persistente in locale. Per altre informazioni sui cubi locali, vedere Cubi locali (Analysis Services - Dati multidimensionali).

Sintassi

  
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   

Elementi della sintassi

local_cube_name
Nome del cubo locale.

'Cube_Location'
Nome e percorso del cubo persistente in locale.

source_cube_name
Nome del cubo su cui si basa il cubo locale.

source_cube_name.measure_name
Nome completo della misura di origine inclusa nel cubo locale. I membri calcolati della dimensione Measures non sono consentiti.

measure_name
Nome della misura nel cubo locale.

source_cube_name.dimension_name
Nome completo della dimensione di origine inclusa nel cubo locale.

dimension_name
Nome della dimensione nel cubo locale.

FROM <dim dalla clausola>
Specifica valida solo per la definizione della dimensione derivata.

NOT_RELATED_TO_FACTS
Specifica valida solo per la definizione della dimensione derivata.

<tipo di livello>
Specifica valida solo per la definizione della dimensione derivata.

Osservazioni

Un cubo locale viene definito in termini di misure e definizioni che lo definiscono. Esistono due tipi di dimensioni.

  • Dimensioni di origine: si tratta di dimensioni che fanno parte di uno di più cubi di origine

  • Dimensioni derivate: si tratta di dimensioni che forniscono nuove funzionalità di analisi. Una dimensione derivata può essere una dimensione regolare definita in base a una dimensione di origine che viene sezionata verticalmente o orizzontalmente oppure contiene un raggruppamento personalizzato di membri della dimensione. Una dimensione derivata può essere anche una dimensione di data mining basata su un modello di data mining.

Nota

La parola chiave Dimension può fare riferimento a dimensioni o gerarchie.

In un cubo locale è possibile eseguire le attività seguenti:

  • Eliminare le dimensioni esistenti nel cubo di origine

  • Aggiungere o eliminare gerarchie da una dimensione

  • Eliminare gruppi di misure o misure specifiche

L'istruzione CREATE GLOBAL CUBE segue queste regole:

  • L'istruzione CREATE GLOBAL CUBE copia automaticamente tutti i comandi, ad esempio le misure calcolate o le azioni, nel cubo locale. Se un comando contiene un'espressione MDX (Multidimensional Expressions) che fa riferimento al cubo padre in modo esplicito, il cubo locale non può eseguire tale comando. Per evitare questo problema, usare la parola chiave CURRENTCUBE quando si definiscono espressioni MDX per i comandi. La parola chiave CURRENTCUBE usa il contesto del cubo corrente quando si fa riferimento a un cubo all'interno di un'espressione MDX.

  • Un cubo globale creato da un cubo globale esistente in un file di cubo locale non può essere salvato nello stesso file del cubo locale. Ad esempio, si crea un cubo globale denominato SalesLocal1 e si salva questo cubo nel file C:\SalesLocal.cub. Connettersi quindi al file C:\SalesLocal.cub e creare un secondo cubo globale denominato SalesLocal2. Se si tenta ora di salvare il cubo globale SalesLocal2 nel file C:\SalesLocal.cub, verrà visualizzato un errore. Tuttavia, è possibile salvare il cubo globale SalesLocal2 in un file di cubo locale diverso.

  • I cubi globali non supportano misure di conteggio distinte. Poiché i cubi che includono misure conteggio distinte non sono aggiuntive, l'istruzione CREATE GLOBAL CUBE non può supportare la creazione o l'uso di misure conteggio distinte.

  • Quando si aggiunge una misura a un cubo locale, è necessario includere almeno una dimensione correlata alla misura da aggiungere.

  • Quando si aggiunge una gerarchia padre-figlio a un cubo locale, i livelli e i filtri in una gerarchia padre-figlio vengono ignorati e viene inclusa l'intera gerarchia padre-figlio.

  • Le proprietà dei membri non sono supportate nei cubi locali.

  • Non è possibile creare un cubo locale da una prospettiva.

  • Quando si include una misura semi-additivi per un cubo locale, si applicano le regole seguenti:

    • È necessario includere la dimensione Account se la proprietà AggregateFunction per la misura aggiunta è ByAccount.

    • È necessario includere l'intera dimensione Time se la misura della proprietà AggregateFunction da aggiungere è FirstChild, LastChild, FirstNonEmpty, LastNonEmpty o AverageOfChildren.

  • Impossibile aggiungere dimensioni di data mining a un cubo locale.

  • Le dimensioni di riferimento vengono materializzate e aggiunte come dimensioni regolari.

  • Quando si include una dimensione molti-a-molti, si applicano le regole seguenti:

    • È necessario aggiungere l'intera dimensione molti-a-molti.

    • È necessario aggiungere il gruppo di misure intermedio.

    • È necessario aggiungere l'intera dimensione comune ai due gruppi di misure coinvolti nella relazione molti-a-may.

Nell'esempio seguente viene illustrata la creazione di una versione locale persistente del cubo Adventure Works che contiene solo la misura Reseller Sales Amount, la dimensione Reseller e la dimensione Date.

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]  
   )  

Nell'esempio seguente viene illustrato il sezionamento quando si crea un cubo locale. Il cubo globale creato si basa sul cubo Adventure Works sezionato verticalmente dal membro 2005 del livello Fiscal Year e orizzontalmente in base ai livelli Anno fiscale e Mese.

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]  
      )  
   )  

Vedere anche

MDX Data Definition Statements (MDX)
istruzione CREATE SESSION CUBE (MDX)