Dela via


Hantera fel i Power Query

I Power Query kan du stöta på två typer av fel:

  • Fel på stegnivå
  • Fel på cellnivå

Den här artikeln innehåller förslag på hur du åtgärdar de vanligaste felen som du kan hitta på varje nivå och beskriver felorsaken, felmeddelandet och felinformationen för var och en.

Fel på stegnivå

Ett fel på stegnivå hindrar frågan från att läsas in och visar felkomponenterna i ett gult fönster.

Fel på stegnivå.

  • Felorsak: Det första avsnittet före kolonet. I exemplet ovan är felorsaken Expression.Error.
  • Felmeddelande: Avsnittet direkt efter orsaken. I exemplet ovan är felmeddelandet Kolumnen Kolumn i tabellen hittades inte.
  • Felinformation: Avsnittet direkt efter strängen Information: . I exemplet ovan är felinformationen Kolumn.

Vanliga fel på stegnivå

I samtliga fall rekommenderar vi att du tar en närmare titt på felorsaken, felmeddelandet och felinformationen för att förstå vad som orsakar felet. Du kan välja knappen Gå till fel om det är tillgängligt för att visa det första steget där felet inträffade.

Gå till felknappen.

Det går inte att hitta källan – DataSource.Error

Det här felet uppstår ofta när datakällan inte är tillgänglig för användaren, användaren inte har rätt autentiseringsuppgifter för att komma åt datakällan eller om källan har flyttats till en annan plats.

Exempel: Du har en fråga från en textpanel som fanns på enhet D och skapades av användaren A. Användare A delar frågan med användare B, som inte har åtkomst till enhet D. När den här personen försöker köra frågan får de ett DataSource.Error eftersom det inte finns någon enhet D i deras miljö.

Det gick inte att hitta filen eftersom det inte finns någon enhet D i den aktuella miljön.

Möjliga lösningar: Du kan ändra filsökvägen för textfilen till en sökväg som båda användarna har åtkomst till. Som användare B kan du ändra filsökvägen till en lokal kopia av samma textfil. Om knappen Redigera inställningar är tillgänglig i felfönstret kan du välja den och ändra filsökvägen.

Det gick inte att hitta kolumnen i tabellen

Det här felet utlöses ofta när ett steg gör en direkt referens till ett kolumnnamn som inte finns i frågan.

Exempel: Du har en fråga från en textfil där ett av kolumnnamnen var Kolumn. I din fråga har du ett steg som byter namn på kolumnen till Datum. Men det skedde en ändring i den ursprungliga textfilen och den har inte längre en kolumnrubrik med namnet Kolumn eftersom den ändrades manuellt till Datum. Power Query kan inte hitta en kolumnrubrik med namnet Kolumn, så den kan inte byta namn på några kolumner. Det visar felet som visas i följande bild.

Uttrycksfel, kolumnen i tabellen hittades inte eftersom kolumnnamnet ändrades manuellt.

Möjliga lösningar: Det finns flera lösningar för det här fallet, men alla är beroende av vad du vill göra. I det här exemplet, eftersom rätt datumkolumnrubrik redan kommer från textfilen, kan du bara ta bort steget som byter namn på kolumnen. Detta gör att frågan kan köras utan det här felet.

Andra vanliga fel på stegnivå

När du kombinerar eller sammanfogar data mellan flera datakällor kan du få ett Formula.Firewall-fel , till exempel det som visas i följande bild.

Formelbrandväggsfel, frågan refererar till andra frågor eller steg, så den kanske inte har direkt åtkomst till en datakälla.

Det här felet kan orsakas av ett antal orsaker, till exempel datasekretessnivåer mellan datakällor eller hur dessa datakällor kombineras eller sammanfogas. Mer information om hur du diagnostiserar det här problemet finns i Brandvägg för datasekretess.

Fel på cellnivå

Ett fel på cellnivå hindrar inte frågan från att läsas in, men visar felvärden som Fel i cellen. Om du väljer det tomma utrymmet i cellen visas felfönstret under dataförhandsgranskningen.

Visa felmeddelandet genom att välja blanksteg i en tabellcell som innehåller ett fel.

Kommentar

Dataprofileringsverktygen kan hjälpa dig att enklare identifiera fel på cellnivå med kolumnkvalitetsfunktionen. Mer information: Verktyg för dataprofilering

Hantera fel på cellnivå

När det uppstår fel på cellnivå tillhandahåller Power Query en uppsättning funktioner för att hantera dem antingen genom att ta bort, ersätta eller behålla felen.

För nästa avsnitt använder de angivna exemplen samma exempelfråga som startpunkten. I den här frågan har du en sales-kolumn som har en cell med ett fel som orsakas av ett konverteringsfel. Värdet i cellen var NA, men när du omvandlade kolumnen till ett heltal kunde Power Query inte konvertera NA till ett tal, så det visar följande fel.

Visar dataformatfel, det gick inte att konvertera till datatypsfel i felfönstret.

