Dans Explore, vous pouvez rédiger des formules pour les mesures et les attributs personnalisés. Il est important de créer les formules correctement pour vous assurer qu’elles fonctionnent. Si une formule n’est pas correcte, l’éditeur de formule affiche un message d’erreur en temps réel. Le message d’erreur identifie le problème et aide à le résoudre.

Cet article explique comment corriger une formule mal configurée dans vos rapports. Il répertorie les messages d’erreur dans l’éditeur de formule et fournit des conseils pour vous aider à corriger votre formule, avec des exemples de formules correctes et incorrectes.

Remarque : À partir du 13 août 2024, les rapports avec des formules mal configurées qui ont fonctionné jusqu’à présent ne fonctionneront plus. Un message d’erreur s’affiche à la place.

Cet article aborde les sujets suivants :

  • Correction des formules mal configurées
  • Types de messages d’erreur dans l’éditeur de formule

Articles connexes :

  • Ressources pour la rédaction de formules
  • Fonctions Explore - Référence

Correction des formules mal configurées

Si une mesure ou un attribut calculé contient une formule mal configurée, aucun résultat n’est renvoyé. Identifiez les formules mal configurées en vérifiant ces endroits :

  • Bibliothèque de rapports : les rapports qui utilisent une formule mal configurée s’affichent dans la catégorie Mises à jour requises de la bibliothèque de rapports.
  • Bibliothèque de tableaux de bord : les tableaux de bord qui utilisent les rapports affectés s’affichent dans l’onglet Mises à jour requises de la bibliothèque de tableaux de bord.
  • Créateur de rapports : un message d’avertissement s’affiche en bas d’un rapport qui utilise la formule.
  • Éditeur de formule : un message d’avertissement s’affiche dans l’éditeur de formule pour la formule affectée.

Pour corriger une formule mal configurée, ouvrez un rapport qui l’utilise et corrigez-la dans l’éditeur de formule. Puis republiez tous les tableaux de bord qui utilisent ce rapport.

Remarque : Si une formule mal configurée est imbriquée dans un calcul non basé sur les formules (une mesure de plage de dates, un groupe ou un attribut de jeu, par exemple), aucun message d’erreur ne s’affiche dans ce calcul. Pour voir le message d’erreur dans l’éditeur de formule, ouvrez le calcul imbriqué d’origine.
Conseil : Demandez aux créateurs de rapports de corriger leurs formules. La colonne Créée par de la bibliothèque des rapports indique l’utilisateur qui a créé chaque rapport. Si vous ne voyez pas cette colonne, ajoutez-la en cliquant sur l’icône des colonnes () et en sélectionnant Créée par.

Pour mettre une formule mal configurée à jour

  1. Dans Explore, cliquez sur l’icône Rapports () pour ouvrir dans la bibliothèque de rapports.
  2. Cliquez sur l’onglet Mises à jour nécessaires.

  3. Cliquez sur l’un des rapports répertoriés pour l’ouvrir.
  4. Pour chaque mesure ou attribut calculé :
    • Cliquez sur la mesure ou sur l’attribut, puis sur l’icône de crayon à papier.
    • Vérifiez la formule pour identifier tout problème de configuration. Les parties mal configurées sont soulignées. Un message d’erreur vous indique ce qui doit être corrigé.

    • (facultatif) Créez une copie de la mesure ou de l’attribut avant d’effectuer des modifications. Cela évite l’impact sur les rapports existants pendant le dépannage.
    • Corrigez les problèmes qui existent dans la formule identifiée par le message d’erreur. Consultez les sections ci-dessous pour en savoir plus sur chaque message d’erreur spécifique.

      Si vous corrigez la formule d’une mesure ou d’un attribut calculé dans un rapport, cela la corrige également dans tous les autres rapports où elle est utilisée.

    • (facultatif) Si vous avez créé une copie de la mesure ou de l’attribut, mettez l’original à jour.
  5. Enregistrez le rapport

Pour republier les tableaux de bord affectés

  1. Cliquez sur l’icône Tableaux de bord () pour ouvrir la bibliothèque de tableaux de bord
  2. Cliquez sur l’onglet Mises à jour nécessaires
  3. Placez votre curseur sur l’un des tableaux de bord et cliquez sur Modifier
  4. Dans le tableau de bord, cliquez sur la flèche de menu déroulant en regard de Partager et sélectionnez Publier. La prochaine fois que les utilisateurs consultent le tableau de bord partagé, ils en voient la dernière version
  5. Cliquez sur Publier

