Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Excel 2013 : Analyse de données avec Power Query

Gérer les erreurs

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Passez en revue les erreurs les plus récurrentes. Puis, votre formateur vous expliquera comment les traiter dans Power Query à l'aide d'un exemple concret.
11:17

Transcription

Pour clore ce chapitre concernant les techniques de transformation de base, on va aborder un sujet très important : il s'agit du traitement des erreurs, dont je vous avez promis antérieurement que l'on reviendrait dessus. Alors, il existe communément quatre ou cinq types d'erreurs dans Power Query: des calculs qui donnent plus ou moins l'infini. Certains le comptent comme une erreur, d'autres comme deux, vu qu'il y a l'erreur qui donne plus l'infini, l'autre qui donne moins l'infini. Il y a les erreurs qui donnent Erreur : on va le voir dans quelques secondes. Il y a des entre guillemets "erreur", qui donnent des valeurs Null, donc NULL, c'est à dire, en d'autres termes, vides. Il y a les erreurs qui donnent des NaN, donc en d'autres termes, on pourrait dire des non disponibles. Alors, les deux cas les plus courants que l'on va traiter ensemble dans cette formation, c'est les cellules qui renvoient Erreur, et ceux qui renvoient Null. On va laisser de côté NaN et également les infinis puisque pour l'instant, je n'ai encore aucun client qui les a rencontrés. Ce qui ne veut pas dire que personne ne les a rencontrés, parce qu'il suffit d'aller sur les forums sur Internet pour voir que c'est le cas dans les pays anglo-saxons. Alors, on va voir ceci avec notre tableau XLSVentes, si on le parcourt un peu de gauche à droite, on remarquera que dans la colonne Prix Total Avec Rabais, il y a ici Erreur. Donc déjà celui-là on va le traiter, et je vais vous dire d'où il vient: c'est que dans la source d'origine, en fait la quantité n'est pas communiquée, et ça génère une erreur dans les formules en cascade. Donc là je pourrais traiter l'erreur ici dans Quantité, traiter ici l'erreur dans Prix Total Avec Rabais, et ainsi de suite. Bref il faut faire un choix, donc je vais traiter ça dans Quantité. Alors pour faire ceci, je vais donc ajouter une colonne personnalisée. Voilà, donc là il me demande si on va ajouter une étape. A l'endroit où je me trouve, c'est que j'ai oublié de me remettre en bas dans les étapes. Voilà donc, Colonne personnalisée, et puis on va l'appeler sng_Calc, c'est Calculer pour le coup comme vous allez pouvoir le voir, et _Quantite. Et puis ici, la formule pour gérer les erreurs, c'est pas comme dans Excel un SIERREUR, ou IFERROR en anglais, c'est un peu plus subtil. C'est try, en fait comme dans un langage de programmation qu'on appelle le F Sharp, et pas que d'ailleurs, mais Microsoft pour le langage M, il faut savoir qu'ils se sont inspirés du F Sharp. Et ici on va aller chercher donc le int_quantite, et donc si il essaye une quantité et qu'il trouve une erreur, l'information c'est qu'il renvoie, s'il y a une erreur, la valeur 0. Là ici, comme vous pouvez le voir, il me dit qu'il y a un jeton Eof attendu, c'est simplement parce que j'ai pas tapé un espace entre le "e" et le "0". C'est rien, c'est juste une faute de frappe de ma part. On valide par Ok, on attend un petit peu et on voit immédiatement qu'on a une colonne Quantité qui est maintenant nickel chrome. On peut à nouveau la déplacer comme à l'habitude, donc rappelez-vous je vous ai déjà dit, y a plusieurs techniques de déplacement, c'est celle que je préfère personnellement. Voilà, on va la déplacer encore ici un peu plus, et pour le coup la colonne Quantité qui est ici, elle ne sert plus à rien. Maintenant par contre, le Prix Total Avec Rabais: il utilisait la quantité qu'on vient d'enlever, donc on va le changer. L'idée c'est de trouver donc ici l'étape qui crée cette colonne. Évidemment, j'ai pas renommé ici toutes les étapes, mais c'est assez facile de deviner que c'est une des Personnalisées qui est ici. Donc si je prends, par exemple, la personnalisée ajoutée2, voilà, ici, c'est celle qui calculait les rabais, donc c'est pas la bonne. Celle-là, c'est celle qu'on vient de faire. Il y a un autre Personnalisée ici, qui est celle qui calculait effectivement les totaux avec rabais. Et là, on va simplement changer une quantité, puisque c'est le int_quantite qui contient une erreur, pour le remplacer par le sng_Calc, Prix, Quantité, et si on le cherche, ici, comme on peut le voir, il est visiblement pas disponible du tout. Alors comment faire? En fait la solution est simple, c'est que lorsque vous éditez votre formule, c'est aussi de faire un try ici. Puisque à nouveau je répète on ne voit pas ici les colonnes calculées, donc on ne peut pas encore à ce jour utiliser des colonnes calculées dans des colonnes calculées, donc on fait un try otherwise 0, parce qu'évidemment, vu que j'avais 0 quantité, c'est sûr que le total donnera 0. Je valide par Ok. Et pour le coup maintenant le prix total avec rabais que je vais mettre ici donc en type de données décimales, voilà, et je vais modifier ici l'étape que visiblement il ne comprenait plus, et bien si on retourne sur cette colonne Prix Total Avec Rabais, on voit bien qu'on n'a plus d'erreur. Maintenant, ce qui est intéressant aussi, c'est de traiter le cas de la facture payée. Souvenez-vous qu'on voulait à la base un booléen, c'est pour ça qu'il y a Erreur... Si je remets ici Texte, Insérer, là il me garde l'erreur, c'est normal parce qu'en fait, j'essaye de modifier de l'erreur. Il faudrait que je trouve l'étape où j'avais avant les oui/non oui/non, et que je supprime l'étape correspondante. C'est là qu'on voit que c'est important d'avoir nommé, parce que pour le coup, retrouver cette étape est difficile. Donc là, Type modifié, j'enlève ceci, je supprime. On va aller regarder si ça m'a remis la colonne comme c'était avant, et c'est le cas. Alors l'erreur qu'il y a là, déjà, on peut la gérer parce que c'était à cause d'une mauvaise transformation de données. Le fait est que oui/non, ils ne le comprennent pas comme des booléens, donc là ce que l'on va faire, c'est déjà rechercher, remplacer. Donc souvenez-vous que dans Transformer, on a ici à remplacer les valeurs, donc je peux ajouter une étape, effectivement, dire: tu recherches, Oui, et à la place, tu vas mettre, VRAI. Ça, c'est une première étape de nettoyage, ensuite je peux rajouter à nouveau une autre étape de nettoyage, Insérer, pour dire: tu cherches, Non, et tu remplaces par FAUX. On va mettre en majuscules puisque l'usage est Ok, donc là c'est déjà pas mal, on a des vrais/faux vrai/faux. Si maintenant j'essaye de passer ceci en booléen, donc c'est à dire en vrai/faux. Donc à nouveau il me propose d'insérer une nouvelle étape, voilà, comme vous pouvez le voir, on a toujours Erreur... Donc on se dit, c'est peut-être à cause de la présence du Null. Parce que je pense que vous voyez le Null, Donc on va essayer de s'en débarrasser, avec à nouveau une formule, çà va être l'idée. Donc pour faire ceci, on va créer une colonne personnalisée en allant là, Ajouter une colonne, Colonne personnalisée, on ajoute une étape, voilà, ici on va mettre bol pour booléen, Calc parce que c'est une colonne calculée, FacturePayee comme ceci. Et puis maintenant évidemment, on va aller chercher ici à droite le nom de la colonne d'origine, c'est à dire bol_FacturePayee normal, qui est ici. Mais on sait que ça va renvoyer, certes, des vrais et des faux, mais là où il y a le Null, ça va nous renvoyer un Null, et ça, ça ne nous arrange pas. Donc on va dire if, notre booléen de factures, est égal, (et ça c'est très important la commande Null), et bien, c'est à dire then, on va renvoyer ici. Il faut qu'on fasse un choix, mais l'on aimerait autre chose ici que le Null, donc on pourrait par exemple renvoyer un VRAI, parce qu'on imagine qu'on a fait un choix dans l'entreprise, et ici les VRAI, c'est les TRUE. Sinon, donc à nouveau faut rappeler que c'est else, on renvoie un FALSE. Donc comme vous pouvez le voir, la formule est acceptée, je valide par Ok, j'attends un petit peu. Donc ici, il me dit que le nom TRUE n'a pas été reconnu. Si je change la formule, donc là ce qu'il me dit c'est que simplement, il trouve pas, parce qu'il faut savoir que le langage M est sensitif à la casse. Donc vous ne pouvez pas écrire le if en majuscule au même titre que vous ne pouvez pas écrire le true et le false en majuscules, il faut les écrire en minuscules. Voilà donc true, false, on corrige. Voilà, donc pour le coup ici, on a un TRUE, c'est un choix, on remplace là le Null comme étant une facture payée, mais j'aurais pu choisir le contraire pour l'exemple. Mais ça n'empêche pas que les autres ont toujours une erreur, et en fait, d'où vient l'erreur ? Et bien je pense que vous devinez pour le coup, si vous regardez comment TRUE est écrit, et bien c'est que simplement dans les valeurs remplacées, pour que ce soit des booléens, il faut les mettre en anglais. Donc là, ça va être quoi, ça va être remplacer par true pour les oui, et la valeur remplacée pour l'autre, pour les factures non payées on va mettre false, comme ceci. Et puis maintenant donc, si on va regarder notre colonne, qui est donc ici à cet endroit, donc on a bien true... ici par contre on a un null, donc on a l'impression Donc si à nouveau on va voir notre formule, il dit bien bol_FacturePayee égal à null, alors true, on revalide par Ok pour qu'il reprenne le dessus. Donc comme vous pouvez le voir il va forcer en quelque sorte la mise à jour. Maintenant on essaye de repasser cette colonne en booléen, voilà, donc en vrai/faux. On insère donc l'étape, et on voit que c'est tout bon. La colonne a été prise comme un booléen. Par contre, je peux supprimer cette étape-là qui ne sert à rien. Donc là, ceci dit, vous voyez qu'il y a plein d'autres null partout dans ce tableau Power Query, donc il y a un gros travail de nettoyage à faire. D'ailleurs, c'est des fois malheureusement un travail que doit faire ce qu'on appelle le Data Scientist, qui normalement est censé ne faire que de la science. Et bien quand il doit manipuler les données d'entreprises qui sont souvent dans un état catastrophique, on dit souvent qu'il passe septante à nonante % de son temps à nettoyer des données. Mais donc là voilà, pour le cas avec notre Erreur et notre Null, là vous pouvez voir que encore une fois il a perdu le typage, donc là le petit Modifier, je vais le supprimer, et puis je vais le réappliquer comme ceci, on réinsère l'étape, et c'est tout bon. Voilà, on a vu comment gérer les erreurs avec try, ça c'est fait, et Null en faisant un simple if, le nom du champ égal Null. de mettre ça en majuscules. qui est ici à la ligne 9. qu'il a perdu notre formule.

Excel 2013 : Analyse de données avec Power Query

Analysez des données avec Excel 2013 et Power Query. Apprenez à importer, consolider, lier, nettoyer, fusionner ou scinder des données provenant de différentes sources.

2h53 (34 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :8 sept. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !