Virheen käsittely

Samaan tapaan kuin Excelissä ja DAX-kielellä on funktio, Power Queryllä IFERROR on oma syntaksi virheiden testaamiseen ja kiinniottamiseen.

Kuten artikkelissa Virheiden käsittely Power Queryssa on mainittu, virheet saattavat ilmetä joko vaihe- tai solutasolla. Tässä artikkelissa keskitytään siihen, miten voit saada ja hallita virheitä oman logiikan mukaan.

Muistiinpano

Tässä artikkelissa käytetään tämän käsitteen havainnollistamiseen Excel-työkirjaa tietolähteenä. Tässä esitellyt käsitteet koskevat kaikkia Power Queryn arvoja, ei vain Excel-työkirjasta peräisin olevia.

Tämän esittelyn mallitietolähde on Excel-työkirja, jossa on seuraava taulukko.

Excelin mallitiedot.

Tässä Excel-työkirjan taulukossa on Excel-virheitä, kuten #NULL!, #REF!, ja #DIV/0! Standard Rate -sarakkeessa. Kun tuot tämän taulukon Power Query -editoriin, seuraavassa kuvassa näkyy, miltä se näyttää.

Power Queryn mallitaulukko.

Huomaa, miten Excel-työkirjan virheet näkyvät kunkin solun arvolla [Error] .

Tässä artikkelissa opit korvaamaan virheen toisella arvolla. Lisäksi opit ottamaan virheen kiinni ja käyttämään sitä omaan logiikkaasi.

Tässä tapauksessa tavoitteena on luoda uusi Final Rate -sarake, joka käyttää Standard Rate -sarakkeen arvoja. Jos virheitä on, se käyttää kirjeenvaihtajan Special Rate - sarakkeen arvoa.

Anna vaihtoehtoinen arvo löydettäessä virheitä

Tässä tapauksessa tavoitteena on luoda mallitietolähteeseen uusi Final Rate -sarake, joka käyttää Standard Rate -sarakkeen arvoja. Jos virheitä on, se käyttää vastaavan Special Rate - sarakkeen arvoa.

Jos haluat luoda uuden mukautetun sarakkeen , siirry Lisää sarake -valikkoon ja valitse Mukautettu sarake. Kirjoita Mukautettu sarake -ikkunaan kaava try [Standard Rate] otherwise [Special Rate]. Anna uudelle sarakkeelle nimeksi Lopullinen suhde.

Näyttökuva, jossa Mukautettu sarake -valintaikkuna on avoinna ja mukautettuun sarakkeeseen on syötetty kaava Kokeile muulla tavalla.

Yllä oleva kaava yrittää arvioida Standard Rate -sarakkeen ja tulostaa sen arvon, jos virheitä ei löydy. Jos Standard Rate -sarakkeesta löytyy virheitä, tuloste on lausekkeen jälkeen otherwise määritetty arvo, joka on tässä tapauksessa Special Rate -sarake.

Kun olet lisännyt oikeat tietotyypit kaikkiin taulukon sarakkeisiin, seuraava kuva näyttää, miltä lopullinen taulukko näyttää.

Lopullinen taulukko yrittää toisin.

Muistiinpano

Vaihtoehtoisena menetelmänä voit myös syöttää kaavan try [Standard Rate] catch ()=> [Special Rate], joka vastaa edellistä kaavaa, mutta käyttää avainsanaa funktiolla, joka ei vaadi parametreja.

Avainsana catch otettiin käyttöön Power Queryssa toukokuussa 2022.

Anna oma ehdollinen virhelogiikkasi

Käyttämällä samaa mallitietolähdettä kuin edellisessä osiossa, uusi tavoite on luoda uusi sarake Lopullinen suhde -prosentille. Jos vakiohinnan arvo on olemassa, kyseistä arvoa käytetään. Muussa tapauksessa käytetään Special Rate -sarakkeen arvoa lukuun ottamatta rivejä, joilla on virhe#REF!.

Muistiinpano

Virheen poissulkemisen #REF! ainoa tarkoitus on esittely. Tässä artikkelissa esiteltyjen käsitteiden avulla voit kohdentaa mitä tahansa valitsemiasi kenttiä virhetietueesta.

Kun valitset minkä tahansa virhearvon vieressä olevan välilyönnin, saat tiedot-ruudun näytön alareunaan. Tietoruutu sisältää sekä virheen syyn että DataFormat.Errorvirhesanoman Invalid cell value '#REF!':

Näyttökuva virheestä valittuna, virhesanoma valintaikkunan alareunassa.

