Gestion des erreurs dans Power Query

Dans Power Query, vous pouvez rencontrer deux types d’erreur :

  • Erreurs au niveau des étapes
  • Erreurs au niveau des cellules

Cet article fournit des suggestions sur la façon de corriger les erreurs les plus courantes que vous pouvez rencontrer à chaque niveau. Il décrit la raison de l’erreur, le message d’erreur ainsi que les détails de l’erreur pour chacun d’eux.

Erreur au niveau de l’étape

Une erreur au niveau de l’étape empêche le chargement de la requête et affiche les composants de l’erreur dans un volet jaune.

Erreur au niveau de l’étape.

  • Raison de l’erreur : première section avant les deux-points. Dans l’exemple ci-dessus, la raison de l’erreur est Expression.Error.
  • Message d’erreur : section située juste après la raison. Dans l’exemple ci-dessus, le message d’erreur est La colonne « Colonne » du tableau est introuvable.
  • Détail de l’erreur : section située juste après la chaîne Détails :. Dans l’exemple ci-dessus, la détail de l’erreur est Colonne.

Erreurs courantes au niveau des étapes

Dans tous les cas, nous vous recommandons d’examiner de près la raison de l’erreur, le message d’erreur ainsi que le détail de l’erreur pour en comprendre la cause. Vous pouvez sélectionner le bouton Accéder à l’erreur, le cas échéant, pour voir la première étape où l’erreur s’est produite.

Bouton Accéder à l’erreur.

Source introuvable - DataSource.Error

Cette erreur se produit généralement quand la source de données est inaccessible à l’utilisateur, quand l’utilisateur ne dispose pas des informations d’identification appropriées pour accéder à la source de données ou quand la source a été déplacée.

Exemple : vous avez une requête dans un fichier texte situé sur le lecteur D, et qui a été créé par l’utilisateur A. L’utilisateur A partage la requête avec l’utilisateur B, qui n’a pas accès au lecteur D. Quand cette personne tente d’exécuter la requête, elle reçoit DataSource.Error, car il n’existe aucun lecteur D dans son environnement.

Erreur de source de données, impossible de trouver le fichier, car il n’y a pas de lecteur D dans l’environnement actuel.

Solutions possibles : vous pouvez remplacer le chemin du fichier texte par un chemin auquel les deux utilisateurs ont accès. En tant qu’utilisateur B, vous pouvez changer le chemin du fichier pour qu’il corresponde à une copie locale du même fichier texte. Si le bouton Modifier les paramètres est disponible dans le volet d’erreur, vous pouvez le sélectionner et changer le chemin du fichier.

La colonne du tableau est introuvable

Cette erreur est généralement déclenchée quand une étape fait une référence directe à un nom de colonne qui n’existe pas dans la requête.

Exemple : vous avez une requête dans un fichier texte. L’un des noms de colonnes est Column. Dans votre requête, vous avez une étape qui renomme cette colonne en Date. Toutefois, un changement a eu lieu dans le fichier texte d’origine. Il n’a plus d’en-tête de colonne nommé Column, car il a été changé manuellement en Date. Power Query ne parvient pas à trouver d’en-tête de colonne nommé Column. Il ne peut donc renommer aucune colonne. Il affiche l’erreur illustrée dans l’image suivante.

Erreur d’expression, la colonne de la table n’a pas été trouvée, car le nom de la colonne a été modifié manuellement.

Solutions possibles : il existe plusieurs solutions pour ce cas de figure, mais elles dépendent toutes de ce que vous souhaitez faire. Pour cet exemple, dans la mesure où l’en-tête de colonne Date approprié provient déjà de votre fichier texte, vous pouvez simplement supprimer l’étape qui renomme la colonne. Cela permet à votre requête de s’exécuter sans cette erreur.

Autres erreurs courantes au niveau des étapes

Quand vous combinez ou fusionnez des données entre plusieurs sources de données, vous pouvez obtenir une erreur Formula.Firewall telle que celle illustrée dans l’image suivante.

Erreur de pare-feu dans la formule, la requête fait référence à d’autres requêtes ou étapes, afin qu’elle n’accède pas directement à une source de données.

Cette erreur peut avoir un certain nombre de causes, par exemple les niveaux de confidentialité des données entre les sources de données, ou la façon dont ces sources de données sont combinées ou fusionnées. Pour plus d’informations sur le diagnostic de ce problème, accédez à Pare-feu de confidentialité des données.

Erreur au niveau de la cellule

Une erreur au niveau de la cellule n’empêche pas le chargement de la requête. Toutefois, elle affiche les valeurs d’erreur sous la forme Erreur dans la cellule. La sélection de l’espace blanc dans la cellule permet d’afficher le volet d’erreur sous l’aperçu des données.

Affichage du message d’erreur en sélectionnant un espace blanc dans une cellule de table contenant une erreur.

Remarque

Les outils de profilage des données peuvent vous aider à identifier plus facilement les erreurs au niveau des cellules avec la fonctionnalité de qualité de colonne. Plus d’informations : Outils de profilage des données

Gestion des erreurs au niveau des cellules

Quand des erreurs se produisent au niveau des cellules, Power Query fournit un ensemble de fonctions qui vous permettent de gérer ces erreurs en les supprimant, en les remplaçant ou en les conservant.

Pour les prochaines sections, les exemples fournis utilisent le même exemple de requête que celui du point de départ. Dans cette requête, vous disposez d’une colonne Sales qui comporte une cellule avec une erreur provoquée par une erreur de conversion. La valeur présente dans cette cellule était NA. Toutefois, quand vous avez transformé la colonne en nombre entier, Power Query n’a pas pu convertir NA en nombre. Il affiche donc l’erreur suivante.

