Cet article décrit la syntaxe de formule et l’utilisation de la fonction VALEURCUBE dans Microsoft Excel.
Description
Renvoie une valeur d’agrégation issue du cube.
Syntaxe
VALEURCUBE(connexion, [expression_membre1], [expression_membre2], ...)
La syntaxe de la fonction VALEURCUBE contient les arguments suivants :
-
Connexion Obligatoire. Chaîne de texte qui représente le nom de la connexion au cube.
-
Expression_membre Facultatif. Chaîne de texte qui représente une expression multidimensionnelle (MDX) qui indique un membre ou un tuple dans le cube. L’argument expression_membre peut également être un ensemble défini avec la fonction JEUCUBE. Utilisez l’argument expression_membre comme délimiteur pour définir la partie du cube pour laquelle la valeur d’agrégation est renvoyée. Si aucune mesure n’est spécifiée dans l’argument expression_membre, la mesure par défaut pour ce cube est utilisée.
Remarques
-
Lorsque la fonction VALEURCUBE produit une valeur, elle affiche temporairement le message « ##CHARGEMENT_DONNEES… » dans la cellule avant que toutes les données soient récupérées.
-
Si une référence de cellule est utilisée pour l’argument expression_membre et si celle-ci contient une fonction CUBE, expression_membre utilise alors l’expression MDX pour l’élément dans la cellule référencée et non la valeur affichée dans celle-ci.
-
Si le nom de connexion n’est pas une connexion de classeur valide stockée dans le classeur, CUBEVALUE renvoie une #NAME ? #VALEUR!. Si le serveur OLAP (Online Analytical Processing) n’est pas en cours d’exécution, n’est pas disponible ou retourne un message d’erreur, CUBEVALUE renvoie un #NAME ? #VALEUR!.
-
Si au moins un élément du tuple n’est pas valide, CUBEVALUE renvoie une #VALUE ! #VALEUR!.
-
VALEURCUBE renvoie la valeur d’erreur #N/A lorsque :
-
la syntaxe d’expression_membre est incorrecte ;
-
le membre spécifié par expression_membre n’existe pas dans le cube ;
-
Le tuple n’est pas valide car il n’existe aucune intersection pour les valeurs spécifiées. (Cela peut se produire avec plusieurs éléments dans la même hiérarchie.)
-
l’ensemble contient au moins un membre dont la dimension est différente de celle des autres membres.
-
VALEURCUBE peut renvoyer une valeur d’erreur #N/A si vous référencez un objet de session, comme un membre calculé ou un jeu nommé, dans un tableau croisé dynamique lors du partage d’une connexion et si ce tableau est supprimé ou converti en formules. (Sous l’onglet Options, dans le groupe Outils, cliquez sur Outils OLAP, puis sur Convertir en formules.)
-
Problème : les valeurs Null sont converties en chaînes de zéro caractère.
Dans Excel, si une cellule n’a pas de données parce que vous ne l’avez jamais modifiée ou que vous avez supprimé le contenu, la cellule contient une valeur vide. Dans de nombreux systèmes de base de données, une valeur vide est appelée valeur Null. Une valeur vide ou Null signifie littéralement « Aucune valeur ». Toutefois, une formule ne peut jamais retourner une chaîne vide ou une valeur Null. Une formule retourne toujours l’une des trois valeurs suivantes : une valeur numérique ; une valeur de texte, qui peut être une chaîne de longueur nulle, ou une valeur d’erreur, telle que #NUM ! ou #VALUE.
Si une formule comprend une fonction VALEURCUBE connectée à une base de données OLAP et qu’une requête effectuée sur cette base de données renvoie une valeur Null, Excel convertit cette dernière en chaîne de 0 caractère, même si la formule doit en principe renvoyer une valeur numérique. Il peut en résulter une plage de cellules contenant une combinaison de valeurs numériques et de chaînes de 0 caractère, ce qui peut influer sur les résultats d’autres formules utilisant cette plage. Par exemple, si A1 et A3 incluent des nombres et A2 une formule faisant appel à une fonction VALEURCUBE et renvoyant une chaîne de 0 caractère, la formule ci-après génère une erreur #VALEUR! :
=A1+A2+A3
Pour éviter cela, vous pouvez tester la chaîne de 0 caractère à l’aide de la fonction ESTTEXTE et la remplacer par le nombre 0 (zéro) à l’aide de la fonction SI, comme suit :
=SI(ESTTEXTE(A1),0,A1)+SI(ESTTEXTE(A2),0,A2)+SI(ESTTEXTE(A3),0,A3)
Il est également possible d’imbriquer la fonction VALEURCUBE dans une condition SI renvoyant la valeur 0 si cette fonction équivaut à une chaîne de 0 caractère, comme dans l’exemple ci-dessous.
=SI (VALEURCUBE("Ventes","[Mesures].[Bénéfices]","[Période].[2004]","[Tous les produits].[Boissons]")="", 0, VALEURCUBE("Ventes","[Masures].[Bénéfices]","[Période].[2004]","[Tous les produits].[Boissons]"))
Remarque : il n’est pas nécessaire de procéder à ce test de chaîne de 0 caractère pour la fonction SOMME car celle-ci ne tient pas compte de ce type de chaîne pour calculer la valeur à renvoyer.
Exemples
=VALEURCUBE("Ventes","[Mesures].[Bénéfices]","[Heure].[2004]","[Tous les produits].[Boissons]")
=VALEURCUBE($A$1,"[Mesures].[Bénéfices]",D$12,$A23)
=VALEURCUBE("Ventes",$B$7,D$12,$A23)