Définition de données MDX - CREATE GLOBAL CUBE
Crée et remplit un cube persistant localement, en fonction d’un sous-cube à partir d’un cube sur le serveur. Une connexion au serveur n’est pas nécessaire pour se connecter au cube persistant localement. Pour plus d’informations sur les cubes locaux, consultez Cubes locaux (Analysis Services - Données multidimensionnelles).
Syntaxe
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
Éléments de syntaxe
local_cube_name
Nom du cube local.
'Cube_Location'
Nom et chemin d’accès du cube conservé localement.
source_cube_name
Nom du cube sur lequel le cube local est basé.
source_cube_name.measure_name
Nom complet de la mesure source incluse dans le cube local. Les membres calculés de la dimension Mesures ne sont pas autorisés.
measure_name
Nom de la mesure dans le cube local.
source_cube_name.dimension_name
Nom complet de la dimension source incluse dans le cube local.
dimension_name
Nom de la dimension dans le cube local.
FROM <dim from clause>
Spécification valide pour la définition de dimension dérivée uniquement.
NOT_RELATED_TO_FACTS
Spécification valide pour la définition de dimension dérivée uniquement.
<type de niveau>
Spécification valide pour la définition de dimension dérivée uniquement.
Remarques
Un cube local est défini en termes de mesures et de définitions qui le définissent. Il existe deux types de dimensions.
Dimensions sources : il s’agit de dimensions qui faisaient partie d’un de plusieurs cubes sources
Dimensions dérivées : il s’agit de dimensions qui fournissent de nouvelles fonctionnalités d’analyse. Une dimension dérivée peut être une dimension régulière définie en fonction d’une dimension source qui est segmentée verticalement ou horizontalement, ou contient un regroupement personnalisé de membres de dimension. Une dimension dérivée peut également être une dimension d’exploration de données basée sur un modèle d’exploration de données.
Note
Le mot clé Dimension peut faire référence à des dimensions ou des hiérarchies.
Dans un cube local, vous pouvez effectuer les tâches suivantes :
Éliminer les dimensions qui existent dans le cube source
Ajouter ou éliminer des hiérarchies d’une dimension
Éliminer les groupes de mesures ou des mesures spécifiques
L’instruction CREATE GLOBAL CUBE suit les règles suivantes :
L’instruction CREATE GLOBAL CUBE copie automatiquement toutes les commandes, telles que les mesures calculées ou les actions, dans le cube local. Si une commande contient une expression MDX (Multidimensional Expressions) qui référence explicitement le cube parent, le cube local ne peut pas exécuter cette commande. Pour éviter ce problème, utilisez le mot clé
CURRENTCUBE lors de la définition d’expressions MDX pour les commandes. Le mot clé CURRENTCUBE utilise le contexte de cube actuel lors du référencement d’un cube dans une expression MDX. Un cube global créé à partir d’un cube global existant dans un fichier de cube local ne peut pas être enregistré dans le même fichier de cube local. Par exemple, vous créez un cube global nommé SalesLocal1 et enregistrez ce cube dans le fichier C :\SalesLocal.cub. Vous vous connectez ensuite au fichier C :\SalesLocal.cub et créez un deuxième cube global nommé SalesLocal2. Si vous essayez maintenant d’enregistrer le cube global SalesLocal2 dans le fichier C :\SalesLocal.cub, vous recevrez une erreur. Toutefois, vous pouvez enregistrer le cube global SalesLocal2 dans un autre fichier de cube local.
Les cubes globaux ne prennent pas en charge les mesures de comptage distinctes. Étant donné que les cubes qui incluent des mesures de comptage distinctes ne sont pas nécessaires, l’instruction CREATE GLOBAL CUBE ne peut pas prendre en charge la création ou l’utilisation de mesures de comptage distinctes.
Lors de l’ajout d’une mesure à un cube local, vous devez également inclure au moins une dimension liée à la mesure ajoutée.
Lors de l’ajout d’une hiérarchie parent-enfant à un cube local, les niveaux et les filtres d’une hiérarchie parent-enfant sont ignorés et la hiérarchie parent-enfant entière est incluse.
Les propriétés de membre ne sont pas prises en charge dans les cubes locaux.
Vous ne pouvez pas créer un cube local d’un point de vue.
Lorsque vous incluez une mesure semi-additive dans un cube local, les règles suivantes s’appliquent :
Vous devez inclure la dimension Account si la propriété AggregateFunction pour la mesure ajoutée est ByAccount.
Vous devez inclure la dimension Time entière si la mesure de propriété AggregateFunction ajoutée est FirstChild, LastChild, FirstNonEmpty, LastNonEmpty ou AverageOfChildren.
Les dimensions d’exploration de données ne peuvent pas être ajoutées à un cube local.
Les dimensions de référence sont matérialisées et ajoutées en tant que dimensions régulières.
Lorsque vous incluez une dimension plusieurs-à-plusieurs, les règles suivantes s’appliquent :
Vous devez ajouter l’ensemble de la dimension plusieurs-à-plusieurs.
Vous devez ajouter le groupe de mesures intermédiaire.
Vous devez ajouter l’intégralité de toutes les dimensions communes aux deux groupes de mesures impliqués dans la relation plusieurs-à-mai.
L’exemple suivant illustre la création d’une version locale et persistante du cube Adventure Works qui contient uniquement la mesure Reseller Sales Amount, la dimension Reseller et la dimension 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]
)
L’exemple suivant illustre le découpage lorsque vous créez un cube local. Le cube global créé est basé sur le cube Adventure Works segmenté verticalement par le membre 2005 du niveau année fiscale et horizontalement par les niveaux Année fiscale et Mois.
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]
)
)
Voir aussi
MDX (Data Definition Statements) MDX
'instruction CREATE SESSION CUBE (MDX)