Foutafhandeling
Net zoals Excel en de DAX-taal een functie hebben, heeft Power Query een eigen syntaxis om fouten te testen IFERROR en te ondervangen.
Zoals vermeld in het artikel over het afhandelen van fouten in Power Query,kunnen fouten worden weergegeven op stap- of celniveau. In dit artikel wordt beschreven hoe u fouten kunt ondervangen en beheren op basis van onze eigen specifieke logica.
Notitie
Om dit concept te demonstreren, wordt in dit artikel een Excel Workbook als gegevensbron gebruikt. De hier getoonde concepten zijn van toepassing op alle waarden in Power Query en niet alleen de waarden die afkomstig zijn van Excel Werkmap.
Voorwaardelijke logica toepassen op basis van fouten
De voorbeeldgegevensbron voor deze demonstratie is een Excel Workbook met de volgende tabel:

Deze tabel van Excel werkmap bevat Excel fouten zoals #NULL!, #REF! en #DIV/0! in de kolom Standard Rate. Wanneer u deze tabel importeert in Power Query Editor, ziet u in de volgende afbeelding hoe deze eruit zal zien.

U ziet hoe de fouten uit Excel werkmap worden weergegeven met de [Error] waarde in elk van de cellen.
In dit geval is het doel om een nieuwe kolom Final Rate te maken die gebruik gaat maken van de waarden uit de kolom Standard Rate. Als er fouten zijn, wordt de waarde uit de kolom Speciale tarief gebruikt.
Aangepaste kolom met en try otherwise syntaxis toevoegen
Als u een nieuwe aangepaste kolom wilt maken, gaat u naar het menu Kolom toevoegen en selecteert u Aangepaste kolom. Voer in het venster Aangepaste kolom de formule try [Standard Rate] otherwise [Special Rate] in. Noem deze nieuwe kolom Final Rate.

Met de bovenstaande formule wordt geprobeerd de kolom Standard Rate te evalueren en wordt de waarde ervan uitgevoerd als er geen fouten worden gevonden. Als er fouten worden gevonden in de kolom Standard Rate, is de uitvoer de waarde die is gedefinieerd na de instructie , in dit geval otherwise de kolom Special Rate.
Nadat u de juiste gegevenstypen hebt toegevoegd aan alle kolommen in de tabel, ziet u in de volgende afbeelding hoe de uiteindelijke tabel eruitziet.

Een fout vangen met try aangepaste voorwaardelijke logica en deze toepassen
Met behulp van dezelfde voorbeeldgegevensbron als in de vorige sectie, is het nieuwe doel om een nieuwe kolom te maken voor de definitieve snelheid. Als de waarde van het Standaardtarief bestaat, wordt die waarde gebruikt. Anders wordt de waarde uit de kolom Speciaal tarief gebruikt, met uitzondering van de rijen met een #REF! fout.
Notitie
Het enige doel van het uitsluiten van #REF! de fout is voor demonstratiedoeleinden. Met de concepten die in dit artikel worden getoond, kunt u zich richten op foutredenen, berichten of details van uw keuze.
Wanneer u een van de witruimten naast de foutwaarde selecteert, wordt het detailvenster onder aan het scherm weergegeven. Het detailvenster bevat zowel de reden van de DataFormat.Error fout, , als het foutbericht: Invalid cell value '#REF!'

U kunt slechts één cel per keer selecteren, zodat u in de effectiefheid alleen de foutonderdelen van één foutwaarde tegelijk kunt zien. Hier maakt u een nieuwe aangepaste kolom en gebruikt u de try expressie .
Aangepaste kolom met try syntaxis toevoegen
Als u een nieuwe aangepaste kolom wilt maken, gaat u naar het menu Kolom toevoegen en selecteert u Aangepaste kolom. Voer in het venster Aangepaste kolom de formule try [Standard Rate] in. Noem deze nieuwe kolom Alle fouten.

De expressie converteert waarden en fouten naar een recordwaarde die aangeeft of de expressie al dan niet een fout heeft verwerkt, evenals de juiste waarde try try of de foutrecord.

U kunt deze zojuist gemaakte kolom uitbreiden met recordwaarden en de beschikbare velden bekijken die moeten worden uitgebreid door het pictogram naast de kolomkop te selecteren.

Met deze bewerking worden drie nieuwe velden weer te geven:
- Alle fouten.HasError — geeft aan of er een fout is opgetreden in de waarde uit de kolom Standard Rate.
- Alle errors.value — Als er geen fout is opgetreden in de waarde uit de kolom Standard Rate, wordt in deze kolom de waarde uit de kolom Standard Rate weergegeven. Voor waarden met fouten is dit veld niet beschikbaar en tijdens de uitbre vouwbewerking heeft deze kolom
nullwaarden. - Alle fouten.Fout — Als er een fout is opgetreden in de waarde uit de kolom Standard Rate, wordt in deze kolom de foutrecord voor de waarde uit de kolom Standard Rate weergegeven. Voor waarden zonder fouten is dit veld niet beschikbaar en tijdens de uitbre vouwbewerking heeft deze kolom
nullwaarden.

Voor verder onderzoek kunt u de kolom Alle fouten.Fout uitv vouwen om de drie onderdelen van de foutrecord op te halen:
- Reden voor de fout
- Foutbericht
- Foutdetails
Na het uitvoeren van de bewerking voor uitvruimen wordt in het veld Alle fouten.Error.Message het specifieke foutbericht weergegeven dat precies laat zien Excel fout elke cel bevat. Het foutbericht is afgeleid van het veld Foutbericht van de foutrecord.

Een voorwaardelijke kolom toevoegen
Nu kunt u met elk foutbericht in een nieuwe kolom een nieuwe voorwaardelijke kolom maken met de naam Definitieve snelheid en de volgende component:
- Als de waarde in de kolom All Errors.Errors.Message gelijk is aan , is de uitvoer de waarde van de kolom
nullStandard Rate. - Als de waarde in de kolom All Errors.Errors.Message gelijk is aan , is de uitvoer de waarde uit
Invalid cell value '#REF!'.de kolom Speciale snelheid. - Anders null.

Nadat alleen de kolommen Account, Standard Rate, Special Rate en Final Rate zijn behouden en het juiste gegevenstype voor elke kolom is toegevoegd, ziet u in de volgende afbeelding hoe de uiteindelijke tabel eruitziet.
