Cet article fait suite à l’apparition de la nouvelle fonctionnalité qui permet d’afficher la qualité d’une colonne dans l’éditeur Power Query de Power BI. J’en profite pour vous donner quelques trucs lorsque vient le temps de valider les valeurs fournies par vos requêtes. Je remarque que beaucoup d’usagers ne prennent pas le temps de bien valider les valeurs qu’ils produisent et cela peut être dangeureux. Je vous propose donc quelques approches pour vous aider à préparer des données intègres pour vos analyses.
Données de départ
Dans l’exemple ci-dessous, j’ai importé des données dans l’éditeur de requêtes Power Query de Power BI. Vous pouvez remarquer que certaines données utilisent les virgules comme séparateurs de décimales et d’autres des points. Il y a même une valeur textuelle à la dernière ligne. Si jamais vous travaillez avec ce genre de données (je ne vous le souhaite pas mais je sais que c’est une réalité répandue…), soyez très vigilant.
Modification automatique du type de données
D’abord, Power Query s’aventurera à modifier le type de données de cette colonne. Ici, il a opté pour le type texte, ce qui est logique puisque la colonne comprend plusieurs types de données différents. Mais lorsque je supprime de ma source la donnée en texte, Power Query modifie le type de données en nombre décimal. Et soyez très attentif ici… Les valeurs qui utilisaient des virgules comme séparateurs de milliers ont été converties en nombres entiers et multipliés par 100 (100,75 est devenu 10075). On s’entend que ça change radicalement les valeurs sous anlayse! En effet, comme mon ordinateur utilise les points comme séparateurs de décimales, les valeurs avec des points ont été bien converties alors que celles avec des virgules génèrent maintenant des valeurs erronées, sans toutefois que l’on retrouve de message d’erreur officiel. Le problème donc, c’est que trop souvent, vous ne vous en apercevrez pas… Les premières lignes vont vous sembler fournir les bons résultats et vous n’irez pas vérifier les autres lignes. Grande erreur! Ça fait plusieurs fois que j’observe cette situation chez des clients.
Que faire dans cette situation? Et bien, si vous savez qu’il y a un risque que les données sources ne soient pas toutes du même type, supprimez l’étape de modification de données insérées automatiquement par Power Query (ceci va ramener les données en type texte) et allez-y pour un Remplacer les valeurs et remplacez les virgules par des points ou les points par des vigules, avant de changer le type de données et idéalement, changez ensuite le type de données avec les paramètres régionaux.
Identification des erreurs générées
En introduisant à nouveau la valeur textuelle dans la source, on remarque que la cellule fournit maintenant un message d’erreur, comme il se doit, puisque un texte ne peut être converti en valeur décimale. Et ma colonne indique qu’il y a 1 erreur sur 9, ça fait 11% d’erreurs dans mes données. Mais il n’y a pas d’option à ce stade-ci pour cliquer sur Erreur et voir la liste des erreurs. On voit bien que l’erreur survient à la ligne 9 mais si les erreurs survenaient aux lignes 2003 et 3015, comment ferait-on pour les repérer?
Tout ce que je peux faire ici, c’est passer ma souris sur l’information et on me donne l’option de supprimer les erreurs… mais avant de les supprimer, mieux vaudrait comprendre de quoi il s’agit…
Le fait que nous ayons maintenant accès aux informations de qualité de la colonne, tout en haut de la colonne nous indique néanmoins la présence d’erreurs qui auraient pu être ignorées autrement. En effet, avant l’introduction de ces informations de qualité de la colonne, l’usager ne se rendait souvent pas compte d’une telle erreur avant de charger son résultat dans l’interface principale. Il obtenait alors un message comme le suivant:
Dans ce cas, en cliquant sur « Affficher les erreurs », on peut avoir recours à une requête qui ne présente que les erreurs.
Par exemple, ci-dessous, on voit que la ligne 9 comprend une erreur et on peut l’étudier.
On peut donc étudier ces erreurs, mais parfois, il est un peu tard pour s’en apercevoir! Rappelons que nous étions prêt à charger et analyser nos données!
Certains usagers cherchent parfois à filtrer la colonne problématique pour faire ressortir les erreurs (bon réflexe!) mais ce n’est pas un filtre disponible dans le menu de filtres.
Pour faire apparaître la liste des lignes comprenant des erreurs, on doit plutôt aller dans le menu Accueil et cliquer sur Conserver les lignes puis sur Conserver les erreurs.
Ceci permet d’avoir une table avec toutes les erreurs mais on ne nous indique pas toutefois sur quelles lignes se trouvent ces erreurs… petit bémol par rapport à l’autre méthode… et ici, on peut voir le message d’erreur et comprendre ce qui se passe. On nous dit en effet impossible de procéder à la conversion. On doit donc suspecter qu’il s’agit d’une erreur de type de données.
Fonctions de validation
Une autre approche serait d’utiliser des formules de validation selon le contexte de vos données. Vous pouvez notamment le faire par le biais d’une colonne personnalisée. Ici, tout est permis. Par exemple, ci-dessous, j’ai divisé les valeurs de ma colonne 1 par 1 avec la fonction try.
Quand je regarde l’aperçu de l’enregistrement créé à la ligne 1, je vois qu’il n’y a pas d’erreur pour la valeur 100.2 (HasError = FALSE).
Mais quand je regarde l’aperçu de l’enregistrement créé à la ligne 9, je vois qu’il y a une erreur pour la valeur Error (HasError = TRUE).
Je peux maintenant utiliser ces connaissances pour me créer une colonne de filtres. Par exemple, ci-dessous, j’ai ajouté une colonne personnalisée qui retourne un 1 lorsqu’il y a une erreur et un 0 dans les autres cas. Je pourrai donc ensuite filtrer sur les 1 pour étudier les erreurs.
De façon plus directe, je pourrais aussi utiliser un try…otherwise, tel qu’illustré ci-dessous.
Ceci me permettrait de filtrer sur le mot « Erreur » dans la colonne personnalisée, mais notez que l’erreur n’apparaît plus à ce moment-là dans les informations de qualité de la colonne.
Dans l’exemple précédent, il n’y aurait pas vraiment de plus-value à procéder à l’aide de ces formules mais dans certains contextes, ces formules peuvent devenir très utiles. Par exemple, dans le cas où vous voudriez enrayer les divisions par 0 ou dans les cas où vous ne voudriez pas supprimer une ligne qui comprend une erreur mais plutôt retourner un certain résultat lorsque c’est le cas.
NOTRE OFFRE DE FORMATIONS
Le CFO masqué vous offre un vaste choix de formations Excel et Power BI, réparties dans 8 catégories: Excel – Tableaux de bord, Excel – Modélisation financière, Excel – VBA, Excel – Power Tools, Excel – Ninja, Power BI, Analytique d’affaires et Finance corporative. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel. De plus, nos formations peuvent mener à l’obtention d’une accréditation.
Découvrez quelles formations vous conviennent
Pour info: 514-605-7112 ou info@lecfomasque.com