Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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årsag: Den første sektion før kolonet. I det forrige eksempel er fejlårsagen Expression.Error.
- Fejlmeddelelse: Sektionen umiddelbart efter årsagen. I det forrige eksempel er fejlmeddelelsen Kolonnen 'Kolonne' i tabellen blev ikke fundet.
- Fejldetaljer: Sektionen direkte efter strengen Details: . I det forrige eksempel er fejldetaljerne Kolonne.
Power Query Online viser lidt forskellige detaljer. Fejldetaljerne er stadig Column, men onlinefejlmeddelelsen indeholder også fejlårsagen (Expression.Error) og fejlkoden (10224).
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 Vis detaljer , hvis den er tilgængelig, for at få vist flere oplysninger om fejlen.
Kilden blev ikke fundet – DataSource.NotFound
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 en DataSource.NotFound , fordi der ikke er noget drev D i deres 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.
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.
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. Denne ændring 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.
Denne fejl opstår af forskellige å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.
Notat
Værktøjerne til dataprofilering kan hjælpe dig med nemmere at identificere fejl på celleniveau med funktionen kolonnekvalitet. Du kan få flere oplysninger ved at gå til Værktøjer til dataprofilering.
Håndtering af fejl på celleniveau
Når du støder på 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.
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.
Resultatet af denne handling giver dig følgende tabel.
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.
I dialogboksen Erstat fejl skal du angive værdien 10 , fordi du vil erstatte alle fejl med værdien 10.
Resultatet af denne handling giver dig følgende tabel.
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. I denne situation kan Keep-fejl 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.
Resultatet af denne handling giver dig følgende tabel.
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.
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.
Mulige løsninger: Før du opretter denne brugerdefinerede kolonne, skal du ændre datatypen for kolonnen Sales til tekst.
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:
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 ikke-calære værdier automatisk til fejl.
- Når en kolonne, der er defineret med
Anydatatypen , indeholder ikke-calarvæ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-datatype
Anyfor 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).