Types de messages d’erreur dans l’éditeur de formule

Cette section répertorie les types de messages d’erreur suivants et fournit des conseils conçus pour vous aider à résoudre les problèmes :

  • Erreurs les plus courantes dans les formules
  • Messages d’erreurs de syntaxe généraux
  • Messages d’erreurs de types de données
  • Messages d’erreurs d’agrégateur de mesures
  • Autres message d’erreur

Erreurs les plus courantes dans les formules

Consultez les sections ci-dessous pour en savoir plus sur chaque message d’erreur spécifique.

Messages d’erreurs de syntaxe généraux

Si vous voyez le message d’erreur suivant, cela signifie que la syntaxe de votre formule est incorrecte :

  • « Il y a un problème au niveau de la formule. Vérifiez votre syntaxe de calcul et réessayez. »

Le tableau ci-dessous répertorie les raisons les plus courantes pour cette erreur.

Motif Formule incorrecte Formule correcte
Vous avez ouvert un crochet ou une parenthèse sans le fermer, ou vous en avez fermé plus que vous n’en avez ouvert. IF ([Statut du ticket] = "Solved")) THEN [ID du ticket] ENDIF IF ([Statut du ticket] = "Solved") THEN [ID du ticket] ENDIF
Vous avez ouvert des guillemets, mais ne les avez pas fermés. [Statut du ticket] = "Solved [Statut du ticket] = "Solved"
Vous n’avez pas placé l’attribut entre crochets. Statut du ticket = "Solved” [Statut du ticket] = "Solved”
Vous n’avez pas ajouté d’agrégateur avant une mesure. Délai avant première réponse - min SUM(Délai avant première réponse - min)
Il manque une partie essentielle de la déclaration IF. Dans cet exemple, il manque ENDIF. IF ([Statut du ticket] = "Solved") THEN [ID du ticket] IF ([Statut du ticket] = "Solved") THEN [ID du ticket] ENDIF

Messages d’erreurs de types de données

Le tableau ci-dessous montre des messages d’erreur portant sur les types de données dans le rédacteur de formule, y compris les versions incorrecte et correcte d’une formule.

Les sections ci-dessous couvrent les messages d’erreur de types de données :

  • Les expressions Égal(e) à, Pas égal(e) à, Supérieur(e) à et Inférieur(e) à
  • La jointure des opérations arithmétiques et des valeurs de texte
  • Fonctions

Les expressions Égal(e) à, Pas égal(e) à, Supérieur(e) à et Inférieur(e) à

Exemple de message d’erreur Formule incorrecte Formule correcte
Impossible d’utiliser [Étape du projet] comme texte et 1 comme nombre. Utilisez le même type. [Étape du projet]=1

[Étape du projet]="1"

Utilisez le même type de données de part et d’autre de l’expression d’égalité. Une valeur entre guillemets est considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Comme Étape du projet est un attribut texte, la valeur doit être entre guillemets.

Impossible d’utiliser [Pays du ticket] comme texte et [Indicatif de pays de l’utilisateur] comme nombre. Utilisez le même type. [Pays du ticket]!=[Indicatif de pays de l’utilisateur]

[Pays du ticket]!=[Nom du pays de l’utilisateur]

Utilisez le même type de données de part et d’autre de l’expression d’inégalité. Pays du ticket est du texte et l’attribut sur la droite doit donc aussi être du texte.

Impossible d’utiliser [Ticket affecté - Date] comme texte et 26 comme nombre. Utilisez uniquement des nombres ou uniquement du texte. [Ticket affecté - Date] >= 26

[Ticket affecté - Date] >= "2023-01-26"

Utilisez le même type de données de part et d’autre de l’expression Supérieur(e) à ou Égal(e) à. Dans ce cas, c’est une date entre guillemets.

Impossible d’utiliser VALUE(Réponses des agents) comme nombre et 2 comme texte. Utilisez uniquement des nombres ou uniquement du texte. VALUE(Réponses des agents)<”2”

VALUE(Réponses des agents)<2

