Qu'est-ce que la fonction PROPRIETEMEMBRECUBE ?
PROPRIETEMEMBRECUBE (CUBEMEMBERPROPERTY en anglais) te sert quand ton rapport doit refléter un attribut qui vit dans le cube OLAP lui-même, comme un code produit ou une région, et que tu veux qu'il reste à jour tout seul plutôt que de le retaper à chaque changement de structure. C'est la fonction à utiliser dès qu'une métadonnée doit rester connectée en direct à sa source.
Concrètement, c'est elle qui te permet d'afficher automatiquement le responsable commercial associé à chaque client dans ton rapport de ventes, sans maintenir une table de correspondance séparée. Elle se connecte directement au serveur OLAP et récupère la propriété demandée en temps réel. Combine-la avec MEMBRECUBE pour cibler le bon membre et avec VALEURCUBE pour afficher les chiffres associés.
Syntaxe
=PROPRIETEMEMBRECUBE(connexion; expression_membre; propriété)Clique sur un argument pour aller à son explication.
La connexion doit être préalablement configurée dans ton classeur via Données > Connexions existantes. Les noms de propriétés sont sensibles à la casse et doivent correspondre exactement à ceux définis dans le cube OLAP.

Comprendre chaque paramètre de la fonction PROPRIETEMEMBRECUBE
Les trois arguments s'enchaînent dans cet ordre : d'abord la connexion au cube, ensuite l'expression MDX qui pointe vers le membre, enfin le nom de la propriété à extraire. Aucun n'est facultatif, il faut les fournir tous les trois.
Deux d'entre eux sont sensibles à la casse : le nom de la connexion et le nom de la propriété. Un "Manager" écrit "manager" ne renverra pas la même chose, voire une erreur.
connexion
: le nom de la connexion au cube OLAP, tel qu'il est configuré dans ton classeurCe paramètre doit être une chaîne de texte entre guillemets, par exemple "VentesCube" ou "CRM_OLAP".
Pour vérifier les connexions disponibles, va dans Données > Connexions. Le nom est sensible à la casse et doit correspondre exactement à celui visible dans la liste.
expression_membre
: l'expression MDX (Multidimensional Expressions) qui identifie de manière unique le membre dont tu veux extraire la propriétéElle utilise la notation à crochets pour décrire la hiérarchie du cube.
Exemples valides : "[Client].[Paris]", "[Produit].[Ordinateur Pro]", "[Magasin].[Lyon Part-Dieu]". Tu peux aussi référencer une cellule contenant le résultat d'une formule MEMBRECUBE pour rendre l'expression dynamique.
propriété
: le nom de la propriété à extraire pour ce membreLes propriétés disponibles dépendent entièrement de la structure du cube OLAP et de ce qui a été défini lors de la création des dimensions.
Propriétés typiques : "Manager", "CodeInterne", "Region", "Email", "Telephone", "SeuilAlerte", "StatutApprobation". Consulte la documentation de ton cube ou les outils d'analyse OLAP pour connaître la liste exacte.
Attention : Le nom de propriété est sensible à la casse. "Manager" et "manager" donnent des résultats différents, voire une erreur si la casse ne correspond pas exactement à la définition dans le cube.

