Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée un membre calculé.
Syntax
CREATE [ SESSION ] [HIDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name
AS MDX_Expression
[,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]
Arguments
Cube_Name
Une expression de chaîne valide qui fournit le nom du cube où l’élément sera créé.
Member_Name
Une expression de chaîne valide qui fournit un nom de membre. Spécifier un nom pleinement qualifié pour créer un membre dans une dimension autre que la dimension Mesures. Si vous ne fournissez pas un nom de membre pleinement qualifié, le membre sera créé dans la dimension Mesures.
MDX_Expression
Une expression valide des expressions multidimensionnelles (MDX).
Property_Name
Une chaîne valide qui fournit le nom d’une propriété de membre calculée.
Property_Value
Une expression scalaire valide qui définit la valeur de la propriété de l’élément calculée.
Remarks
L’instruction CREATE MEMBER définit les membres calculés qui sont disponibles tout au long de la session, et peuvent donc être utilisés dans plusieurs requêtes durant la session. Pour plus d’informations, voir Création de Session-Scoped membres calculés (MDX).
Vous pouvez aussi définir un membre calculé à utiliser par une seule requête. Pour définir un membre calculé limité à une seule requête, vous utilisez la clause WITH dans l’instruction SELECT. Pour plus d’informations, voir Création de Query-Scoped membres calculés (MDX).
Property_Name peut faire référence soit aux propriétés standard des membres soit aux propriétés calculées optionnelles. Les propriétés membres standard sont listées plus loin dans ce sujet. Les membres calculés créés avec CREATE MEMBER sans valeur SESSION ont une portée de session. De plus, les chaînes à l’intérieur des définitions calculées des membres sont délimitées par des guillemets doubles. Cela diffère de la méthode définie par OLE DB, qui précise que les chaînes doivent être délimitées par des guillemets simples.
Spécifier un cube autre que le cube actuellement connecté provoque une erreur. Par conséquent, vous devriez utiliser CURRENTCUBE à la place d’un nom de cube pour désigner le cube actuel.
Pour plus d’informations sur les propriétés des membres définies par OLE DB, consultez la documentation OLE DB.
Scope
Un membre calculé peut apparaître dans l’un des champs d’application listés dans le tableau suivant.
Étendue de requête
La visibilité et la durée de vie du membre calculé sont limitées à la requête. Le membre calculé est défini dans une requête individuelle. Le périmètre de requête supprime le périmètre de session. Pour plus d’informations, voir Création de Query-Scoped membres calculés (MDX).
Portée de la session
La visibilité et la durée de vie du membre calculé sont limitées à la session au cours de laquelle il est créé. (La durée de vie est inférieure à la durée de la session si un relevé DROP MEMBER est émis sur le membre calculé.) L’instruction CREATE MEMBER crée un membre calculé avec l’étendue de la session.
Isolation de la portée
Lorsqu’un script Cube Multidimensional Expressions (MDX) contient des membres calculés, par défaut les membres calculés sont résolus avant que tout calcul à portée de session ne soit résolu et avant que tout calcul défini par requête ne soit résolu.
Note
Dans certains scénarios, la fonction Aggregate (MDX) et la fonction VisualTotals (MDX) n’affichent pas ce comportement.
Ce comportement permet aux applications clientes génériques de travailler avec des cubes contenant des calculs complexes, sans avoir à prendre en compte l’implémentation spécifique des calculs. Cependant, dans certains scénarios, vous pouvez vouloir exécuter des membres calculés par session ou par requête avant certains calculs dans le cube, et ni la fonction Aggregate ni la fonction VisualTotals ne sont applicables. Pour y parvenir, utilisez la propriété de calcul SCOPE_ISOLATION.
Example
Le script suivant est un exemple de scénario où la propriété de calcul SCOPE_ISOLATION est requise pour produire le résultat correct.
Le script MDX de Cube :
CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10
Requête MDX :
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
Le résultat souhaité de la requête précédente est le ratio des ventes pour les États-Unis sans WA, et le coût en magasin pour les USA sans WA. La requête précédente ne retourne pas le résultat souhaité ; il restitue le ratio entre les États-Unis et le rapport de WA, ce qui est un résultat dénué de sens. Pour obtenir le résultat souhaité, vous pouvez utiliser la propriété de calcul SCOPE_ISOLATION.
Requête MDX utilisant la propriété de calcul SCOPE_ISOLATION :
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
,SCOPE_ISOLATION=CUBE
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
Propriétés standard
Chaque membre calculé possède un ensemble de propriétés par défaut. Lorsqu’une application cliente est connectée à Analysis Services, les propriétés par défaut sont soit prises en charge, soit disponibles pour être prises en charge, selon le choix de l’administrateur.
Des propriétés supplémentaires des membres peuvent être disponibles, selon la définition du cube. Les propriétés suivantes représentent des informations pertinentes pour le niveau dimensionnel du cube.
| Identificateur de propriété | Sens |
|---|---|
| SOLVE_ORDER | L’ordre dans lequel le membre calculé sera résolu dans les cas où un élément calculé fait référence à un autre membre calculé (c’est-à-dire lorsque les éléments calculés s’entrecroisent). |
| FORMAT_STRING | Une chaîne de format de type Office que l’application cliente peut utiliser lors de l’affichage des valeurs de cellule. |
| VISIBLE | Une valeur qui indique si l’élément calculé est visible dans un ensemble de lignes de schéma. Les membres visibles calculés peuvent être ajoutés à un ensemble avec la fonction AddCalculatedMembers . Une valeur non nulle indique que l’élément calculé est visible. La valeur par défaut de cette propriété est Visible. Les éléments calculés qui ne sont pas visibles (lorsque cette valeur est réglée à zéro) sont généralement utilisés comme étapes intermédiaires dans des éléments calculés plus complexes. Ces éléments calculés peuvent également être désignés par d’autres types de membres, tels que des mesures. |
| NON_EMPTY_BEHAVIOR | La mesure ou l’ensemble utilisé pour déterminer le comportement des éléments calculés lors de la résolution des cellules vides. ** Avertissement ** Cette propriété est dépréciée. Évitez de le régler. Voir les fonctionnalités d’Analysis Services dépréciées dans SQL Server 2014 pour plus de détails. |
| LÉGENDE | Une chaîne que l’application cliente utilise comme légende pour le membre. |
| DISPLAY_FOLDER | Une chaîne qui identifie le chemin du dossier d’affichage que l’application cliente utilise pour afficher le membre. Le séparateur au niveau des dossiers est défini par l’application cliente. Pour les outils et clients fournis par Analysis Services, la barre oblique inverse (\) est le séparateur de niveau. Pour fournir plusieurs dossiers d’affichage pour un membre défini, utilisez un point-virgule (;) pour séparer les dossiers. |
| ASSOCIATED_MEASURE_GROUP | Le nom du groupe de mesures auquel ce membre est associé. |
Voir aussi
DROP MEMBER, instruction (MDX)
UPDATE Déclaration MEMBRE (MDX)
Déclarations de définition de données MDX (MDX)