Utilisez le même type de données de part et d’autre de l’expression Inférieur(e) à. Une valeur entre guillemets est considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Comme Réponses des agents est une mesure, la valeur doit être un nombre, n’utilisez pas de guillemets.

La jointure des opérations arithmétiques et des valeurs de texte

Exemple de message d’erreur Formule incorrecte Formule correcte
Impossible d’utiliser [Groupe du ticket] comme texte et [ID du ticket] comme nombre. Utilisez uniquement des nombres ou uniquement du texte. Si nécessaire, utilisez la fonction STRING pour transformer les nombres en texte ou la fonction NUMBER pour transformer le texte en nombres. [Groupe du ticket]+[ID du ticket]

[Groupe du ticket]+STRING([ID du ticket])

Cette formule joint du texte comme illustré dans Recette Explore : joindre des attributs. Transformez l’attribut numérique en texte avec la fonction STRING.

Impossible d’utiliser VALUE(Délai avant résolution complète (min)) comme nombre et [Durée des tâches supplémentaires] comme texte. Utilisez uniquement des nombres ou uniquement du texte. Si nécessaire, utilisez la fonction STRING pour transformer les nombres en texte ou la fonction NUMBER pour transformer le texte en nombres. VALUE(Délai avant résolution complète (min))+[Durée des tâches supplémentaires]

VALUE(Délai avant résolution complète (min))+NUMBER([Durée des tâches supplémentaires])

Cette formule fait la somme de deux valeurs. Délai avant résolution complète (min) est un nombre, mais Durée des tâches supplémentaires est un champ de texte contenant des valeurs numériques. La meilleure approche est de créer un nouveau champ numérique personnalisé dans Support pour enregistrer une durée de tâche supplémentaire, qui fonctionne sans transformation dans Explore. Vous pouvez aussi transformer l’attribut texte en nombre avec la fonction NUMBER.

Impossible d’utiliser VALUE(Délai avant première réponse - min) comme nombre et "60" comme texte. Utilisez uniquement des nombres. VALUE(Délai avant première réponse - min)/"60"

VALUE(Délai avant première réponse - min)/60

Les opérations arithmétiques, comme les divisions, nécessitent des valeurs numériques. Une valeur entre guillemets est du texte, mais un nombre sans guillemets est un nombre. N’utilisez pas de guillemets ici.

Impossible d’utiliser COUNT(Commentaires) comme nombre et [Commentaire public] comme texte. Utilisez uniquement des nombres. COUNT(Commentaires)-[Commentaire public]

COUNT(Commentaires)-COUNT(Commentaires publics)

Les opérations arithmétiques, comme les soustractions, nécessitent des valeurs numériques. Commentaire public est un attribut texte. Utilisez plutôt une mesure.

Fonctions

Exemple de message d’erreur Formule incorrecte Formule correcte
Impossible d’utiliser différents types dans l’instruction THEN. 1 est de type nombre et "0" est de type texte. Utilisez le même type. IF [Statut du ticket]="Open" THEN 1 ELSE "0" ENDIF

IF [Statut du ticket]= "Open" THEN 1 ELSE 0 ENDIF

ou

IF [Statut du ticket] = "Open" THEN "1" ELSE "0" ENDIF

Les valeurs après les mots-clés THEN et ELSE doivent être du même type. Les guillemets indiquent du texte, leur absence indique un nombre. Résolvez cette erreur en utilisant l’une des deux méthodes ci-dessus.

Impossible d’utiliser 1 comme nombre et 2 comme nombre. Utilisez uniquement des booléens. IF 1 OR 2 THEN [ID du ticket] ENDIF

IF VALUE(Réponses des agents) = 1 OR VALUE(Réponses des agents) = 2 THEN [ID du ticket] ENDIF

Les conditions dans la déclaration IF doivent être TRUE ou FALSE. La syntaxe correcte est : IF TRUE OR FALSE THEN [ID du ticket] ENDIF. Ajoutez plutôt des conditions. L’éditeur de formule n’évalue pas la validité des conditions elles-mêmes.

Impossible d’utiliser un nombre dans cette fonction. Utilisez du texte. NUMBER([ID du ticket])

NUMBER([ID externe du ticket])

