Håndtering af fejl i Power Query

I Power Query kan du støde på to typer fejl:

  • Fejl på trinniveau
  • Fejl på celleniveau

Denne artikel indeholder forslag til, hvordan du løser de mest almindelige fejl, du kan finde på hvert niveau, og beskriver fejlårsagen, fejlmeddelelsen og fejldetaljerne for hvert enkelt niveau.

Fejl på trinniveau

En fejl på trinniveau forhindrer, at forespørgslen indlæses, og fejlkomponenterne vises i en gul rude.

Fejl på trinniveau.

  • Fejlårsag: Den første sektion før kolonet. I eksemplet ovenfor er fejlårsagen Expression.Error.
  • Fejlmeddelelse: Sektionen umiddelbart efter årsagen. I eksemplet ovenfor er fejlmeddelelsen Kolonnen 'Kolonne' i tabellen blev ikke fundet.
  • Fejldetaljer: Sektionen direkte efter strengen Details: . I eksemplet ovenfor er fejldetaljerne Kolonne.

Almindelige fejl på trinniveau

I alle tilfælde anbefaler vi, at du kigger nærmere på fejlårsagen, fejlmeddelelsen og fejldetaljerne for at forstå, hvad der forårsager fejlen. Du kan vælge knappen Gå til fejl , hvis den er tilgængelig, for at få vist det første trin, hvor fejlen opstod.

Gå til fejlknappen.

Kilden blev ikke fundet – DataSource.Error

Denne fejl opstår ofte, når brugeren ikke har adgang til datakilden, brugeren ikke har de korrekte legitimationsoplysninger til at få adgang til datakilden, eller kilden er flyttet til et andet sted.

Eksempel: Du har en forespørgsel fra et tekstfelt, der blev placeret i drev D og oprettet af bruger A. Bruger A deler forespørgslen med bruger B, som ikke har adgang til drev D. Når denne person forsøger at udføre forespørgslen, får vedkommende vist en DataSource.Error , fordi der ikke er noget drev D i deres miljø.

Datakildefejl. Filen blev ikke fundet, fordi der ikke er noget drev D i det aktuelle miljø.

Mulige løsninger: Du kan ændre filstien for tekstfilen til en sti, som begge brugere har adgang til. Som bruger B kan du ændre filstien til at være en lokal kopi af den samme tekstfil. Hvis knappen Rediger indstillinger er tilgængelig i fejlruden, kan du vælge den og ændre filstien.

Kolonnen i tabellen blev ikke fundet

Denne fejl udløses ofte, når et trin henviser direkte til et kolonnenavn, der ikke findes i forespørgslen.

Eksempel: Du har en forespørgsel fra en tekstfil, hvor et af kolonnenavnene var Column. I din forespørgsel har du et trin, der omdøber kolonnen til Dato. Men der var en ændring i den oprindelige tekstfil, og den har ikke længere en kolonneoverskrift med navnet Kolonne , fordi den blev ændret manuelt til Dato. Power Query kan ikke finde en kolonneoverskrift med navnet Kolonne, så den kan ikke omdøbe nogen kolonner. Den viser den fejl, der vises på følgende billede.

Udtryksfejl. Kolonnen i tabellen blev ikke fundet, fordi kolonnenavnet blev ændret manuelt.

Mulige løsninger: Der er flere løsninger til denne sag, men de afhænger alle af, hvad du gerne vil gøre. I dette eksempel kan du blot fjerne det trin, der omdøber kolonnen, fordi den korrekte kolonneoverskrift Dato allerede kommer fra tekstfilen. Dette gør det muligt for din forespørgsel at køre uden denne fejl.

Andre almindelige fejl på trinniveau

Når du kombinerer eller fletter data mellem flere datakilder, får du muligvis vist en Formula.Firewall-fejl som den, der vises på følgende billede.

Formula Firewall-fejl, refererer forespørgslen til andre forespørgsler eller trin, så den har muligvis ikke direkte adgang til en datakilde.

Denne fejl kan skyldes en række årsager, f.eks. niveauerne for beskyttelse af personlige oplysninger mellem datakilder eller den måde, som disse datakilder kombineres eller flettes på. Du kan finde flere oplysninger om, hvordan du diagnosticerer dette problem, ved at gå til Firewall til beskyttelse af personlige oplysninger.

Fejl på celleniveau

En fejl på celleniveau forhindrer ikke, at forespørgslen indlæses, men viser fejlværdier som Error i cellen. Hvis du vælger blanktegn i cellen, vises fejlruden under dataeksemplet.

Visning af fejlmeddelelsen ved at vælge mellemrum i en tabelcelle, der indeholder en fejl.

Bemærk

Værktøjerne til dataprofilering kan hjælpe dig med nemmere at identificere fejl på celleniveau med funktionen kolonnekvalitet. Flere oplysninger: Værktøjer til dataprofilering

Håndtering af fejl på celleniveau

Når der opstår fejl på celleniveau, indeholder Power Query et sæt funktioner, der kan håndtere dem enten ved at fjerne, erstatte eller bevare fejlene.

I de næste afsnit bruger de angivne eksempler den samme eksempelforespørgsel som startpunktet. I denne forespørgsel har du en kolonne af typen Sales , der har én celle med en fejl, der skyldes en konverteringsfejl. Værdien i cellen var NA, men da du transformerede kolonnen til et heltal, kunne Power Query ikke konvertere NA til et tal, så den viser følgende fejl.

