Håndtere feil i Power Query
I Power Query kan du støte på to typer feil:
- Trinnvise feil
- Feil på cellenivå
Denne artikkelen inneholder forslag til hvordan du løser de vanligste feilene du kan finne på hvert nivå, og beskriver feilårsaken, feilmeldingen og feildetaljene for hver av dem.
En trinnvis feil hindrer at spørringen lastes inn og viser feilkomponentene i en gul rute.
- Feilårsak: Den første inndelingen før kolon. I eksemplet ovenfor er feilårsaken Expression.Error.
- Feilmelding: Inndelingen rett etter årsaken. I eksemplet ovenfor finner du ikke feilmeldingen Kolonnen i tabellen.
- Feildetalj: Inndelingen rett etter detaljer: streng. I eksemplet ovenfor er feildetaljen kolonne.
I alle tilfeller anbefaler vi at du tar en nærmere titt på feilårsaken, feilmeldingen og feildetaljene for å forstå hva som forårsaker feilen. Du kan velge Gå til feil-knappen , hvis tilgjengelig, for å vise det første trinnet der feilen oppstod.
Denne feilen oppstår vanligvis når datakilden er utilgjengelig for brukeren, brukeren har ikke riktig legitimasjon for å få tilgang til datakilden, eller kilden er flyttet til et annet sted.
Eksempel: Du har en spørring fra en tekstflis som ble plassert i stasjon D og opprettet av bruker A. Bruker A deler spørringen med bruker B, som ikke har tilgang til stasjon D. Når denne personen prøver å kjøre spørringen, får vedkommende en DataSource.Error fordi det ikke finnes noen stasjon D i miljøet.
Mulige løsninger: Du kan endre filbanen til tekstfilen til en bane som begge brukerne har tilgang til. Som bruker B kan du endre filbanen til å være en lokal kopi av samme tekstfil. Hvis knappen Rediger innstillinger er tilgjengelig i feilruten, kan du velge den og endre filbanen.
Denne feilen utløses vanligvis når et trinn gjør en direkte referanse til et kolonnenavn som ikke finnes i spørringen.
Eksempel: Du har en spørring fra en tekstfil der ett av kolonnenavnene var Kolonne. I spørringen har du et trinn som gir kolonnen nytt navn til Dato. Men det var en endring i den opprinnelige tekstfilen, og den har ikke lenger en kolonneoverskrift med navnet Kolonne fordi den ble manuelt endret til Dato. Power Query finner ikke en kolonneoverskrift med navnet Kolonne, så den kan ikke gi nytt navn til noen kolonner. Den viser feilen som vises i bildet nedenfor.
Mulige løsninger: Det finnes flere løsninger for denne saken, men alle avhenger av hva du ønsker å gjøre. I dette eksemplet, fordi den riktige datokolonneoverskriften allerede kommer fra tekstfilen, kan du bare fjerne trinnet som gir nytt navn til kolonnen. Dette gjør at spørringen kan kjøre uten denne feilen.
Når du kombinerer eller slår sammen data mellom flere datakilder, kan du få en Formel.Brannmur-feil , for eksempel den som vises i bildet nedenfor.
Denne feilen kan skyldes flere årsaker, for eksempel personvernnivåene mellom datakilder eller måten disse datakildene kombineres eller slås sammen på. Hvis du vil ha mer informasjon om hvordan du diagnostiserer dette problemet, kan du gå til brannmuren for personvern.
En feil på cellenivå hindrer ikke at spørringen lastes inn, men viser feilverdier som Feil i cellen. Hvis du velger mellomrom i cellen, vises feilruten under forhåndsvisningen av data.
Obs!
Verktøyene for dataprofilering kan gjøre det enklere å identifisere feil på cellenivå med funksjon for kolonnekvalitet. Mer informasjon: Verktøy for dataprofilering
Når det oppstår feil på cellenivå, gir Power Query et sett med funksjoner for å håndtere dem enten ved å fjerne, erstatte eller beholde feilene.
I de neste inndelingene bruker de angitte eksemplene den samme eksempelspørringen som startpunktet. I denne spørringen har du en Salgskolonne som har én celle med en feil forårsaket av en konverteringsfeil. Verdien i cellen var NA, men da du transformerte denne kolonnen til et heltall, kunne ikke Power Query konvertere IT til et tall, så det viser følgende feil.
Hvis du vil fjerne rader med feil i Power Query, velger du først kolonnen som inneholder feil. Velg Fjern rader i Gruppen Reduser rader på Hjem-fanen. Velg Fjern feil fra rullegardinmenyen.
Resultatet av operasjonen gir deg tabellen du leter etter.
Hvis du i stedet for å fjerne rader med feil, vil erstatte feilene med en fast verdi, kan du også gjøre det. Hvis du vil erstatte rader som har feil, velger du først kolonnen som inneholder feil. Velg Erstatt verdier i En kolonne-gruppen på Fanen Transformer. Velg Erstatt feil fra rullegardinmenyen.
Skriv inn verdien 10 i dialogboksen Erstatt feil, fordi du vil erstatte alle feil med verdien 10.
Resultatet av operasjonen gir deg tabellen du leter etter.
Power Query kan fungere som et godt overvåkingsverktøy for å identifisere eventuelle rader med feil selv om du ikke løser feilene. Det er her Behold-feil kan være nyttige. Hvis du vil beholde rader som har feil, velger du først kolonnen som inneholder feil. Velg Behold rader i Gruppen Reduser rader på Hjem-fanen. Velg Behold feil fra rullegardinmenyen.
Resultatet av operasjonen gir deg tabellen du leter etter.
Som med eventuelle trinnvise feil anbefaler vi at du tar en nærmere titt på feilårsakene, feilmeldingene og feildetaljene som er angitt på cellenivå, for å forstå hva som forårsaker feilene. Avsnittene nedenfor tar for seg noen av de vanligste feilene på cellenivå i Power Query.
Utløses vanligvis når du endrer datatypen for en kolonne i en tabell. Noen verdier i kolonnen kan ikke konverteres til den ønskede datatypen.
Eksempel: Du har en spørring som inneholder en kolonne kalt Salg. Én celle i denne kolonnen har NA som en celleverdi, mens resten har hele tall som verdier. Du bestemmer deg for å konvertere datatypen for kolonnen fra tekst til heltall, men cellen med NA-verdien forårsaker en feil.
Mulige løsninger: Når du har identifisert raden med feilen, kan du enten endre datakilden slik at den gjenspeiler den riktige verdien i stedet for NA, eller du kan bruke en Erstatt-feiloperasjon for å angi en verdi for eventuelle NA-verdier som forårsaker en feil.
Når du prøver å bruke en operasjon som ikke støttes, for eksempel multiplisere en tekstverdi med en numerisk verdi, oppstår det en feil.
Eksempel: Du vil opprette en egendefinert kolonne for spørringen ved å opprette en tekststreng som inneholder uttrykket Totalt salg: kjedes sammen med verdien fra Salgs-kolonnen . Det oppstår en feil fordi sammenkoblingsoperasjonen bare støtter tekstkolonner og ikke numeriske.
Mulige løsninger: Før du oppretter denne egendefinerte kolonnen, endrer du datatypen for Salgs-kolonnen til tekst.
Når du arbeider med data som inneholder nestede strukturerte verdier (for eksempel tabeller, lister eller poster), kan det hende du noen ganger støter på følgende feil:
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 feilene oppstår vanligvis av to årsaker:
- Når brannmuren for personvern bufrer en datakilde, konverteres nestede ikke-skalarverdier automatisk til feil.
- Når en kolonne definert med
Any
datatypen inneholder ikke-skalarverdier, rapporteres slike verdier som feil under innlasting (for eksempel i en arbeidsbok i Excel eller datamodellen i Power BI Desktop).
Mulige løsninger:
- Fjern kolonnen som inneholder feilen, eller angi en ikke-datatype
Any
for en slik kolonne. - Endre personvernnivåene for datakildene som er involvert, til en som gjør at de kan kombineres uten å bli bufret.
- Flate ut tabellene før du gjør en fletting for å eliminere kolonner som inneholder nestede strukturerte verdier (for eksempel tabell, post eller liste).