Voit valita vain yhden solun kerrallaan, joten käytännössä näet vain yhden virhearvon virhekomponentit kerrallaan. Tässä luot uuden mukautetun sarakkeen ja käytät lauseketta try .

Käyttö try mukautetun logiikan kanssa

Jos haluat luoda uuden mukautetun sarakkeen , siirry Lisää sarake -valikkoon ja valitse Mukautettu sarake. Kirjoita Mukautettu sarake -ikkunaan kaava try [Standard Rate]. Anna tälle uudelle sarakkeelle nimeksi Kaikki virheet.

Näyttökuva, jossa Mukautettu sarake -valintaikkuna on avoinna ja mukautettuun sarakkeeseen on syötetty try-kaava.

try Lauseke muuntaa arvot ja virheet tietuearvoksi, joka ilmaisee, käsittelikö try lauseke virhettä vai ei, sekä oikean arvon tai virhetietueen.

Kokeile tietuearvoja.

Voit laajentaa juuri luodun sarakkeen tietuearvoilla ja tarkastella laajennettavissa olevia kenttiä valitsemalla sarakeotsikon vieressä olevan kuvakkeen.

Näyttökuva Kaikki virheet -sarakkeesta, jossa on korostettu laajennuskuvake sekä valittuna HasError-, Value- ja Error-ruudut.

Tämä toiminto paljastaa kolme uutta kenttää:

  • Kaikki Errors.HasError – näyttää, oliko Standard Rate -sarakkeen arvossa virhe vai ei.
  • Kaikki Errors.Value – jos Standard Rate -sarakkeen arvolla ei ollut virhettä, tämä sarake näyttää Standard Rate -sarakkeen arvon. Virheitä sisältäville arvoille tämä kenttä ei ole käytettävissä, ja laajennustoiminnon aikana tässä sarakkeessa on null arvoja.
  • Kaikki Errors.Error – jos Standard Rate -sarakkeen arvossa oli virhe, tämä sarake näyttää Standard Rate -sarakkeen arvon virhetietueen. Jos arvolla ei ole virheitä, tämä kenttä ei ole käytettävissä, ja laajennustoiminnon aikana tässä sarakkeessa on null arvoja.

Näyttökuva taulukosta, jossa uudet kentät ovat sarakkeissa, yksi All.Errors.Error-arvo valittuna ja virhesanomat taulukon alareunassa.

Tarkempaa tutkimusta varten voit laajentaa Kaikki virheet.Virhe-sarakkeen saadaksesi virhetietueen kolme osaa:

  • Virheen syy
  • Error message
  • Virheen tiedot

Kun olet tehnyt laajennustoiminnon, Kaikki virheet.Error.Message-kenttä näyttää erityisen virhesanoman, joka kertoo tarkalleen, mikä Excel-virhe kullakin solulla on. Virhesanoma johdetaan virhetietueen Virhesanoma-kentästä .

Näyttökuva, jossa näkyvät tietyt virhesanomat.

Voit nyt luoda uuden ehdollisen sarakkeen, jonka nimi on Lopullinen korko ja seuraavat lausekkeet, lisäämällä kunkin virhesanoman uuteen sarakkeeseen:

  • Jos Kaikki virheet.Errors.Message-sarakkeen arvo on yhtä suuri kuin null, tuloste on Standard Rate -sarakkeen arvo.
  • Muuten, jos Kaikki virheet.Errors.Message-sarakkeen arvo ei ole yhtä suuri kuin Invalid cell value '#REF!'., tuloste on Special Rate -sarakkeen arvo.
  • Muuten, tyhjäarvo.

Näyttökuva Lisää ehdollinen sarake -valintaikkunasta, jossa kaikki virheehdot on määritetty uudelle sarakkeelle.

Kun olet säilyttäneet vain Account-, Standard Rate-, Special Rate- ja Final Rate -sarakkeet ja lisännyt oikean tietotyypin kullekin sarakkeelle, seuraava kuva osoittaa, miltä lopullinen taulukko näyttää.

Lopullinen taulukko, jossa on tietotyyppejä.

Mukautetun logiikan käyttäminen try ja catch käyttäminen

Vaihtoehtoisesti voit myös luoda uuden mukautetun sarakkeen -ja catch -tryavainsanoilla.

try [Standard Rate] catch (r)=> if r[Message] <> "Invalid cell value '#REF!'." then [Special Rate] else null

Mukautettu sarake -valintaikkuna, jossa on uusi kaava, joka esittelee kokeile ja ottaa kiinni -syntaksimenetelmän.

Lisää resursseja