Viser fejl i dataformat. Fejlen kunne ikke konverteres til datatypen i fejlruden.

Fjern fejl

Hvis du vil fjerne rækker med fejl i Power Query, skal du først vælge den kolonne, der indeholder fejl. Vælg Fjern rækker i gruppen Reducer rækker under fanen Hjem. Vælg Fjern fejl i rullemenuen.

Knappen Fjern fejl under fanen Hjem.

Resultatet af denne handling giver dig den tabel, du leder efter.

Den tabel, der tidligere indeholdt fem rækker, har nu den række, der indeholdt fejlen, fjernet, hvilket efterlader fire rækker i tabellen.

Erstat fejl

Hvis du i stedet for at fjerne rækker med fejl vil erstatte fejlene med en fast værdi, kan du også gøre det. Hvis du vil erstatte rækker med fejl, skal du først vælge den kolonne, der indeholder fejl. Vælg Erstat værdier i gruppen Enhver kolonne under fanen Transformér. Vælg Erstat fejl i rullemenuen.

Knappen Erstat fejl under fanen Transformér.

I dialogboksen Erstat fejl skal du angive værdien 10, fordi du vil erstatte alle fejl med værdien 10.

Dialogboksen Erstat fejl.

Resultatet af denne handling giver dig den tabel, du leder efter.

Den tabel, hvor den tredje række indeholdt en fejl i kolonnen Sales, har nu fejlen erstattet med værdien 10.

Bevar fejl

Power Query kan fungere som et godt overvågningsværktøj til at identificere rækker med fejl, selvom du ikke retter fejlene. Det er her, keep-fejl kan være nyttige. Hvis du vil bevare rækker med fejl, skal du først vælge den kolonne, der indeholder fejl. Under fanen Hjem i gruppen Reducer rækker skal du vælge Bevar rækker. Vælg Bevar fejl i rullemenuen.

Knappen Bevar fejl under fanen Hjem.

Resultatet af denne handling giver dig den tabel, du leder efter.

Sluttabel, der kun indeholder rækker, der indeholder fejl.

Almindelige fejl på celleniveau

Som med enhver fejl på trinniveau anbefaler vi, at du kigger nærmere på de fejlårsager, fejlmeddelelser og fejloplysninger, der er angivet på celleniveau, for at forstå, hvad der forårsager fejlene. I følgende afsnit beskrives nogle af de hyppigste fejl på celleniveau i Power Query.

Konverteringsfejl for datatype

Udløses ofte, når datatypen for en kolonne ændres i en tabel. Nogle af de værdier, der blev fundet i kolonnen, kunne ikke konverteres til den ønskede datatype.

Eksempel: Du har en forespørgsel, der indeholder en kolonne med navnet Sales. Én celle i denne kolonne har NA som en celleværdi, mens resten har heltal som værdier. Du beslutter at konvertere kolonnens datatype fra tekst til heltal, men cellen med NA-værdien medfører en fejl.

Fejldetaljerne for datatypen kunne ikke konverteres.

Mulige løsninger: Når du har identificeret rækken med fejlen, kan du enten ændre datakilden, så den afspejler den korrekte værdi i stedet for NA, eller du kan anvende fejlhandlingen Erstat for at angive en værdi for de NA-værdier , der forårsager en fejl.

Handlingsfejl

Når du forsøger at anvende en handling, der ikke understøttes, f.eks. multiplicering af en tekstværdi med en numerisk værdi, opstår der en fejl.

Eksempel: Du vil oprette en brugerdefineret kolonne til forespørgslen ved at oprette en tekststreng, der indeholder udtrykket "Samlet salg: "sammenkædet med værdien fra kolonnen Sales . Der opstår en fejl, fordi sammenkædningshandlingen kun understøtter tekstkolonner og ikke numeriske kolonner.

Udtryksfejl i fejlruden, der skyldes, at du forsøger at anvende operatoren And på tekst og et tal fra kolonnen Sales.

Mulige løsninger: Før du opretter denne brugerdefinerede kolonne, skal du ændre datatypen for kolonnen Sales til tekst.

Tabel med salgskolonnen konverteret fra datatypen Tal til datatypen Tekst, og den resulterende nye kolonne, der indeholder begge udtryk.

Indlejrede værdier, der vises som fejl

Når du arbejder med data, der indeholder indlejrede strukturerede værdier (f.eks. tabeller, lister eller poster), kan der nogle gange opstå følgende fejl:

Fejl for indlejrede værdier, der udløses af formelfirewallen.

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.

Disse fejl opstår normalt af to årsager:

  • Når Data Privacy Firewall gemmer en datakilde i buffer, konverteres indlejrede værdier, der ikke er skalar, automatisk til fejl.
  • Når en kolonne, der er defineret med Any datatypen , indeholder værdier, der ikke er skalarværdier, rapporteres sådanne værdier som fejl under indlæsning (f.eks. i en projektmappe i Excel eller datamodellen i Power BI Desktop).

Mulige løsninger:

  • Fjern den kolonne, der indeholder fejlen, eller angiv en ikke-datatypeAny for en sådan kolonne.
  • Skift niveauerne for beskyttelse af personlige oplysninger for de involverede datakilder til en, der gør det muligt at kombinere dem uden at blive bufferlagret.
  • Fladgør tabellerne, før du fletter for at fjerne kolonner, der indeholder indlejrede strukturerede værdier (f.eks. tabel, post eller liste).