Spracovanie chýb

Podobne ako Excel jazyk DAX funguje, aj tu Power Query má svoju vlastnú syntax na testovanie a IFERROR chytenia chýb.

Ako už bolo spomenuté v článku oriešení chýb v Power Query , chyby sa môžu zobraziť buď na úrovni kroku alebo bunky. Tento článok sa zameriava na to, ako môžete prichytiť a spravovať chyby na základe našej konkrétnej logiky.

Poznámka

Na predvedieme tento koncept a v tomto článku použijeme Excel zo zošita ako svoj zdroj údajov. Koncepty predstavené tu sa vzťahujú na všetky hodnoty v Power Query a nielen tie, ktoré z pracovného Excel Zošit.

Použitie podmienenej logiky na základe chýb

Ukážkový zdroj údajov pre túto ukážku je Excel Zošit s nasledujúcou tabuľkou:

Vzorové údaje z Excel.

Táto tabuľka zo zošita Excel obsahuje chyby Excel, ako #NULL!, #REF! a #DIV/0! v stĺpci Štandardná sadzba. Keď túto tabuľku importujete do Editora Power Query údajov, nasledujúci obrázok znázorňuje, ako bude vyzerať.

Vzorová tabuľka v Power Query.

Všimnite si, ako sa Excel zobrazuje chyby v zošite [Error] s hodnotou v každej z buniek.

V tomto prípade je cieľom vytvoriť nový stĺpec Konečná sadzba, ktorý použije hodnoty zo stĺpca Štandardná sadzba. Ak sa vyskytujú chyby, použije sa hodnota zo stĺpca Špeciálna sadzba zodpovedajúcich hodnôt.

Pridanie vlastného stĺpca pomocou try otherwise syntaxe a

Ak chcete vytvoriť nový vlastný stĺpec, prejdite do ponuky Pridať stĺpec a vyberte položku Vlastný stĺpec. V okne Vlastný stĺpec zadajte vzorec try [Standard Rate] otherwise [Special Rate] . Zadajte názov tohto nového stĺpca Konečná sadzba.

V opačnom prípade vyskúšajte vlastný stĺpec.

Vzorec uvedený vyššie sa pokúsi vyhodnotiť stĺpec Standard Rate (Štandardná sadzba) a jeho hodnota bude výstupom, ak sa nená nachádzajú žiadne chyby. Ak sa chyby nachádzajú v stĺpci Štandardná sadzba, výstup bude hodnotou definovanou za príkazom, čo je v tomto prípade otherwise stĺpec Špeciálna sadzba.

Po pridaní správnych typov údajov do všetkých stĺpcov v tabuľke nasledujúci obrázok znázorňuje, ako vyzerá finálna tabuľka.

V opačnom prípade to skúste v konečnej tabuľke.

Chytenie chyby pomocou a try použitie vlastnej podmienenej logiky

Použitím rovnakého vzorového zdroja údajov ako v predchádzajúcej časti je novým cieľom vytvoriť nový stĺpec pre stĺpec Final Rate (Konečná sadzba). Ak existuje hodnota poľa Štandardná sadzba, použije sa táto hodnota. V opačnom prípade sa použije hodnota zo stĺpca Špeciálna sadzba s výnimkou riadkov s ľubovoľnou #REF! chybou.

Poznámka

Výhradným účelom vylúčenia chyby #REF! je účely ukážky. S konceptmi uvedenými v tomto článku môžete zacieliť všetky chybové dôvody, hlásenia alebo podrobnosti podľa svojho výberu.

Keď vyberiete ľubovoľný prázdne znaky vedľa hodnoty chyby, zobrazí sa tabla s podrobnosťami v dolnej časti obrazovky. Tabla podrobností obsahuje dôvod chyby DataFormat.Error aj chybové Invalid cell value '#REF!' hlásenie:

Vzorová chyba.

Naraz môžete vybrať len jednu bunku, takže naraz sa vám môžu zobraziť iba súčasti chyby s jednou chybou. Z tohto miesta vytvoríte nový vlastný stĺpec a použijete try výraz.

Pridanie vlastného stĺpca so try syntaxou

Ak chcete vytvoriť nový vlastný stĺpec, prejdite do ponuky Pridať stĺpec a vyberte položku Vlastný stĺpec. V okne Vlastný stĺpec zadajte vzorec try [Standard Rate] . Pomen vyberte tento nový stĺpec Všetky chyby.

Použitie príkazu Try vo vlastnom stĺpci.

Výraz konvertuje hodnoty a chyby na hodnotu záznamu, ktorá označuje, či sa výraz spracuje chyba alebo nie, ako aj správnu try try hodnotu alebo záznam chyby.

Vyskúšajte hodnoty záznamu.

Tento novovytvorený stĺpec môžete rozbaliť a pozrieť sa na dostupné polia, ktoré sa majú rozbaliť výberom ikony vedľa hlavičky stĺpca.

Rozbaľte hodnoty záznamu.

Táto operácia skryla tri nové polia:

  • Všetky chyby.HasError — Možnosť zobrazuje, či sa v hodnote v stĺpci Štandardná sadzba vyskytla chyba alebo nie.
  • Všetky chyby.Hodnota — Ak sa v hodnote zo stĺpca Štandardná sadzba vyskytla žiadna chyba, v tomto stĺpci sa zobrazí hodnota zo stĺpca Štandardná sadzba. Pre hodnoty s chybami nebude toto pole k dispozícii a počas operácie rozbalovania bude tento stĺpec mať null hodnoty.
  • Všetky chyby.Chyba — Ak sa v hodnote zo stĺpca Štandardná sadzba vyskytla chyba, v tomto stĺpci sa zobrazí záznam o chybe pre hodnotu zo stĺpca Štandardná sadzba. Pre hodnoty bez chýb nebude toto pole k dispozícii a počas operácie rozbalovania bude tento stĺpec mať null hodnoty.

vyskúšať rozbalené polia.

Pre ďalšie skúmanie môžete rozbaliť stĺpec All Errors.Error a získať tri súčasti záznamu o chybe:

  • Dôvod chyby
  • Chybové hlásenie
  • Podrobnosti o chybe

Po operácii Rozbalenie sa v poli All Errors.Error.Message zobrazí konkrétne chybové hlásenie, ktoré vám povie, Excel má každá bunka chybu. Chybové hlásenie je odvodené z poľa Chybové hlásenie záznamu chyby.

Konkrétne chybové hlásenie.

Pridanie podmieneného stĺpca

Teraz môžete pomocou každého chybového hlásenia v novom stĺpci vytvoriť nový podmienený stĺpec s názvom Konečná miera a nasledujúcimi klauzulami:

  • Ak sa hodnota v stĺpci All Errors.Errors.Message rovná , výstupom bude hodnota zo stĺpca null Štandardná sadzba.
  • V inom prípade, ak sa hodnota v stĺpci All Errors.Errors.Message rovná , výstup bude hodnotou Invalid cell value '#REF!'. zo stĺpca Special Rate.
  • Else, null.

Podmienený stĺpec z chybového hlásenia.

Po zachovaní iba stĺpcov Account(Konto), Standard Rate(Štandardná miera), Special Rate(Špeciálna miera) a Final Rate (Konečná sadzba) a pridaní správneho typu údajov pre každý stĺpec, je nasledujúci obrázok, ako vyzerá finálna tabuľka.

Konečná tabuľka s typmi údajov.

Ďalšie zdroje