MEMBERGET

Cette fonction renvoie le nom unique d'un élément en faisant référence à sa relation avec un élément consolidé. Cette fonction est disponible uniquement pour les bases de données compatibles ODBO. Utiliser le format numérique tilde (~) pour renvoyer la légende.

Syntaxe

MEMBERGET("data_connection","cube","hierarchy","element_name","param" {,"param"})

Remarque

Le troisième argument de la fonction est la hiérarchie, et non la dimension. Cette différence est importante lors de l'utilisation de bases de données relationnelles ou Analysis Services, lesquelles peuvent comporter plusieurs hiérarchies dans une dimension. Il est nécessaire d'indiquer le nom unique de la hiérarchie.

Un changement provisoire a été apporté à la manière dont MEMBERGET gère les paramètres d'élément et de hiérarchie non valides ou incompatibles.

Si plusieurs dimensions contiennent le même nom d'élément, l'erreur Incompatibilité de dimensionnalité peut survenir. Pour éviter ce problème, spécifier le nom unique de l'élément.
Remarque

En cas d'indication d'une chaîne vide en tant que nom d'élément, l'élément par défaut de la hiérarchie spécifiée est supposé.

Exemple

Cet exemple utilise la base de données Adventure Works pour Analysis Services. La dimension Geography (géographie) comporte plusieurs hiérarchies. Cet exemple utilise la hiérarchie City (Ville). Son nom unique est [Geography].[City].

=MEMBERGET("Adventure Works","Adventure Works","[Geography].[City]",
"[Geography].[City].&[Abingdon]&[ENG]","Sibling",2)
Cet exemple renvoie l'élément Alexandria [NSW]. Il s'agit du second frère (à partir de zéro) de Abingdon [ENG]. Remplacer 2 par 1 pour renvoyer Albany [OR], le premier frère de l'élément Abingdon [ENG].
Les valeurs possibles pour Param1 sont les suivantes :
Child (Enfant)
Renvoie l'enfant (à base de zéro) de l'élément parent, spécifié par Param2. Param2 doit être un nombre.
Next (Suivant)
Renvoie l'élément suivant de la hiérarchie au même niveau que l'élément spécifié. Param2 est facultatif.
Remarque

Memberget ("...,"Next") renvoie le même résultat que Memberget ("...,"Sibling",1)

Prev
Renvoie l'élément de la hiérarchie qui se trouve avant l'élément spécifié et au même niveau. Param2 est facultatif.
Sibling (Frère)
Renvoie le frère de l'élément parent, spécifié par param2. Param2 doit être un nombre positif ou négatif, ou zéro.
Remarque
Memberget ("...,"sibling",-1) is equivalent to Memberget ("...,"Prev")
Parent
Renvoie le parent de l'élément spécifié. Param2 est facultatif.
=MEMBERGET("Adventure Works","Adventure Works","[Geography].[City]",
"[Geography].[City].&[Abingdon]&[ENG]","Parent")
Paramètres « Self » et « Verify »
Ces deux paramètres renvoient le nom unique de l'élément spécifié. Param2 est facultatif. Si l'élément n'existe pas, la formule renvoie l'élément par défaut de la hiérarchie spécifiée.
Le paramètre « Verify » permet de vérifier que la hiérarchie spécifiée existe. Dans le cas contraire, la formule renvoie #NA!.
Le paramètre « Self » ne vérifie pas si la hiérarchie spécifiée existe. C'est-à-dire que si l'élément existe, la formule renvoie son nom unique.
Remarque

Memberget ("...,"Self") et Memberget ("...,"Verify") équivalent à ("...,"Sibling",0)

Exemple

L'élément par défaut d'une hiérarchie n'est pas nécessairement l'élément du niveau le plus élevé. Pour trouver l'élément par défaut, il est possible d'utiliser le paramètre self et une chaîne vide comme nom d'élément :

=MEMBERGET("data_connection","cube","hierarchy","","self")

Multisélection

MEMBERGET prend en charge la multisélection. C'est-à-dire que la fonction MEMBERGET permet de renvoyer les noms uniques de plusieurs éléments stockés dans une définition MLS-XML.

Par exemple, la variable de rapport rv_multi contient la définition MLS-XML suivante :
<?xml version="1.0" encoding="utf-16"?>
<MultiSelect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Hierarchy>[Period]</Hierarchy>
  <AggregationFunction>Sum</AggregationFunction>
  <StructureSelection>
    <Member>
      <MemberUName>[period].[all years].[2016]</MemberUName>
    </Member>
    <Member>
      <MemberUName>[period].[all years].[2017]</MemberUName>
    </Member>
  </StructureSelection>
</MultiSelect>
Dans cet exemple, la formule MEMBERGET suivante est créée :
=MEMBERGET( "BestPracticesOLAP", "Analysis", "[Period]", reportvariables.rv_multi.text, "child",2)

La formule MEMBERGET renvoie cette définition MLS-XML :

<?xml version="1.0" encoding="utf-16"?>
<MultiSelect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Hierarchy>[Period]</Hierarchy>
  <AggregationFunction>Sum</AggregationFunction>
  <StructureSelection>
    <Member>
      <MemberUName>[Period].[All Years].[2016].[2016_Q3]</MemberUName>
    </Member>
    <Member>
      <MemberUName>[Period].[All Years].[2017].[2017_Q3]</MemberUName>
    </Member>
  </StructureSelection>
</MultiSelect>
Remarque

La cellule contenant la formule MEMBERGET affiche </Multiselect>. Développer la hauteur de la cellule pour afficher l'ensemble de la définition MLS-XML.

Il est possible d'utiliser la fonction MULTISELECTGETMEMBERS ou MULTISELECTGETMEMBERSSIMPLE pour extraire les noms uniques des éléments stockés dans la définition MLS-XML.

Pour afficher les légendes des éléments de la cellule, il est en outre possible d'utiliser le caractère tilde (~) comme format numérique pour la cellule.