Jaa


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.

Näyttökuva vaihetason virheestä, jossa saraketta ei löytynyt.

  • Virheen syy: Ensimmäinen osa ennen kaksoispistettä. Edellisessä esimerkissä virheen syy on Expression.Error.
  • Virhesanoma: Osio, joka on suoraan syyn jälkeen. Edellisessä esimerkissä virhesanoma on Taulukon saraketta "Sarake", jota ei löytynyt.
  • Virheen tiedot: -osio suoraan Tiedot: -merkkijonon jälkeen. Edellisessä esimerkissä virheen tieto on Sarake.

Power Query Online näyttää hieman eri tiedot. Virheen tiedot ovat edelleen Sarake, mutta online-virhesanoma sisältää myös virheen syyn (Expression.Error) ja virhekoodin (10224).

Näyttökuva online-vaihetason virheestä, jossa saraketta ei löytynyt.

Yleisiä vaihetason virheitä

Kaikissa tapauksissa suosittelemme, että tarkastelet tarkasti virheen syytä, virhesanomaa ja virhetietoja virheen syyn ymmärtämiseksi. Voit valita Näytä tiedot -painikkeen, jos se on käytettävissä, saadaksesi lisätietoja virheestä.

Näyttökuva virheviestistä, jossa Näytä tiedot -painike on korostettuna.

Lähdettä ei löydy - DataSource.NotFound

Tämä virhe ilmenee yleensä, kun käyttäjä ei voi käyttää tietolähdettä, käyttäjällä ei ole tarvittavia tunnistetietoja tietolähteen käyttämiseksi tai kun 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.NotFound-kohteen , koska hänen ympäristössään ei ole D-asemaa.

Näyttökuva tietolähdevirheestä, joka ei löytänyt tiedostoa, koska nykyisessä ympäristössä 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.

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.

Näyttökuva lausekevirheestä, jossa taulukon saraketta ei löytynyt, koska sarakkeen nimeä muutettiin manuaalisesti.

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 muutoksen ansiosta kysely 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.

Näyttökuva kaavan palomuurin virheestä, joka ilmaisee, että kysely viittaa muihin kyselyihin tai vaiheisiin, joten se ei ehkä käytä tietolähdettä suoraan.

Tämä virhe ilmenee eri syistä, kuten tietolähteiden yksityisyystasoista tai näiden tietolähteiden yhdistämisestä tai yhdistämisestä. 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.

Näyttökuva virhesanoman näyttämisestä valitsemalla välilyönnit taulukkosolusta, joka sisältää virheen.

Huomautus

Tietojen profilointityökalujen avulla voit helpommin tunnistaa solutason virheet sarakkeen laatuominaisuuden avulla. Lisätietoja on kohdassa Tietojen profilointityökalut.

Virheiden käsittely solutasolla

Kun kohtaat 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.

Näyttökuva, joka näyttää tietomuotovirheen, joka sisältää virheruudussa Virheen muuntaminen tietotyypiksi -virheen.

Poista virheet

Jos haluat poistaa rivit, joissa on virheitä Power Queryssa, valitse ensin sarake, joka sisältää virheitä. Valitse Aloitus-välilehdenVähennä rivejä -ryhmästä Poista rivit. Valitse avattavasta valikosta Poista virheet.

Näyttökuva Poista virheet -painikkeesta Aloitus-välilehdellä.

Toiminnon tulos antaa seuraavan taulukon.

Näyttökuva taulukosta, joka sisälsi aiemmin viisi riviä, on nyt poistettu rivi, joka sisälsi virheen, jättäen neljä riviä taulukkoon.

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älilehdenMikä tahansa sarake -ryhmästä Korvaa arvot. Valitse avattavasta valikosta Korvaa virheet.

Näyttökuva Muunna-välilehden Korvaa virheet -painikkeesta.

Syötä Korvaa virheet -valintaikkunassa arvo 10 , koska haluat korvata kaikki virheet arvolla 10.

Näyttökuva Korvaa virheet -valintaikkunasta, jonka arvoksi on määritetty 10.

Toiminnon tulos antaa seuraavan taulukon.

Näyttökuva taulukosta, jossa kolmas rivi sisälsi virheen Myynti-sarakkeessa, korvattu virhe arvolla 10.

Säilytä virheet

Power Query voi toimia hyvänä valvontatyökaluna mahdollisten virheitä sisältävien rivien tunnistamiseen, vaikka et korjasi virheitä. Tässä tilanteessa Säilytä virheet -tavasta voi olla hyötyä. Jos haluat säilyttää virheitä sisältävät rivit, valitse ensin sarake, joka sisältää virheitä. Valitse Aloitus-välilehdenVähennä rivejä -ryhmästä Säilytä rivit. Valitse avattavasta valikosta Säilytä virheet.

Näyttökuva Säilytä virheet -painikkeesta Aloitus-välilehdellä.

Toiminnon tulos antaa seuraavan taulukon.

Näyttökuva lopullisesta taulukosta, joka säilyttää vain virheitä sisältävät rivit.

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 voitu 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.

Näyttökuva, jossa näkyy Tietotyyppi-muuntoa ei voitu muuntaa -virheen tiedot.

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.

Näyttökuva virheruudun lausekevirheestä, koska käyttäjä yrittää käyttää And-operaattoria tekstiin ja numeroa Sales-sarakkeesta.

Mahdolliset ratkaisut: Ennen kuin luot tämän mukautetun sarakkeen, muuta Sales-sarakkeen tietotyypiksi teksti.

Näyttökuva taulukosta, jossa myyntisarake on muunnettu luvusta tekstityypiksi, ja uusi sarake, joka sisältää molemmat lausekkeet.

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 kohdata seuraavan virheilmoituksen:

Näyttökuva kaavan palomuurin käynnistämästä sisäkkäisten arvojen virheestä.

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-skalaarisia arvoja, nämä arvot raportoidaan 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 muuAny 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).