Del via


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.

Trinnvis feil

En trinnvis feil hindrer at spørringen lastes inn og viser feilkomponentene i en gul rute.

Skjermbilde av en trinnvis feil der en kolonne ikke ble funnet.

  • Feilårsak: Den første inndelingen før kolon. I det forrige eksemplet er feilårsaken Expression.Error.
  • Feilmelding: Inndelingen rett etter årsaken. I det forrige eksemplet er feilmeldingen Kolonnen kolonne i tabellen ble ikke funnet.
  • Feildetalj: Inndelingen rett etter detaljer: streng. I det forrige eksemplet er feildetaljen kolonne.

Power Query Online viser litt forskjellige detaljer. Feildetaljene er fortsatt Kolonne, men den elektroniske feilmeldingen inneholder også feilårsaken (Expression.Error) og feilkoden (10224).

Skjermbilde av en trinnvis feil på nettet der en kolonne ikke ble funnet.

Vanlige trinnnivåfeil

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 Vis detaljer-knappen , hvis tilgjengelig, for å vise flere detaljer om feilen.

Skjermbilde av en feilmelding med Vis detaljer-knappen fremhevet.

Finner ikke kilden - DataSource.NotFound

Denne feilen oppstår vanligvis når datakilden er utilgjengelig for brukeren, brukeren har ikke riktig legitimasjon for å få tilgang til datakilden, eller kilden ble 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.NotFound fordi det ikke finnes noen stasjon D i miljøet.

Skjermbilde av en datakildefeil som ikke finner filen fordi det ikke finnes noen stasjon D i gjeldende miljø.

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.

Finner ikke kolonnen i tabellen

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.

Skjermbilde av en uttrykksfeil der kolonnen i tabellen ikke ble funnet fordi kolonnenavnet ble endret manuelt.

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. Denne endringen gjør at spørringen kan kjøre uten denne feilen.

Andre vanlige trinnnivåfeil

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.

Skjermbilde av en formel brannmurfeil som sier at spørringen refererer til andre spørringer eller trinn, slik at den kanskje ikke får direkte tilgang til en datakilde.

Denne feilen oppstår av ulike årsaker, for eksempel datavernnivå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.

Feil på cellenivå

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.

Skjermbilde som viser feilmeldingen ved å velge mellomrom i en tabellcelle som inneholder en feil.

Merk deg

Verktøyene for dataprofilering kan gjøre det enklere å identifisere feil på cellenivå med funksjon for kolonnekvalitet. Hvis du vil ha mer informasjon, kan du gå til verktøy for dataprofilering.

Håndtere feil på cellenivå

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 samme eksempelspørring 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.

Skjermbilde som viser feil i dataformatet, som inneholder feilen kan ikke konverteres til datatype i feilruten.

Fjerne 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 raderHjem-fanen. Velg Fjern feil fra rullegardinmenyen.

Skjermbilde av fjern feil-knappen på Hjem-fanen.

Resultatet av denne operasjonen gir deg følgende tabell.

Skjermbilde av tabellen som tidligere inneholdt fem rader, har nå raden som inneholdt feilen fjernet, slik at fire rader i tabellen ble forlater.

Erstatt feil

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-gruppenFanen Transformer. Velg Erstatt feil fra rullegardinmenyen.

Skjermbilde av knappen for erstatningsfeil på Fanen Transformer.

Skriv inn verdien 10 i dialogboksen Erstatt feil, fordi du vil erstatte alle feil med verdien 10.

Skjermbilde av dialogboksen for erstatningsfeil med verdien satt til 10.

Resultatet av denne operasjonen gir deg følgende tabell.

Skjermbilde av tabellen der den tredje raden inneholdt en feil i Salgs-kolonnen, har nå feilen erstattet med verdien 10.

Behold feil

Power Query kan fungere som et godt overvåkingsverktøy for å identifisere eventuelle rader med feil selv om du ikke løser feilene. Denne situasjonen er der 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 raderHjem-fanen. Velg Behold feil fra rullegardinmenyen.

Skjermbilde av behold feil-knappen på Hjem-fanen.

Resultatet av denne operasjonen gir deg følgende tabell.

Skjermbilde av den endelige tabellen som bare inneholder rader som inneholder feil.

Vanlige feil på cellenivå

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.

Konverteringsfeil for datatype

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.

Skjermbilde som viser feildetaljene for datatypen kan ikke konverteres til datatype.

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.

Operasjonsfeil

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.

Skjermbilde av uttrykksfeilen i feilruten forårsaket av forsøk på å bruke en Og-operator på tekst og et tall fra Salg-kolonnen.

Mulige løsninger: Før du oppretter denne egendefinerte kolonnen, endrer du datatypen for Salgs-kolonnen til tekst.

Skjermbilde av tabellen med salgskolonnen konvertert fra et tall til en teksttype, og en ny kolonne som inneholder begge uttrykkene.

Nestede verdier vist som feil

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:

Skjermbilde av en feil for nestede verdier utløst av formelbrannmur.

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-kalkulerte verdier automatisk til feil.
  • Når en kolonne som er definert med Any datatypen, inneholder ikke-kalkulerte verdier, 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-datatypeAny 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).