La fonction NUMBER transforme les attributs de texte avec des valeurs numériques en texte. L’attribut ID du ticket est un champ numérique et ne peut pas être utilisé avec cette fonction. Les attributs de texte comme ID externe du ticket peuvent l’être.

Impossible d’utiliser du texte, booléen, dans cette fonction. Utilisez du texte ou un nombre. LINK("https://subdomian.zendesk.com/agent/organizations/" + STRING([ID de l’organisation du ticket]), [Case à cocher de l’organisation])

LINK("https://yoursubdomain.zendesk.com/agent/organizations/" + STRING([Ticket organization ID]), [Ticket organization name])

ou

LINK("https://yoursubdomain.zendesk.com/agent/organizations/" + STRING([Ticket organization ID]), STRING([Organization check box]))

La fonction LINK attend du texte comme deuxième paramètre. N’utilisez pas d’attribut booléen. Utilisez un attribut texte ou transformez l’attribut booléen avec la fonction STRING.

Impossible d’utiliser [Ticket créé - mois] comme texte ici. Utilisez le type horodatage. DATE_LAST([Ticket créé - Mois])

DATE_LAST([Ticket créé - Horodatage])

La fonction DATE_LAST attend un attribut de type horodatage.

Impossible d’utiliser différents types de condition. Utilisez le type texte. SWITCH ([Groupe du ticket]) {CASE "Support": "1" CASE 3: "2" }

SWITCH ([Groupe du ticket]) {CASE "Support": "1" CASE "3": "2" }

Comme Groupe du ticket est un attribut texte, toutes les conditions de cas doivent être de type texte. Placez le chiffre 3 entre guillemets pour en faire du texte.

Impossible d’utiliser différents types dans l’instruction SWITCH. "1" est de type texte et 2 est de type nombre. Utilisez le même type. SWITCH ([Groupe du ticket]) {CASE "Support": "1"CASE "IT": 2 }

SWITCH ([Groupe du ticket]) {CASE "Support": "1"CASE "IT": "2" }

Les résultats de tous les cas doivent être du même type. Placez le chiffre 2 entre guillemets pour en faire du texte.

Vous ne pouvez pas utiliser différents types dans le tableau. Utilisez le même type. IN([Instance de la partie d’appel], ARRAY(1, "2", "3"))

IN([Instance de la partie d’appel], ARRAY(1, 2, 3))

Utilisez des guillemets pour toutes les valeurs s’il s’agit d’un attribut texte, ou ne les utilisez pas s’il s’agit d’un attribut numérique. L’instance de la partie d’appel est numérique, n’utilisez donc pas de guillemets.

Unité de temps non valide pour les dates données. DATE_DIFF([Ticket résolu - Date], [Ticket créé - Date], "minutes") Quand vous utilisez la fonction DATE_DIFF, vérifiez que l’unité de temps (troisième paramètre) correspond à la précision des champs de date. Pour les dates sans détails temporels (heures, minutes), seuls « année », « mois » ou « jour » sont autorisés. L’utilisation d’unités non prises en charge comme « minutes » provoquera une erreur.

Messages d’erreurs d’agrégateur de mesures

Exemple de message d’erreur Formule incorrecte Formule correcte
Impossible d’utiliser l’agrégateur SUM(mesure de la base de données). Utilisez l’agrégateur VALUE ou la fonction ATTRIBUTE_FIX ou ATTRIBUTE_ADD. IF SUM(Temps d’attente du demandeur - min)>120 THEN "Long wait time" ELSE "Short wait time" ENDIF

IF VALUE(Temps d’attente du demandeur - min)>120 THEN "Long wait time" ELSE "Short wait time" ENDIF

Ce message d’erreur s’affiche dans les attributs calculés, pas les mesures. Utilisez l’agrégateur VALUE ici.

Impossible d’utiliser l’agrégateur COUNT(Tickets résolus). Utilisez l'agrégateur VALUE ou incluez les mesures dans la fonction ATTRIBUTE_FIX ou ATTRIBUTE_ADD. IF COUNT(Tickets résolus)>1 THEN "Solved" ELSE "Unsolved" ENDIF

IF ([Statut du ticket - Non trié] = "Solved" OR [Statut du ticket - Non trié] = "Closed") THEN "Solved" ELSE "Unsolved" ENDIF

Ce message d’erreur s’affiche dans les attributs calculés. Pour remédier à ce problème, utilisez les mêmes conditions que la mesure Tickets résolus.

