Cube - Fonction CUBEVALUE

La description

La fonction CUBEVALUE renvoie une valeur agrégée du cube.

Syntaxe

CUBEVALUE (connection, [member_expression1], [member_expression2], …)

Arguments

Argument La description Obligatoire / facultatif
connexion Le nom de la connexion au cube. - Une chaîne de texte Obligatoire
expression_membre

Chaîne de texte d'une expression multidimensionnelle (MDX) qui correspond à un membre ou à un tuple dans le cube.

OU

Un ensemble défini avec la fonction CUBESET.

Optionnel
  • Utilisez l'argument member_expression comme segment pour définir la partie du cube pour laquelle la valeur agrégée est renvoyée.

  • Si aucune mesure n'est spécifiée dans member_expression, la mesure par défaut pour ce cube est utilisée.

Remarques

  • Lorsque la fonction CUBEVALUE évalue, elle affiche temporairement un message «# GETTING_DATA…» dans la cellule avant que toutes les données ne soient récupérées.

  • Si une référence de cellule est utilisée pour expression_membre et que cette référence de cellule contient une fonction CUBE, alors expression_membre utilise l'expression MDX pour l'élément dans la cellule référencée et non la valeur affichée dans cette cellule référencée.

  • Si le nom de connexion n'est pas une connexion de classeur valide stockée dans le classeur, CUBEVALUE renvoie un #NAME? Valeur d'erreur. Si le serveur OLAP (Online Analytical Processing) n'est pas en cours d'exécution, n'est pas disponible ou renvoie un message d'erreur, CUBEVALUE renvoie un #NAME? Valeur d'erreur.

  • Si au moins un élément du tuple n'est pas valide, CUBEVALUE renvoie une #VALUE! Valeur d'erreur.

  • CUBEVALUE renvoie une valeur d'erreur # N / A lorsque

    • La syntaxe de membre_expression est incorrecte

    • Le membre spécifié par member_expression n'existe pas dans le cube

    • Le tuple n'est pas valide car il n'y a pas d'intersection pour les valeurs spécifiées. (Cela peut se produire avec plusieurs éléments de la même hiérarchie).

    • L'ensemble contient au moins un membre avec une dimension différente des autres membres.

    • CUBEVALUE peut renvoyer une valeur d'erreur # N / A si vous référencez un objet basé sur une session, tel qu'un membre calculé ou un ensemble nommé, dans un tableau croisé dynamique lors du partage d'une connexion. Le tableau croisé dynamique est supprimé ou vous convertissez le tableau croisé dynamique en formules. (Sous l'onglet Options, dans le groupe Outils, cliquez sur Outils OLAP, puis sur Convertir en formules.)

Issue: Null values are converted to zero-length strings

  • Dans Excel, si une cellule ne contient aucune donnée 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éeNullvaleur. Unempty ou Nullvaleur signifie littéralement «Aucune valeur». Cependant, une formule ne peut jamais renvoyer une chaîne vide ou une valeur Null. Une formule renvoie toujours l'une des trois valeurs -

    • Une valeur numérique
    • Une valeur de texte, qui peut être une chaîne de longueur nulle
    • Une valeur d'erreur, telle que #NOMBRE! ou #VALUE
  • Si une formule contient une fonction CUBEVALUE connectée à une base de données OLAP (Online Analytical Processing) et qu'une requête à cette base de données donne une valeur Null, Excel convertit cette valeur Null en une chaîne de longueur nulle, même si la formule renverrait autrement un nombre valeur. Cela peut conduire à une situation dans laquelle une plage de cellules contient une combinaison de valeurs de chaîne numériques et de longueur nulle, et cette situation peut affecter les résultats d'autres formules qui font référence à cette plage de cellules.

  • Par exemple, si A1 et A3 contiennent des nombres et A2 contient une formule avec une fonction CUBEVALUE qui renvoie une chaîne de longueur nulle, la formule suivante renverra un #VALUE! Erreur -

    = A1 + A2 + A3

  • Pour éviter cela, vous pouvez tester une chaîne de longueur nulle à l'aide de la fonction ISTEXT. Vous pouvez utiliser la fonction IF pour remplacer la longueur zéro par un 0 (zéro) comme suit -

=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
  • Vous pouvez également imbriquer la fonction CUBEVALUE dans une condition IF qui renvoie une valeur 0 si la fonction CUBEVALUE s'évalue en une chaîne de longueur nulle comme suit -

=IF (CUBEVALUE ("Sales","[Measures].[Profit]","[Time].[2004]",
   "[All Product].[Beverages]")="", 0, CUBEVALUE("Sales",
   "[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))

Applicabilité

Excel 2007, Excel 2010, Excel 2013, Excel 2016

Exemple