Virheiden käsittely Power Queryssa
Power Queryssa voi ilmetä kahdenlaisia virheitä:
- Vaihetason virheet
- Solutason virheet
Tässä artikkelissa annetaan ehdotuksia yleisimpien virheiden korjaamiseksi kullakin tasolla sekä kuvataan kunkin virheen syy, virhesanoma ja virhetiedot.
Vaihetason virhe
Vaihetason virhe estää kyselyn lataamisen ja näyttää virheosat keltaisessa ruudussa.
- Virheen syy: Ensimmäinen osa ennen kaksoispistettä. Yllä olevassa esimerkissä virheen syy on Expression.Error.
- Virhesanoma: Osio, joka on suoraan syyn jälkeen. Yllä olevassa esimerkissä virhesanoma on Taulukon saraketta "Sarake", jota ei löytynyt.
- Virheen tiedot: -osio suoraan Tiedot: -merkkijonon jälkeen. Yllä olevassa esimerkissä virheen tieto on Sarake.
Yleisiä vaihetason virheitä
Kaikissa tapauksissa suosittelemme, että tarkastelet tarkasti virheen syytä, virhesanomaa ja virhetietoja virheen syyn ymmärtämiseksi. Voit valita Siirry virheeseen -painikkeen, jos se on käytettävissä, jolloin näet ensimmäisen vaiheen, jossa virhe ilmeni.
Lähdettä ei löydy - DataSource.Error
Tämä virhe ilmenee yleensä, kun käyttäjä ei voi käyttää tietolähdettä, käyttäjällä ei ole oikeita tunnistetietoja tietolähteen käyttämiseksi tai lähde on siirretty toiseen paikkaan.
Esimerkki: Sinulla on kysely tekstiruudusta, joka oli asemalla D ja jonka on luonut käyttäjä A. Käyttäjä A jakaa kyselyn käyttäjälle B, jolla ei ole käyttöoikeutta D-asemaan. Kun tämä henkilö yrittää suorittaa kyselyn, hän saa DataSource.Error-virheen , koska hänen ympäristössään ei ole D-asemaa.
Mahdolliset ratkaisut: Voit muuttaa tekstitiedoston tiedostopolun poluksi, johon molemmilla käyttäjillä on käyttöoikeus. KäyttäjänÄ B voit muuttaa tiedostopolun saman tekstitiedoston paikalliseksi kopioksi. Jos Muokkaa asetuksia -painike on käytettävissä virheruudussa, voit valita sen ja muuttaa tiedostopolkua.
Taulukon saraketta ei löytynyt
Tämä virhe käynnistetään yleensä, kun vaihe viittaa suoraan sarakkeen nimeen, jota ei ole kyselyssä.
Esimerkki: Sinulla on kysely tekstitiedostosta, jossa yksi sarakkeiden nimistä oli Column. Kyselyssäsi on vaihe, jossa kyseinen sarake nimetään uudelleen Päivämäärä-sarakkeeksi. Alkuperäisessä tekstitiedostossa tapahtui kuitenkin muutos, eikä siinä ole enää sarakeotsikkoa, jonka nimi on Sarake, koska se on muutettu manuaalisesti päivämääräksi. Power Query ei löydä Sarake-nimistä sarakeotsikkoa, joten se ei voi nimetä sarakkeita uudelleen. Näet seuraavan kuvan virheen.
Mahdolliset ratkaisut: Tähän on olemassa useita ratkaisuja, mutta ne kaikki riippuvat siitä, mitä haluat tehdä. Tässä esimerkissä, koska oikea Päivämäärä-sarakeotsikko on jo peräisin tekstitiedostosta, voit vain poistaa vaiheen, joka nimeää sarakkeen uudelleen. Tämän ansiosta kyselysi voidaan suorittaa ilman tätä virhettä.
Muita yleisiä vaihetason virheitä
Kun yhdistät tai yhdistät tietoja useiden tietolähteiden välillä, saatat saada Formula.Firewall-virheen , kuten seuraavassa kuvassa esitetyn.
Tämä virhe voi johtua useista syistä, kuten tietolähteiden välisestä tietosuojatasosta tai tavasta, jolla näitä tietolähteitä yhdistetään tai yhdistetään. Lisätietoja tämän ongelman vianmäärityksestä on kohdassa Tietosuojan palomuuri.
Solutason virhe
Solutason virhe ei estä kyselyn latautumista, mutta näyttää virhearvot solussa virheenä. Kun valitset tyhjän tilan solussa, tietojen esikatselun alla näkyy virheruutu.
Muistiinpano
Tietojen profilointityökalujen avulla voit helpommin tunnistaa solutason virheet sarakkeen laatuominaisuuden avulla. Lisätietoja: Tietojen profilointityökalut
Virheiden käsittely solutasolla
Kohdatessaan solutason virheitä Power Query tarjoaa joukon funktioita niiden käsittelemiseen joko poistamalla, korvaamalla tai säilyttämällä virheet.
Seuraavissa osissa annetuissa esimerkeissä käytetään samaa mallikyselyä kuin aloituspisteessä. Tässä kyselyssä sinulla on Sales-sarake, jossa on yksi solu, jonka muuntovirheen aiheuttama virhe on. Solun sisällä oleva arvo oli NA, mutta kun muunsit kyseisen sarakkeen kokonaisluvuksi, Power Query ei voinut muuntaa NA :a luvuksi, joten se näyttää seuraavan virheen.
Poista virheet
Jos haluat poistaa rivit, joissa on virheitä Power Queryssa, valitse ensin sarake, joka sisältää virheitä. Valitse Aloitus-välilehden Vähennä rivejä -ryhmästä Poista rivit. Valitse avattavasta valikosta Poista virheet.
Tämän toiminnon tulos antaa sinulle etsimäsi taulukon.
Korvaa virheet
Jos sen sijaan, että poistaisit virheitä sisältäviä rivejä, haluat korvata virheet kiinteällä arvolla, voit tehdä niin myös. Jos haluat korvata virheitä sisältävät rivit, valitse ensin sarake, joka sisältää virheitä. Valitse Muunna-välilehden Mikä tahansa sarake -ryhmästä Korvaa arvot. Valitse avattavasta valikosta Korvaa virheet.
Kirjoita Korvaa virheet -valintaikkunaan arvo 10, koska haluat korvata kaikki virheet arvolla 10.
Tämän toiminnon tulos antaa sinulle etsimäsi taulukon.
Säilytä virheet
Power Query voi toimia hyvänä valvontatyökaluna mahdollisten virheitä sisältävien rivien tunnistamiseen, vaikka et korjasi virheitä. Tässä säilytä virheet -kohdasta voi olla hyötyä. Jos haluat säilyttää virheitä sisältävät rivit, valitse ensin sarake, joka sisältää virheitä. Valitse Aloitus-välilehden Vähennä rivejä -ryhmästä Säilytä rivit. Valitse avattavasta valikosta Säilytä virheet.
Tämän toiminnon tulos antaa sinulle etsimäsi taulukon.
Yleiset solutason virheet
Kuten vaihetason virheiden tapauksessa, suosittelemme, että tarkastelet solutasolla annettuja virhesyitä, virhesanomia ja virhetietoja tarkasti, jotta ymmärrät, mikä aiheuttaa virheitä. Seuraavissa osissa käsitellään joitakin Power Queryn yleisimpiä solutason virheitä.
Tietotyypin muuntovirheet
Tämä käynnistyy yleensä, kun taulukon sarakkeen tietotyyppiä muutetaan. Joitakin sarakkeesta löytymiä arvoja ei voi muuntaa halutulle tietotyypille.
Esimerkki: Sinulla on kysely, joka sisältää Sales-nimisen sarakkeen. Tämän sarakkeen yhdessä solussa on solun arvona NA , kun taas muissa on kokonaislukuja arvoina. Päätät muuntaa sarakkeen tietotyypin tekstistä kokonaisluvuksi, mutta solu, jossa on NA-arvo , aiheuttaa virheen.
Mahdolliset ratkaisut: Kun olet tunnistanut rivin virheellä, voit joko muokata tietolähdettä siten, että se vastaa oikeaa arvoa NA:n sijaan, tai voit käyttää Korvaa virhe -toimintoa antaaksesi arvon NA-arvoille, jotka aiheuttavat virheen.
Toimintovirheet
Kun yrität käyttää toimintoa, jota ei tueta, kuten kertomalla tekstiarvo numeerisella arvolla, tapahtuu virhe.
Esimerkki: Haluat luoda kyselylle mukautetun sarakkeen luomalla tekstimerkkijonon, joka sisältää ilmauksen "Kokonaismyynti: " yhdistettynä Sales-sarakkeen arvoon. Virhe ilmenee, koska ketjutustoiminto tukee vain tekstisarakkeita numeeristen sarakkeiden sijaan.
Mahdolliset ratkaisut: Ennen kuin luot tämän mukautetun sarakkeen, muuta Sales-sarakkeen tietotyypiksi teksti.
Virheinä näytetyt sisäkkäiset arvot
Kun käsittelet tietoja, jotka sisältävät sisäkkäisiä jäsennettyjä arvoja (kuten taulukoita, luetteloita tai tietueita), saatat joskus saada seuraavan virheilmoituksen:
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.
Nämä virheet ilmenevät yleensä kahdesta syystä:
- Kun tietosuojan palomuuri puskuroi tietolähdettä, sisäkkäiset ei-skalaariarvot muunnetaan automaattisesti virheiksi.
- Kun tietotyypillä
Any
määritetty sarake sisältää ei-skalaariarvoja, tällaiset arvot ilmoitetaan latauksen aikana virheinä (esimerkiksi Excelin työkirjassa tai Power BI Desktopin tietomallissa).
Mahdolliset ratkaisut:
- Poista virheen sisältävä sarake tai määritä kyseiselle sarakkeelle muu
Any
kuin tietotyyppi. - Muuta kyseessä olevien tietolähteiden yksityisyystaso sellaiseksi, joka mahdollistaa niiden yhdistämisen ilman puskurointia.
- Tasoittaa taulukot ennen yhdistämistä poistaaksesi sarakkeet, jotka sisältävät sisäkkäisiä jäsennettyjä arvoja (kuten taulukko, tietue tai luettelo).