Dans Analyses, vous pouvez rédiger des formules pour les mesures et les attributs personnalisés. Créez 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 les formules, avec des exemples de formules correctes et incorrectes.
Consultez :
Corriger les 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.
Pour mettre une formule mal configurée à jour :
- Dans Analyses, cliquez sur l’icône Rapports (
) pour ouvrir 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 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.
- Enregistrez le rapport
Pour republier les tableaux de bord affectés :
- Dans Analyses, cliquez sur l’icône Tableaux de bord (
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
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.
Raisons des erreurs de syntaxe générales
Ce tableau couvre les mauvaises configurations courantes de la syntaxe et leurs corrections.
- Vous avez ouvert un crochet ou une parenthèse sans le fermer, ou vous en avez fermé plus que vous n’en avez ouvert.
Incorrect : IF ([Statut du ticket] = "Solved")) THEN [ID du ticket] ENDIF
Correct : IF ([Statut du ticket] = "Solved") THEN [ID du ticket] ENDIF - Vous avez ouvert des guillemets, mais ne les avez pas fermés.
Incorrect : [Statut du ticket] = "Résolu
Correct : [Statut du ticket] = "Résolu" - Vous n’avez pas placé l’attribut entre crochets.
Incorrect : Statut du ticket = "Solved”
Correct : [Statut du ticket] = "Résolu" - Vous n’avez pas ajouté d’agrégateur avant une mesure.
Incorrect : Délai avant première réponse (min)
Correct : 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.
Incorrect : IF ([Statut du ticket] = "Solved") THEN [ID du ticket]
Correct : 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) à
Erreurs pour égal, pas égal et expressions de comparaison
Cette section décrit les règles de syntaxe pour les comparaisons et les types de correspondance.
- Impossible d’utiliser [Étape du projet] comme texte et 1 comme nombre. Utilisez le même type.
Incorrect : [Étape du projet]=1
Correct : [É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.
Incorrect: [Pays du ticket]!=[Indicatif de pays de l’utilisateur]
Correct: [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.
Incorrect : [Ticket affecté - Date] >= 26
Correct: [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.
Incorrect : VALUE(Réponses des agents)<”2”
Correct : 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
Erreurs pour les opérations arithmétiques et la jointure de texte
Cette section décrit les règles de calcul et la façon de joindre des attributs.
- 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.
Incorrect : [Groupe du ticket]+[ID du ticket]
Correct : [Groupe du ticket]+STRING([ID du ticket])
Cette formule joint du texte comme illustré dans Recette analyses : 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.
Incorrect : VALUE(Délai avant résolution complète (min))+[Durée des tâches supplémentaires]
Correct : 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 Assistance pour enregistrer une durée de tâche supplémentaire, qui fonctionne sans transformation dans Analyses. 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.
Incorrect : VALUE(Délai avant première réponse - min)/"60"
Correct : 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.
Incorrect : COUNT(Commentaires)-[Commentaire public]
Correct : 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
Erreurs lors de l’utilisation des fonctions
Cette section détaille les critères des fonctions et les erreurs de configuration.
- 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.
Incorrect : IF [Statut du ticket]="Open" THEN 1 ELSE "0" ENDIF
Correct : IF [Statut du ticket] = "Open" THEN 1 ELSE 0 ENDIF or 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.
Incorrect : IF 1 OR 2 THEN [ID du ticket] ENDIF
Correct : 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.
Incorrect : NUMBER([ID du ticket])
Correct : 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.
Incorrect : LINK("https://subdomian.zendesk.com/agent/organizations/" + STRING([ID de l’organisation du ticket]), [Case à cocher de l’organisation])
Correct : LINK("https://votre_sousdomaine.zendesk.com/agent/organizations/" + STRING([ID de l'organisation du ticket]), [Nom de l'organisation du ticket]) ou LINK("https://votre_sousdomaine.zendesk.com/agent/organizations/" + STRING([ID de l'organisation du ticket]), STRING([case à cocher de l'organisation]))
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.
Incorrect : DATE_LAST([Ticket créé - Mois])
Correct : 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.
Incorrect : SWITCH ([Groupe du ticket]) {CASE "Support": "1" CASE 3: "2" }
Correct : 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.
Incorrect : SWITCH ([Groupe du ticket]) {CASE "Support": "1" CASE "IT": 2 }
Correct : 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.
Incorrect : IN([Instance de la partie d’appel], ARRAY(1, "2", "3"))
Correct : 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.
Incorrect : DATE_DIFF([Ticket résolu - Date], [Ticket créé - Date], "minutes")
Correct : 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
Erreurs lors de l’utilisation des agrégateurs de mesures
Cette section décrit les problèmes de calcul des agrégateurs pour les attributs personnalisés.
- 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.
Incorrect : IF SUM(Temps d’attente du demandeur - min)>120 THEN "Long wait time" ELSE "Short wait time" ENDIF
Correct : 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.
Incorrect : IF COUNT(Tickets résolus)>1 THEN "Solved" ELSE "Unsolved" ENDIF
Correct : 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.
Incorrect : IF COUNT(Affectations des tickets aux développeurs)>1 THEN "Solved" ELSE "Unsolved" ENDIF
Correct : 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.
Incorrect : AVG(Temps dans le statut)
Correct : 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
Messages d’erreur divers
Cette section passe en revue les fautes de frappe des jeux de données et les problèmes de mesures auto-référenciées.
- [Statuts des tickets] n’existe pas dans ce jeu de données. Vérifiez qu’il n’y a pas de faute de frappe.
Incorrect : [Statuts des tickets] ="Solved"
Correct : [Statut du ticket] ="Solved"
Les raisons courantes pour cette erreur incluent : L’attribut ou la mesure provient d’un autre jeu de données ; le nom contient une faute de frappe ; le nom n’est pas dans la langue du profil de l’utilisateur ; la formule fait référence à un calcul avec des guillemets dans le nom. Supprimez-les pour résoudre l'erreur. - [Groupe calculé] a une formule mal configurée. Corrigez-la avant d’enregistrer.
Incorrect : IF [Groupe calculé] = "light" THEN TRUE ELSE FALSE ENDIF
Correct : 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.
Incorrect : COUNT(Tickets ventes)/COUNT(Tickets)
Correct : 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)
Incorrect : MED(Délai avant la deuxième réponse) / MED(Délai avant première réponse - min
Correct : 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.
Incorrect : INCLUDES_ALL([Groupe du ticket], "Assistance", "Ventes")
Correct : INCLUDES_ALL([Marqueurs de ticket], "Support", "ventes") ou IN(Groupe du ticket, ARRAY( "Support", "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.
Incorrect : COUNT([Mesure calculée de plage de dates])
Correct : 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.
Incorrect : IF (CONTAINS([Marqueurs du ticket],"ventes")) THEN "Ventes" ELSE "Prod" ENDIF
Correct : INCLUDES_ALL([Marqueurs de ticket], "Ventes", "Prod")
Seuls INCLUDES_ALL et INCLUDES_ANY créer des rapports sur les marqueurs.
Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.
Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.