Rien de plus frustrant que d’obtenir un message d’erreur d’actualisation d’une requête Power Query, et de ne pas comprendre ce qu’implique le message La clé ne correspondait à aucune ligne dans la table (The key didn’t match any rows in the table).
C’est un peu ce que l’on ressent la première fois qu’on obtient le message suivant :
Dans cet article, je vais vous expliquer sa signification et comment corriger la situation.
Signification du message d’erreur d’actualisation
Ce message apparait lorsque la structure de notre source de données a changé et que Power Query ne trouve plus la ligne correspondante dans une table de données avec les paramètres actuels.
Illustration de l’erreur d’actualisation
Prenons un exemple d’une source de données qui provient d’un fichier Excel.
Je vais chercher des données qui se trouvent dans un tableau Excel. Ce tableau se nomme « DimBannière ».
Voici le code M qui est créé.
Remarquez le code à la 2e étape : « DimBannière_Table ». Décortiquons le tout pour bien comprendre ce que le code fait ici.
1 – Référence à l’étape Source
La première partie : = Source fait référence à l’étape « Source » qui nous retourne les différents objets du fichier Excel : les onglets, les tables, les champs nommés, etc.
2 – Sélection de la ligne
Dans la 2e partie du code, les éléments entre accolades indiquent quelle ligne il faut utiliser dans la table obtenue dans l’étape Source.
{[Item=”DimBannière”,Kind=”Table”]}
On peut traduire ceci par : prendre la ligne où Item = DimBannière ET Kind = Table
Ce qui équivaut à la 2e ligne de cette table. À noter que dans Power Query la première ligne dans une table est numérotée à 0 donc la 2e ligne que l’on voit dans le tableau est considérée comme 1 dans le code M.
On pourrait modifier le code pour = Source{1}[Data] et obtenir le même résultat
3 – Sélection de la colonne
La dernière partie du code entre crochets [Data] correspond au nom de la colonne.
En résumé, le code recherche la ligne numéro 1 de la colonne « Data ».
Dans l’éventualité où le nom du tableau Excel est modifié pour DimBannières (avec un s).
L’étape Source nous retourne le tableau suivant :
Je n’ai plus de ligne correspondant à Item = DimBannière ET Kind = Table
Et j’obtiens alors le message d’erreur « La clé ne correspondait à aucune ligne dans la table ».
Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations en Power BI en français ou en anglais. |
---|
Pour corriger l’erreur d’actualisation
Pour corriger la situation, vous pouvez retourner dans votre fichier source et renommer le tableau avec son nom original soit DimBannière ou vous pouvez faire la correction dans Power Query.
Dans Power Query deux options s’offrent à vous.
Option 1 - Vous pouvez modifier directement le code.
Option 2 - Vous pouvez cliquer sur le bouton « Modifier les paramètres ».
Puis sélectionner le tableau avec le nouveau nom dans la fenêtre suivante
En conclusion, il est important de bien comprendre le code M pour bien interpréter les messages d’erreurs.
Mais dites-vous que si tout allait bien avec l’actualisation et que tout d’un coup (sans avoir modifié vos requêtes) vous obtenez un message d’erreur comme celui-ci c’est probablement que la structure d’une source de données a été modifiée et que c’est à cet endroit qu’il faut chercher en premier.
Formation complémentaire
Vous devez manipuler et analyser beaucoup de données et êtes à la recherche d’un outil BI (Business Intelligence) performant, en mode libre-service ? Suivez la formation Power BI – Niveau 1.