Exemples pratiques pas à pas
Analyste commercial : afficher le manager de chaque client
Tu gères le reporting commercial et tu dois afficher le nom du responsable commercial pour chaque client dans ton tableau de bord de ventes. Plutôt que de maintenir une table de correspondance séparée (qui peut être obsolète), tu interroges directement le cube OLAP.
- 1Dans une cellule, écris
=PROPRIETEMEMBRECUBE(. - 2En 1er argument : écris le nom de la connexion au cube entre guillemets,
"Ventes". Ton classeur doit déjà être relié à un cube OLAP (Analysis Services, Azure AS ou Power BI), et ce nom doit reprendre à la casse près celui qui figure dans Données > Connexions, sinon la fonction n'a rien à interroger. - 3En 2ᵉ argument : saisis l'expression MDX qui pointe le membre,
"[Client].[Paris]". Elle se lit de gauche à droite :[Client]est la dimension du cube et[Paris]le membre précis dont tu veux lire un attribut. - 4En 3ᵉ argument : écris le nom de la propriété à extraire entre guillemets,
"Manager". Ce nom est sensible à la casse, alors recopie-le tel qu'il est défini dans le cube pour éviter une erreur. - 5Ferme la parenthèse et appuie sur Entrée.
=PROPRIETEMEMBRECUBE("Ventes";"[Client].[Paris]";"Manager")[Client].[Paris] et renvoie la propriété Manager, soit Sophie Martin. Le résultat se met à jour automatiquement si les données du cube changent, sans aucune intervention de ta part.Contrôleur : extraire les codes internes des produits
Tu es contrôleur et tu dois ajouter les codes internes des produits pour la traçabilité et la conformité audit. Ces codes sont stockés comme propriétés dans la dimension Produit du cube OLAP, centralisés au niveau du système source.
- 1Dans une cellule, écris
=PROPRIETEMEMBRECUBE(. - 2En 1er argument : écris le nom de la connexion au cube entre guillemets,
"Catalogue". Ton classeur doit déjà être relié au cube OLAP et sa dimension Produit porter un attribut de code interne, et ce nom se reprend à la casse près de celui listé dans Données > Connexions. - 3En 2ᵉ argument : saisis l'expression MDX qui pointe le membre,
"[Produit].[Ordinateur Pro]".[Produit]est la dimension et[Ordinateur Pro]le membre ciblé, dont tu respectes les espaces exactement comme dans le cube. - 4En 3ᵉ argument : écris le nom de la propriété qui porte le code de traçabilité entre guillemets,
"CodeInterne". Comme la casse compte, copie-colle ce nom depuis la définition du cube plutôt que de le retaper. - 5Ferme la parenthèse et appuie sur Entrée.
=PROPRIETEMEMBRECUBE("Catalogue";"[Produit].[Ordinateur Pro]";"CodeInterne")PROD-2024-A15 pour l'Ordinateur Pro, sans table de correspondance à maintenir dans Excel. Si un code change dans le système source, ton rapport se met à jour lors du prochain rafraîchissement de la connexion.Analyste BI : enrichir un rapport avec la région de chaque magasin
Tu construis un rapport territorial et tu veux enrichir chaque ligne de données avec la région administrative du magasin pour pouvoir agréger et filtrer par région. La propriété Région est définie dans la hiérarchie géographique du cube.
- 1Dans une cellule, écris
=PROPRIETEMEMBRECUBE(. - 2En 1er argument : écris le nom de la connexion au cube entre guillemets,
"Ventes". Ton classeur doit déjà être relié au cube OLAP et sa dimension Magasin exposer un attribut de région, et ce nom se reprend à l'identique de celui visible dans Données > Connexions. - 3En 2ᵉ argument : saisis l'expression MDX qui pointe le membre,
"[Magasin].[Paris Centre]". La dimension[Magasin]précède le membre[Paris Centre], et pour traiter tous tes magasins tu copies la formule vers le bas en faisant varier ce membre. - 4En 3ᵉ argument : écris le nom de la propriété géographique à afficher entre guillemets,
"Région". Le nom est sensible à la casse et aux accents, alors reprends-le tel qu'il figure dans le cube. - 5Ferme la parenthèse et appuie sur Entrée.
=PROPRIETEMEMBRECUBE("Ventes";"[Magasin].[Paris Centre]";"Région")Responsable RH : tableau de coordonnées depuis le cube
Tu dois générer un annuaire complet des employés avec leurs coordonnées, en partant des données centralisées dans le cube RH. Plutôt que d'exporter et de coller des données, tu extrais directement les propriétés depuis Excel.
- 1Dans une cellule, écris
=PROPRIETEMEMBRECUBE(. - 2En 1er argument : écris le nom de la connexion au cube entre guillemets,
"RH". Ton classeur doit déjà être relié au cube OLAP et sa dimension Employé porter les attributs de coordonnées, et ce nom se reprend en respectant exactement sa casse. - 3En 2ᵉ argument : saisis l'expression MDX qui pointe le membre,
"[Employé].[Alice Durand]". La dimension[Employé]est suivie du membre[Alice Durand], dont tu veux justement lire les coordonnées. - 4En 3ᵉ argument : écris le nom de la propriété à extraire entre guillemets,
"Email". Tu réécris ensuite la même formule avec"Département"puis"Téléphone"dans les colonnes voisines, une propriété par colonne, et l'annuaire entier se construit à partir du cube. - 5Ferme la parenthèse et appuie sur Entrée.
=PROPRIETEMEMBRECUBE("RH";"[Employé].[Alice Durand]";"Email")Email, Département et Téléphone dans trois colonnes distinctes. L'annuaire se met à jour automatiquement si les coordonnées changent dans le système RH source.
Les erreurs fréquentes avec la fonction PROPRIETEMEMBRECUBE
Comme cette fonction parle en direct au serveur OLAP, ses ratés viennent presque toujours de ce dialogue : un nom de connexion qui ne colle pas (#NOM?), une propriété qui n'existe pas sur le membre (#VALEUR!), ou simplement le serveur qui prend son temps (#OBTENTION_DONNEES...).
Le dernier cas n'est pas une erreur mais un signal de fatigue : multiplie les formules sur des centaines de lignes et chaque cellule lance sa propre requête, ce qui fait ramer le recalcul.
Erreur #NOM? – Connexion ou membre introuvable
Excel ne trouve pas la connexion OLAP spécifiée ou l'expression membre est invalide. Le nom de connexion est sensible à la casse ou ne correspond pas exactement à celui configuré dans le classeur.
Solution : Va dans Données > Connexions pour vérifier le nom exact de ta connexion OLAP. Copie-colle ce nom dans ta formule entre guillemets pour éviter toute erreur de frappe. Vérifie aussi que l'expression MDX utilise la syntaxe correcte avec les crochets.
Erreur #VALEUR! – Propriété inexistante
La propriété demandée n'existe pas pour ce membre dans le cube OLAP, ou son nom est mal orthographié. Les noms de propriétés sont sensibles à la casse.
Solution : Consulte la documentation du cube ou utilise les outils d'analyse OLAP pour lister les propriétés disponibles. Copie-colle le nom exact de la propriété depuis cette liste. Encapsule la formule dans SIERREUR(...; "Propriété non disponible") pour gérer ce cas proprement.
Affichage #OBTENTION_DONNEES... – Connexion en cours
Excel interroge actuellement le serveur OLAP. Ce message est temporaire et apparaît pendant le chargement des données depuis le cube.
Solution : Attends quelques secondes que la connexion s'établisse. Si le message persiste plus de 30 secondes, vérifie que le serveur OLAP est accessible depuis ton réseau et que tes identifiants de connexion sont valides.
Performances lentes avec de nombreuses formules
Chaque formule PROPRIETEMEMBRECUBE génère une requête au serveur OLAP. Sur un rapport avec des centaines de lignes, cela peut ralentir significativement les recalculs.
Solution : Utilise des tableaux croisés dynamiques OLAP pour les grands volumes de données (ils optimisent les requêtes en batch). Pour des propriétés qui changent rarement, mets en cache les valeurs dans une table locale et rafraîchis manuellement.
Questions fréquentes
MEMBRECUBE retourne le membre lui-même (son nom ou son identifiant MDX dans le cube), tandis que PROPRIETEMEMBRECUBE extrait une propriété spécifique de ce membre, comme son manager, son code ou tout autre attribut. En pratique, tu utilises MEMBRECUBE pour naviguer dans la structure du cube, et PROPRIETEMEMBRECUBE pour afficher des informations contextuelles associées à un membre que tu as déjà identifié.
Non. PROPRIETEMEMBRECUBE nécessite une connexion active à un cube OLAP. Si la connexion est interrompue ou si le serveur OLAP est inaccessible, la fonction retourne une erreur. Assure-toi que ta connexion est configurée dans Données > Connexions et que le serveur est accessible depuis ton réseau. La connexion s'actualise généralement automatiquement à l'ouverture du classeur.
Les propriétés disponibles dépendent entièrement de la structure du cube OLAP et de ce qui a été défini lors de la création des dimensions. Typiquement : nom, code, manager, région, email, téléphone, objectifs, seuils d'alerte, dates de création, statuts d'approbation. Consulte la documentation de ton cube ou demande à l'équipe qui l'administre pour obtenir la liste complète des propriétés disponibles.
La méthode la plus fiable est de consulter la documentation du cube OLAP ou d'utiliser les outils d'analyse du serveur (SQL Server Management Studio, par exemple). Les propriétés sont définies lors de la création des dimensions dans le cube.
Tu peux aussi demander à l'équipe BI ou au DBA responsable du cube. Certains serveurs exposent les propriétés via des requêtes MDX de type PROPERTIES sur les dimensions.
Utilise MEMBRECUBE dans l'argument expression_membre pour le construire dynamiquement depuis une valeur de cellule. Par exemple, si A2 contient Paris, tu peux écrire : =PROPRIETEMEMBRECUBE("Ventes"; MEMBRECUBE("Ventes"; "[Client].[" & A2 & "]"); "Manager").
En copiant cette formule vers le bas, chaque ligne interroge le cube pour le membre correspondant à la valeur de la colonne A.
Oui, si ton classeur Excel est connecté à un modèle Power BI via la connexion OLAP exposée par le service Analysis Services de Power BI Premium. La syntaxe est identique, seul le nom de connexion et les expressions MDX changent pour correspondre à la structure du modèle Power BI.
Pour aller plus loin
Continue sur ta lancée après la fonction PROPRIETEMEMBRECUBE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




