Cet article a comme objectif de fournir une fonction équivalente à la fonction SIERREUR d’Excel dans Power Query. Il démontrera donc comment utiliser de façon efficace, la fonction try … otherwise dans Power Query.
Données de départ
Les données utilisées dans cet article résident dans la table suivante et serviront dans un calcul de division. Notez que la colonne dénomiateur contient des messages d’erreurs, des valeurs textes et des valeurs numériques.
Procéder à la division sans tenir compte des erreurs
Si l’usager importe la table ci-dessus et procède à la division dans Power Query, il obtiendra des messages d’erreurs, autant dans la colonne Dénominateur que dans la colonne Personnalisé, qui comprend le résultat de la division.
Si l’usager modifie d’abord le type de données de la colonne Dénominateur pour “Nombre entier”, il obtiendra un message d’erreur de plus dans le champ texte de la colonne Dénominateur.
Si ces colonnes sont éventuellement utilisées pour d’autres calculs, vous aurez compris que les messages d’erreurs iront simplement en augmentant. Il est donc recommandé, à cette étape, de bien comprendre ce qui génère les erreurs et de décider comment on veut traiter ces cas particuliers.
La fonction try … otherwise dans Power Query
La fonction try … otherwise, dans Power Query, réplique la fonction SIERREUR dans Excel. Ci-dessous, on demande d’effectuer la division et si le résultat est une erreur, de retourner le message “N/A”.
Résultat d’une fonction try … otherwise dans Power Query
Ici, plutôt que d’obtenir des messages d’erreurs, on voit que la fonction retourne bien la mention “N/A”.
Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation des données avec nos formations sur Power Query et Power Pivot dans Excel. |
---|
Utiliser la fonction try sans le otherwise
Pour éviter d’enrayer TOUTES les erreurs, incluant les erreurs involontaires, il serait plus sage d’étudier d’abord le type d’erreurs et de décider ensuite quel type d’erreurs on veut contourner avec la mention “N/A”. Pour ce faire, il serait possible d’utiliser la fonction try sur notre dénominateur, qui est la source de nos problèmes de divisions.
Le champ Record généré par la fonction try
La fonction try utilisée sur notre colonne de dénominateur fournit un champ Record, lui-même composé de deux informations : HasError et Value. HasError retourne un TRUE ou un FALSE s’il y a une erreur ou non. Le Value retourne simplement la valeur de l’item contenu dans la colonne Dénominateur.
Développer les champs HasError et Value
Bien sûr, il serait possible de développer les champs HasError et Value dans deux nouvelles colonnes. Mais nous croyons que cet exercice est plutôt futile.
Utiliser la fonction if … then … else
Nous croyons qu’il est beaucoup plus intéressant de comprendre le type d’erreur généré par la colonne Dénominateur, le cas échéant, et retourner la valeur, lorsqu’il n’y a pas d’erreur. Il est possible de faire exactement cela à l’aide d’une fonction if … then … else dans Power Query, tel qu’illustré ci-dessous. Cette fonction regarde si le champ HasError est vrai, dans lequel cas on extrait le message d’erreur, autrement, on affiche la valeur.
Précision des messages d’erreurs
Dans la colonne Personnalisé, on retrouve donc des informations concernant les erreurs. Ce faisant, nous pouvons agir par type d’erreurs. Il y a sans doute des erreurs que l’on veut automatiquement enrayer avec une fonction try … otherwise et d’autres erreurs que l’on veut étudier plus en détails ou traiter différemment. Avec le classement des erreurs par type, on a donc une bien plus grande marge de manoeuvre pour agir avec diligence, dans le traitement des erreurs de calculs.
Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Afin d’approfondir vos connaissances avec Power Query, nous vous recommandons de débuter avec notre formation Excel – Introduction à Power Query et au langage M.
Voici quelques commentaires d’apprenants ayant suivi cette formation :