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.

Skärmbild av ett fel på stegnivå där en kolumn inte hittades.

  • Felorsak: Den första delen före kolon. I föregående exempel är felorsaken Expression.Error.
  • Felmeddelande: Avsnittet direkt efter orsaken. I föregående exempel är felmeddelandet Kolumnen Kolumn i tabellen hittades inte.
  • Felinformation: Avsnittet direkt efter strängen Information: . I föregående exempel är felinformationen Kolumn.

Power Query Online visar lite olika information. Felinformationen är fortfarande Kolumn, men online-felmeddelandet innehåller även felorsaken (Expression.Error) och felkoden (10224).

Skärmbild av ett onlinefel på stegnivå där en kolumn inte hittades.

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 Visa information , om det är tillgängligt, för att visa mer information om felet.

Skärmbild av ett felmeddelande med knappen Visa information framhävd.

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

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 flyttades 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 en DataSource.NotFound eftersom det inte finns någon enhet D i deras miljö.

Skärmbild av ett datakällans fel som inte kunde 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.

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.

Skärmbild av ett uttrycksfel där kolumnen i tabellen inte hittades 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. Med den här ändringen kan frågan 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.

Skärmbild av ett formelbrandväggsfel som anger att frågan refererar till andra frågor eller steg, så att den kanske inte har direkt åtkomst till en datakälla.

Det här felet uppstår av olika 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.

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

Anmärkning

Dataprofileringsverktygen kan hjälpa dig att enklare identifiera fel på cellnivå med kolumnkvalitetsfunktionen. Mer information finns i Dataprofileringsverktyg.

Hantera fel på cellnivå

När du stöter på 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.

I 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.

Skärmbild som visar ett dataformatfel med meddelandet

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.

Skärmbild av knappen ta bort fel på fliken Start.

Resultatet av den åtgärden ger dig följande tabell.

Skärmbild av 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.

Skärmbild av 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.

Skärmbild av dialogrutan Ersätt fel med värdet inställt på 10.

Resultatet av den åtgärden ger dig följande tabell.

Skärmbild av 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 i den här situationen som 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. Från den nedrullningsbara menyn väljer du Behåll fel.

Skärmbild av knappen Behåll fel på fliken Start.

Resultatet av den åtgärden ger dig följande tabell.

Skärmbild av den slutliga tabellen 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.

Skärmbild som visar felinformationen Kunde inte konverteras till datatyp.

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.

Skärmbild av uttrycksfelet i felfönstret som orsakas av att försöka använda operatorn And för 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.

Skärmbild av tabellen med försäljningskolumnen konverterad från ett tal till en texttyp och 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:

Skärmbild av ett fel för ingrupperade värden som utlöses av formelfunktionen.

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 brandväggen för integritet buffrar en datakälla konverteras inkapslade värden som inte är skalära 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).