Ta bort fel

Om du vill ta bort rader med fel i Power Query väljer du först den kolumn som innehåller fel. På fliken Start går du till gruppen Minska rader och väljer Ta bort rader. I den nedrullningsbara menyn väljer du Ta bort fel.

Knappen Ta bort fel på fliken Start.

Resultatet av den åtgärden ger dig den tabell som du letar efter.

Tabellen som tidigare innehöll fem rader har nu raden som innehöll felet borttagen, vilket lämnar fyra rader i tabellen.

Ersätt fel

Om du i stället för att ta bort rader med fel vill ersätta felen med ett fast värde kan du också göra det. Om du vill ersätta rader med fel väljer du först den kolumn som innehåller fel. På fliken Transformera går du till gruppen Valfri kolumn och väljer Ersätt värden. I den nedrullningsbara menyn väljer du Ersätt fel.

Knappen Ersätt fel på fliken Transformera.

I dialogrutan Ersätt fel anger du värdet 10 eftersom du vill ersätta alla fel med värdet 10.

Dialogrutan Ersätt fel.

Resultatet av den åtgärden ger dig den tabell som du letar efter.

Tabellen där den tredje raden innehöll ett fel i kolumnen Försäljning har nu felet ersatt med värdet 10.

Behåll fel

Power Query kan fungera som ett bra granskningsverktyg för att identifiera eventuella rader med fel även om du inte åtgärdar felen. Det är här Behåll fel kan vara till hjälp. Om du vill behålla rader som har fel väljer du först den kolumn som innehåller fel. På fliken Start går du till gruppen Minska rader och väljer Behåll rader. I den nedrullningsbara menyn väljer du Behåll fel.

Knappen Behåll fel på fliken Start.

Resultatet av den åtgärden ger dig den tabell som du letar efter.

Sluttabell som endast behåller rader som innehåller fel.

Vanliga fel på cellnivå

Precis som med eventuella fel på stegnivå rekommenderar vi att du tar en närmare titt på felorsakerna, felmeddelandena och felinformationen på cellnivå för att förstå vad som orsakar felen. I följande avsnitt beskrivs några av de vanligaste felen på cellnivå i Power Query.

Konverteringsfel för datatyp

Utlöses ofta när du ändrar datatypen för en kolumn i en tabell. Vissa värden som hittades i kolumnen kunde inte konverteras till önskad datatyp.

Exempel: Du har en fråga som innehåller en kolumn med namnet Försäljning. En cell i den kolumnen har NA som ett cellvärde, medan resten har heltal som värden. Du bestämmer dig för att konvertera datatypen för kolumnen från text till heltal, men cellen med NA-värdet orsakar ett fel.

Det gick inte att konvertera till information om datatypens fel.

Möjliga lösningar: När du har identifierat raden med felet kan du antingen ändra datakällan så att den återspeglar rätt värde i stället för NA, eller så kan du använda en ersätt-felåtgärd för att ange ett värde för alla NA-värden som orsakar ett fel.

Åtgärdsfel

När du försöker tillämpa en åtgärd som inte stöds, till exempel att multiplicera ett textvärde med ett numeriskt värde, uppstår ett fel.

Exempel: Du vill skapa en anpassad kolumn för din fråga genom att skapa en textsträng som innehåller frasen "Total försäljning: " sammanfogad med värdet från kolumnen Försäljning . Ett fel uppstår eftersom sammanfogningsåtgärden endast stöder textkolumner och inte numeriska.

Uttrycksfel i felfönstret som orsakas av att försöka tillämpa en And-operator på text och ett tal från kolumnen Försäljning.

Möjliga lösningar: Innan du skapar den här anpassade kolumnen ändrar du datatypen för kolumnen Försäljning till text.

Tabell med försäljningskolumnen konverterad från en taldatatyp till en textdatatyp och den resulterande en ny kolumn som innehåller båda uttrycken.

Kapslade värden visas som fel

När du arbetar med data som innehåller kapslade strukturerade värden (till exempel tabeller, listor eller poster) kan det ibland uppstå följande fel:

Fel för kapslade värden som utlöstes av formelbrandväggen inträffade.

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.

Dessa fel uppstår vanligtvis av två orsaker:

  • När datasekretessbrandväggen buffrar en datakälla konverteras kapslade icke-skalära värden automatiskt till fel.
  • När en kolumn som definierats med Any datatypen innehåller icke-skalära värden rapporteras sådana värden som fel vid inläsning (till exempel i en arbetsbok i Excel eller datamodellen i Power BI Desktop).

Möjliga lösningar:

  • Ta bort kolumnen som innehåller felet eller ange en icke-datatypAny för en sådan kolumn.
  • Ändra sekretessnivåerna för de berörda datakällorna till en som gör att de kan kombineras utan att buffrads.
  • Platta ut tabellerna innan du gör en sammanslagning för att eliminera kolumner som innehåller kapslade strukturerade värden (till exempel tabell, post eller lista).