Felhantering
Precis som Excel och DAX-språket har en funktion har Power Query egen syntax för IFERROR att testa och fånga upp fel.
Som vi nämnde i artikeln om att hantera fel i Power Querykan fel visas antingen på steg- eller cellnivå. Den här artikeln fokuserar på hur du kan fånga upp och hantera fel baserat på vår egen specifika logik.
Anteckning
För att demonstrera det här konceptet använder den här artikeln en Excel-arbetsbok som datakälla. Begreppen som visas här gäller för alla värden Power Query och inte bara de som kommer från en Excel arbetsbok.
Tillämpa villkorsstyrd logik baserat på fel
Exempeldatakällan för den här demonstrationen är Excel arbetsbok med följande tabell:

Den här tabellen Excel arbetsboken innehåller Excel fel som #NULL!, #REF! och #DIV/0! i kolumnen Standardpris. När du importerar den här tabellen till Power Query Editor visar följande bild hur den kommer att se ut.

Observera hur felen från Excel arbetsboken visas med [Error] värdet i var och en av cellerna.
I det här fallet är målet att skapa en ny kolumn med slutpris som använder värdena från kolumnen Standardpris. Om det finns några fel används värdet från kolumnen Motsvarande specialpris.
Lägga till anpassad kolumn med try syntaxen otherwise och
Om du vill skapa en ny anpassad kolumn går du till menyn Lägg till kolumn och väljer Anpassad kolumn. I fönstret Anpassad kolumn anger du formeln try [Standard Rate] otherwise [Special Rate] . Ge den här nya kolumnen namnet Final Rate ( Slutfrekvens för den nya kolumnen).

Formeln ovan försöker utvärdera kolumnen Standard rate och matar ut dess värde om inga fel hittas. Om fel hittas i kolumnen Standardpris blir utdata det värde som definierats efter -instruktionen, vilket i det här fallet otherwise är kolumnen Specialpris.
När du har lagt till rätt datatyper i alla kolumner i tabellen visar följande bild hur den slutliga tabellen ser ut.

Fånga ett fel med try och tillämpa anpassad villkorslogik
Med samma exempeldatakälla som i föregående avsnitt är det nya målet att skapa en ny kolumn för slutpriset. Om värdet från standardpriset finns används det värdet. Annars används värdet från kolumnen Specialpris, förutom raderna med #REF! eventuella fel.
Anteckning
Det enda syftet med att exkludera #REF! felet är i demonstrationssyfte. Med de begrepp som visas i den här artikeln kan du rikta in dig på eventuella felorsaker, meddelanden eller valfri information.
När du väljer något av blankstegen bredvid felvärdet visas informationsfönstret längst ned på skärmen. Informationsfönstret innehåller både felorsaken DataFormat.Error , och Invalid cell value '#REF!' felmeddelandet:

Du kan bara markera en cell i taget, så att du effektivt bara kan se felkomponenterna för ett felvärde i taget. Här skapar du en ny anpassad kolumn och använder try uttrycket.
Lägga till anpassad kolumn med try syntax
Om du vill skapa en ny anpassad kolumn går du till menyn Lägg till kolumn och väljer Anpassad kolumn. I fönstret Anpassad kolumn anger du formeln try [Standard Rate] . Ge den nya kolumnen namnet Alla fel.

Uttrycket konverterar värden och fel till ett postvärde som anger om uttrycket hanterade ett fel eller inte, samt rätt try try värde eller felposten.

Du kan expandera den här nyligen skapade kolumnen med postvärden och titta på tillgängliga fält som ska expanderas genom att välja ikonen bredvid kolumnrubriken.

Den här åtgärden exponerar tre nya fält:
- Alla Errors.HasError — visar om värdet från kolumnen Standard rate hade ett fel eller inte.
- Alla errors.Value — Om värdet från kolumnen Standardhastighet inte hade något fel, visar den här kolumnen värdet från kolumnen Standardpris. För värden med fel är det här fältet inte tillgängligt, och under expanderingsåtgärden har den här kolumnen
nullvärden. - Alla errors.Error — Om värdet från kolumnen Standard rate hade ett fel, visar den här kolumnen felposten för värdet från kolumnen Standard rate. För värden utan fel är det här fältet inte tillgängligt, och under expanderingsåtgärden har den här kolumnen
nullvärden.

Om du vill undersöka vidare kan du expandera kolumnen Alla fel.Error för att hämta de tre komponenterna i felposten:
- Felorsak
- Felmeddelande
- Felinformation
När du har gjort expandingsåtgärden visar fältet Alla fel.Fel.Meddelande det specifika felmeddelande som anger exakt vilket fel Excel varje cell innehåller. Felmeddelandet härleds från fältet Felmeddelande i felposten.

Lägg till en villkorskolumn
Nu när varje felmeddelande visas i en ny kolumn kan du skapa en ny villkorskolumn med namnet Final Rate (Slutfrekvens) och följande satser:
- Om värdet i kolumnen Alla fel.Errors.Message är lika med blir utdata värdet
nullfrån kolumnen Standard rate. - Om värdet i kolumnen Alla fel.Errors.Message är lika med , blir utdata värdet från kolumnen
Invalid cell value '#REF!'.Specialpris. - Annars null.

När du har endast kolumnerna Konto, Standardpris, Specialpris och Slutpris och lagt till rätt datatyp för varje kolumn, ser följande bild ut i den slutliga tabellen.
