Dans Explore, vous pouvez rédiger des formules pour les mesures et les attributs personnalisés. Pour vous assurer que les formules fonctionnent, créez-les correctement. Si votre formule n’est pas construite correctement, l’éditeur de formule affiche un message d’erreur en temps réel pendant que vous rédigez ou modifiez la formule. 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 que vous pourriez voir dans l’éditeur de formule et vous fournit des conseils pour vous aider à corriger votre formule, avec des exemples de formules correctes et incorrectes.
Cet article aborde les sujets suivants :
Articles connexes :
Correction des formules mal configurées
Si une mesure ou un attribut calculé contient une formule mal configurée, elle ou il ne renverra pas de résultats. Identifiez les formules mal configurées en vérifiant les emplacements suivants :
- 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 utilise la formule et corrigez-la dans l’éditeur de formule. Puis republiez tous les tableaux de bord qui utilisent ce rapport.
Pour mettre une formule mal configurée à jour
- Dans Explore, cliquez sur l’icône Rapports () pour ouvrir dans la bibliothèque de rapports
- Cliquez sur l’onglet Mises à jour nécessaires
- Cliquez sur l’un des rapports répertoriés pour l’ouvrir
- 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 d’impacter les rapports existants pendant le processus de résolution.
- 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.
- Enregistrez le rapport
Pour republier les tableaux de bord affectés
- Cliquez sur l’icône Tableaux de bord () pour ouvrir la bibliothèque de tableaux de bord
- Cliquez sur l’onglet Mises à jour nécessaires
- Placez votre curseur sur l’un des tableaux de bord et cliquez sur Modifier
- 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
- 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
La vidéo ci-dessous vous montre comment résoudre certains avertissements courants.
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 au moins en partie incorrecte.
- « Il y a un problème au niveau de la formule. Vérifiez votre syntaxe de calcul et réessayez. »
Les raisons les plus courantes pour cette erreur sont répertoriées dans le tableau ci-dessous.
Raison | Formule incorrecte | Formule correcte |
---|---|---|
Vous avez ouvert un crochet ou une parenthèse, mais vous ne l’avez pas fermé. 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 que vous pouvez voir 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) à
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" Le même type de données doit être utilisé 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] Le même type de données doit être utilisé 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" Le même type de données doit être utilisé 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 Le même type de données doit être utilisé 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 et il ne faut pas utiliser 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]) L’objectif de cette formule est de joindre du texte comme illustré dans Recette Explore : joindre des attributs. C’est pour cette raison que l’attribut numérique doit être transformé 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]) L’objectif de cette formule est d’additionner 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 la durée des tâches supplémentaires, qui ne nécessitera pas de transformation et sera prêt à l’emploi 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 considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Ici, il ne faut pas utiliser de guillemets. |
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. Vous devez utiliser 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 utilisées après les mots-clés THEN et ELSE doivent être du même type. Une valeur entre guillemets est considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Il y a donc deux façons de résoudre cette erreur, comme expliqué 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 définies 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. Cependant, 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 est faite pour transformer les attributs de texte avec des valeurs numériques en texte. L’attribut ID du ticket est un champ numérique et ne peut donc pas être utilisé avec cette fonction. Cependant, 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://subdomain.zendesk.com/ ageagent/organizations/" + STRING([ID de l’organisation du ticket]), [Case à cocher de l’organisation]) |
LINK(” ou LINK(” La fonction LINK s’attend à ce que le deuxième paramètre soit du texte, c’est pour cette raison que vous ne pouvez pas utiliser d’attribut booléen. Il y a deux options, comme illustré ci-dessus. Vous pouvez utiliser un attribut texte ou transformer l’attribut booléen en texte 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, les conditions de tous les cas doivent être de type texte. Une valeur entre guillemets est considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Le 3 doit donc être en guillemets. |
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. Une valeur entre guillemets est considérée comme du texte, mais un nombre sans guillemets est considéré comme un nombre. Le 2 doit donc être en guillemets. |
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 si c’est un attribut texte ou n’utilisez pas de guillemets pour toutes les valeurs si c’est un attribut numérique. Instance de la partie d’appel est un attribut numérique et la formule ne doit donc pas utiliser de guillemets |
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. Dans ce cas, vous devez utiliser l’agrégateur VALUE. |
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") Ce message d’erreur s’affiche dans les attributs calculés, pas les mesures. La meilleure façon de corriger cette erreur est d’utiliser les mêmes conditions que celles utilisées dans la mesure Tickets résolus. Vous pouvez donc mettre la formule à jour comme illustré ci-dessus. |
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, pas les mesures. Si la formule originale est plus complexe et ne peut pas être réutilisée, essayez d’utiliser la fonction ATTRIBUTE_FIX pour spécifier à quels niveaux l’attribut doit être agrégé. Dans ce cas, il doit être calculé au niveau ID de la mise à jour du ticket ID. |
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. Sa formule contient déjà un agrégateur. Par exemple MED(Délai avant première réponse (h)). Calculer une moyenne au-dessus d’une médiane n’est pas autorisé, donc l’agrégateur de haut niveau doit être défini sur SUM, ou l’agrégateur de bas niveau changé en 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 les plus courantes pour cette erreur sont :
Dans cet exemple, il y a une faute de frappe dans le nom de l’attribut. |
[Groupe calculé] a une formule mal configurée. Corrigez-la avant d’enregistrer. | IF [Groupe calculé] = "light" THEN TRUE ELSE FALSE ENDIF | La formule de Groupe calculé est mal configurée. Vous devez donc commencer par corriger ce problème. |
Le calcul fait référence à lui-même ici COUNT(Tickets ventes). Supprimez-le ou remplacez-le. | COUNT(Tickets ventes)/COUNT(Tickets) | Vous ajoutez une formule à l’intérieur d’elle-même. Dans ce cas, la formule en train d’être modifiée est Tickets ventes et l’utilisateur essaie d’ajouter Tickets ventes à l’intérieur de 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 calculée Délai avant la deuxième réponse est basée sur un autre calcul, lui-même basé sur un autre calcul. On parle de calculs imbriqués. 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") |
Les fonctions INCLUDE ne sont autorisées 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. Pour effectuer des calculs en utilisant des mesures calculées de plage de dates, utilisez plutôt une mesure calculée de résultat. |