Affiche l’erreur de format de données, impossible de convertir en erreur de type de données dans le volet d’erreurs.

Supprimer les erreurs

Pour supprimer les lignes contenant des erreurs dans Power Query, sélectionnez d’abord la colonne qui comporte les erreurs. Sous l’onglet Accueil, dans le groupe Réduire les lignes, sélectionnez Supprimer les lignes. Dans le menu déroulant, sélectionnez Supprimer les erreurs.

Bouton Supprimer les erreurs sous l’onglet Accueil.

Le résultat de cette opération produit le tableau recherché.

Tableau dont la ligne comportant l’erreur a été supprimée. Le tableau contient désormais quatre lignes au lieu de cinq.

Remplacer les erreurs

Si, au lieu de supprimer les lignes contenant des erreurs, vous souhaitez remplacer les erreurs par une valeur fixe, vous pouvez également le faire. Pour remplacer les lignes contenant des erreurs, sélectionnez d’abord la colonne qui comporte les erreurs. Sous l’onglet Transformer, dans le groupe N’importe quelle colonne, sélectionnez Remplacer les valeurs. Dans le menu déroulant, sélectionnez Remplacer les erreurs.

Bouton Remplacer les erreurs sur l’onglet Transformation.

Dans la boîte de dialogue Remplacer les erreurs, entrez la valeur 10, car vous souhaitez remplacer toutes les erreurs par la valeur 10.

Zone de dialogue Remplacer les erreurs.

Le résultat de cette opération produit le tableau recherché.

Le tableau dont la troisième ligne contenait une erreur dans la colonne Sales (Ventes) a désormais la valeur 10.

Conserver les erreurs

Power Query peut être un bon outil d’audit pour identifier les lignes qui contiennent des erreurs, même si vous ne les corrigez pas. Il s’agit du cas de figure où l’option Conserver les erreurs peut s’avérer utile. Pour conserver les lignes contenant des erreurs, sélectionnez d’abord la colonne qui comporte les erreurs. Sous l’onglet Accueil, dans le groupe Réduire les lignes, sélectionnez Conserver les lignes. Dans le menu déroulant, sélectionnez Conserver les erreurs.

Bouton Conserver les erreurs sous l’onglet Accueil.

Le résultat de cette opération produit le tableau recherché.

Table finale qui conserve uniquement les lignes qui contiennent des erreurs.

Erreurs courantes au niveau des cellules

Comme pour les erreurs au niveau des étapes, nous vous recommandons d’examiner de près les raisons de l’erreur, les messages d’erreur ainsi que les détails de l’erreur fournis au niveau de la cellule pour en comprendre la cause. Les sections suivantes décrivent certaines des erreurs au niveau des cellules les plus fréquentes dans Power Query.

Erreurs de conversion du type de données

Elles se déclenchent généralement au moment du changement du type de données d’une colonne dans un tableau. Certaines valeurs trouvées dans la colonne n’ont pas pu être converties vers le type de données souhaité.

Exemple : vous avez une requête qui comprend une colonne nommée Sales. L’une des cellules de cette colonne a la valeur NA alors que les autres cellules ont des valeurs correspondant à des nombres entiers. Vous décidez de convertir la colonne du type de données texte au type de données nombre entier, mais la cellule ayant la valeur NA génère une erreur.

Détails de l’erreur Impossible de convertir en type de données.

Solutions possibles : après avoir identifié la ligne contenant l’erreur, vous pouvez modifier la source de données pour refléter la valeur appropriée au lieu de NA, ou vous pouvez appliquer une opération Remplacer les erreurs afin de fournir une valeur pour toutes les valeurs NA qui génèrent une erreur.

Erreurs d’opération

Quand vous essayez d’appliquer une opération qui n’est pas prise en charge, par exemple la multiplication d’une valeur de texte par une valeur numérique, une erreur se produit.

Exemple : vous souhaitez créer une colonne personnalisée pour votre requête en créant une chaîne de caractères qui contient l’expression « Total Sales : » (Total des ventes :) concaténée avec la valeur de la colonne Sales. Une erreur se produit, car l’opération de concaténation prend uniquement en charge les colonnes de texte et non les colonnes numériques.

Erreur d’expression dans le volet d’erreur causée par la tentative d’application d’un opérateur And à un texte et un nombre de la colonne Sales.

Solutions possibles : avant de créer cette colonne personnalisée, changez le type de données de la colonne Sales en texte.

Tableau avec la colonne Sales dont le type de données a été converti de nombre en texte, et nouvelle colonne résultante contenant les deux expressions.

Valeurs imbriquées affichées comme erreurs

En travaillant avec des données qui contiennent des valeurs structurées imbriquées (comme des tables, des listes ou des enregistrements), vous pouvez parfois rencontrer l’erreur suivante :

Erreur pour les valeurs imbriquées déclenchées par le pare-feu de formule.

Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.

Ces erreurs se produisent habituellement pour deux raisons :

  • Lorsque le pare-feu de confidentialité des données met une source de données en mémoire tampon, les valeurs non scalaires imbriquées sont automatiquement converties en erreurs.
  • Lorsqu’une colonne définie avec le Any type de données contient des valeurs non scalaires, ces valeurs sont signalées comme des erreurs pendant le chargement (par exemple dans un classeur dans Excel ou le modèle de données dans Power BI Desktop).

Solutions possibles :

  • Supprimez la colonne contenant l’erreur ou définissez un type autre que de donnéesAny pour une telle colonne.
  • Modifiez les niveaux de confidentialité des sources de données concernées pour qu’ils soient combinés sans être mis en mémoire tampon.
  • Aplatissez les tables avant d’effectuer une fusion pour éliminer les colonnes contenant des valeurs structurées imbriquées (comme table, enregistrement ou liste).