La fonction CUBEVALUE

Contenu

Le CUBEVALUE La fonction utilise la syntaxe suivante pour fonctionner:

CUBEVALUE (Connexion, [expression_membre1], [expression_membre2],…)

Le CUBEVALUE La fonction a les arguments suivants:

  • Connexion: c'est obligatoire et représente une chaîne de texte du nom de la connexion au cube
  • expression_membre: ces arguments sont facultatifs. Chacun est une chaîne de texte d'une expression multidimensionnelle (de référencer ce moteur dans tous les produits) qui est évaluée comme un membre ou une tuple dans le cube. Alternativement, expression_membre peut être un ensemble défini avec le CUBESET une fonction. Utilisation expression_membre Quoi segmentation pour définir la partie du cube pour laquelle la valeur agrégée est retournée. Si aucune mesure n'est spécifiée dans expression_membre, la mesure par défaut pour ce cube est utilisée.

Il faut noter en même temps que:

  • la CUBEVALUE La fonction est compatible uniquement lorsque le classeur est connecté à Microsoft SQL Server 2005 Analysis Services ou à un Source des données postérieur.
  • quand il CUBEVALUE La fonction évalue, affiche temporairement un message « # GETTING_DATA … » dans la cellule avant que toutes les données ne soient récupérées.
  • si se utiliza una referencia de celda para expression_membre y esa referencia de celda contiene un CUBO une fonction, ensuite expression_membre utiliza el de référencer ce moteur dans tous les produits expresión para el elemento en la celda referenciada, y no el valor que se muestra en esa celda referenciada
  • si el nombre de la conexión no es una conexión de libro válida almacenada en el libro de trabajo, CUBEVALUE renvoie un #NOM? valeur d'erreur. Si le serveur d'analyse en ligne (OLAP) ne fonctionne pas, no está habilitada o devuelve un mensaje de error, CUBEVALUE renvoie un #NOM? valeur d'erreur
  • si al menos un elemento dentro de la tupla no es válido, CUBEVALUE renvoie un #VALEUR! valeur d'erreur
  • CUBEVALUE renvoie un #N / UNE valeur d'erreur lorsque:
    • la expression_membre la sintaxis es incorrecta
    • el miembro especificado por expression_membre no existe en el cubo
    • la tupla no es válida debido a que no hay intersección para los valores especificados (esto puede ocurrir con bastantes ítems de la misma jerarquía)
    • el conjunto contiene al menos un miembro con una dimension distinto a los otros miembros
  • CUBEVALUE peut renvoyer une #N / UNE valor de error si hace referencia a un objeto basado en session, comme un membre calculé ou un ensemble nommé, dans une table dynamique cuando se comparte una conexión, et que ce tableau croisé dynamique est supprimé ou converti le tableau croisé dynamique en formules (dans l'onglet ‘Les choix’ dans le ruban , dans le groupe ‘Outils’, cliquez sur ‘Outils OLAP’ puis cliquez sur ‘Convertir en formules’).

Problema conocido: los valores nulos se convierten en cadenas de longitud cero

dans excel, si una celda no tiene datos debido a que nunca la cambió o eliminó el contenido, la celda contiene un valor vacío. En muchos sistemas de bases de datos, un valor vacío se denomina valeur nulle. Un valor vacío o nulo significa literalmente « sin valor ». Malgré cela, una fórmula nunca puede devolver una cadena vacía o un valor nulo. Une formule renvoie toujours l'une des trois valeurs: une valeur numérique; une valeur texte (qui peut être une chaîne de longueur zéro) ou une valeur d'erreur, Quoi #SUR UNE! O #VALEUR!

Si une formule contient une CUBEVALUE fonction connectée à un base de données traitement analytique en ligne (OLAP) et qu'une requête à cette base de données entraîne une valeur nulle, Excel convertit cette valeur nulle en une chaîne de longueur zéro, même si la formule devait renvoyer une valeur numérique. Cela peut conduire à une situation où une plage de cellules contient une combinaison de valeurs numériques et de chaînes de longueur zéro, et cette situation peut affecter les résultats d'autres formules qui font référence à cette plage de cellules. Par exemple, et A1 Oui A3 contiennent des nombres, Oui A2 contient une formule avec un CUBEVALUE fonction qui renvoie une chaîne de longueur zéro, la formule suivante renverrait une #VALEUR! Erreur:

Pour éviter cela, vous pouvez tester une chaîne de longueur zéro en utilisant la ISTEXTE fonction et en utilisant la ET fonction pour remplacer la longueur zéro par un 0 (zéro) comme le montre l'exemple suivant:

= OUI (ESTEXTE (A1), 0, A1) + ET (ESTEXTE (A2), 0, A2) + ET (ESTEXTE (A3), 0, A3)

Alternativement, vous pouvez imbriquer le CUBEVALUE fonctionner dans une ET condition qui renvoie une valeur zéro si le CUBEVALUE La fonction est évaluée comme une chaîne de longueur zéro, comme le montre l'exemple suivant:

= OUI (CUBEVALUE (« Ventes », « [Dispositions].[Bénéfice] », »[Temps].[2020] », »[Tous les produits].[Boissons] ») = » « , 0, CUBEVALUE ( » Ventes « , »[Dispositions].[Bénéfice] », »[Temps].[2020] », »[Tous les produits].[Boissons] »))

Veuillez noter que le SOMME La fonction n'a pas besoin de ce test pour une chaîne de longueur zéro car elle ignore automatiquement les chaînes de longueur zéro lors du calcul de sa valeur de retour.

S'il vous plait, voir mes exemples ci-dessous:

= CUBEVALUE (« Ventes », « [Dispositions].[Bénéfice] », »[Temps].[2020] », »[Tous les produits].[Boissons] »)

= CUBEVALUE ($ UNE $ 1, « [Dispositions].[Bénéfice] », ré $ 12, $ A23)

= CUBEVALUE (« Ventes », $ B $ 7, ré $ 12, $ A23)

Bientôt, nous continuerons avec nos fonctions de A à Z d'Excel. Continuez à vérifier: il y a un nouveau billet de blog chaque jour ouvrable.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.

Haut-parleur de données