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.
- 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.
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.
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.
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.
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.
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.
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.
Le résultat de cette opération produit le tableau recherché.
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.
Dans la boîte de dialogue Remplacer les erreurs, entrez la valeur 10, car vous souhaitez remplacer toutes les erreurs par la valeur 10.
Le résultat de cette opération produit le tableau recherché.
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.
Le résultat de cette opération produit le tableau recherché.
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.
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.
Solutions possibles : avant de créer cette colonne personnalisée, changez le type de données de la colonne Sales en texte.
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 :
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ées
Any
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).