Impossible d’utiliser COUNT(Affectations des tickets aux développeurs) dans un attribut calculé. Incluez la mesure dans la fonction ATTRIBUTE_FIX ou ATTRIBUTE_ADD. IF COUNT(Affectations des tickets aux développeurs)>1 THEN "Solved" ELSE "Unsolved" ENDIF

IF ATTRIBUTE_FIX(COUNT(Affectations des tickets aux développeurs), [ID de la mise à jour du ticket])>1 THEN "Multiple escalations" ELSE "One or no escalations" ENDIF

Ce message d’erreur s’affiche dans les attributs calculés. Si la formule originale est complexe, utilisez la fonction ATTRIBUTE_FIX pour spécifier des niveaux d’agrégation. Calculez-la au niveau ID de la mise à jour du ticket .

Temps dans le statut contient déjà des agrégateurs. Remplacer AVG par SUM ou assurez-vous que Temps dans le statut contient uniquement des agrégateurs VALUE. AVG(Temps dans le statut)

SUM(Temps dans le statut)

Temps dans le statut est une mesure imbriquée avec un agrégateur existant. Calculer une moyenne au-dessus d’une médiane n’est pas autorisé. Définissez l’agrégateur principal sur SUM ou remplacez l’agrégateur inférieur par VALUE.

Autres message d’erreur

Exemple de message d’erreur Formule incorrecte Formule correcte
[Statuts des tickets] n’existe pas dans ce jeu de données. Vérifiez qu’il n’y a pas de faute de frappe. [Statuts des tickets] ="Solved"

[Statuts des tickets] ="Solved"

Les raisons courantes pour cette erreur incluent :

  • L’attribut ou la mesure provient d’un autre jeu de données
  • Faute de frappe dans le nom
  • Le nom n’est pas dans la langue du profil de l’utilisateur
  • La formule fait référence à un calcul entre guillemets dans son nom. Supprimez-les pour résoudre l'erreur
[Groupe calculé] a une formule mal configurée. Corrigez-la avant d’enregistrer. IF [Groupe calculé] = "light" THEN TRUE ELSE FALSE ENDIF Le groupe calculé est mal configuré. Corrigez-le d’abord.
Le calcul fait référence à lui-même ici COUNT(Tickets ventes). Supprimez-le ou remplacez-le. COUNT(Tickets ventes)/COUNT(Tickets) N’ajoutez pas de formule à l’intérieur d’elle-même. Dans ce cas, l’utilisateur modifie Tickets de ventes et essaie de l’inclure dans la formule.
Maximum 3 niveaux dans un calcul. Supprimez le calcul imbriqué ici : SUM((Délai avant la deuxième réponse) MED(Délai avant la deuxième réponse) / MED(Délai avant première réponse - min La mesure de délai avant la deuxième réponse est imbriquée. Le nombre maximum de calculs imbriqués autorisé est de 3.
Impossible d’utiliser [Groupe du ticket] ici. INCLUDES_ALL ne peut être utilisé que sur les attributs de marqueurs. INCLUDES_ALL([Groupe du ticket], "Assistance", "Ventes")
  • INCLUDES_ALL([Marqueurs de tickets], "assistance", "ventes")
  • IN([Groupe du ticket], ARRAY( "Assistance", "Ventes"))

Les fonctions INCLUDE ne fonctionnent qu’avec des attributs de marqueurs. Pour les autres attributs, utilisez la fonction IN.

[Mesure calculée de plage de dates] contient une formule mal configurée. Corrigez-la avant d’enregistrer. COUNT([Mesure calculée de plage de dates]) Les mesures calculées de plage de dates ne sont pas prises en charge dans les mesures calculées. Utilisez plutôt une mesure calculée de résultat.
Vous ne pouvez pas utiliser [fonction] ici. Utilisez INCLUDES_ALL ou INCLUDES_ANY pour les attributs de marqueurs. IF (CONTAINS([Marqueurs du ticket],"ventes")) THEN "Ventes" ELSE "Prod" ENDIF

INCLUDES_ALL([Marqueurs de ticket], "Ventes", "Prod")

Seuls INCLUDES_ALL et INCLUDES_ANY créer des rapports sur les marqueurs.

Réalisé par Zendesk