Oprava chýb v doplnku Power Query

V doplnku Power Query sa môžu vyskytnúť dva typy chýb:

  • Chyby na úrovni krokov
  • Chyby na úrovni buniek

V tomto článku nájdete návrhy, ako opraviť najčastejšie chyby, ktoré sa môžu vyskytnúť na jednotlivých úrovniach, ako aj informácie o dôvode chyby, chybovom hlásení a podrobnostiach o chybách.

Chyba na úrovni krokov

Chyba na úrovni kroku bráni dotazu v načítaní a zobrazí súčasti chyby na žltej table.

Snímka obrazovky zobrazujúca chybu na úrovni krokov, v ktorej sa stĺpec nenašiel.

  • Dôvod chyby: Prvá sekcia pred dvojbodku. V predchádzajúcom príklade je dôvodom chyby Expression.Error.
  • Chybové hlásenie: Sekcia priamo za dôvodom. V predchádzajúcom príklade sa vyskytla chybová správa: Stĺpec Stĺpec tabuľky sa nenašiel.
  • Podrobnosti o chybe: Sekcia priamo za reťazcom Details: . V predchádzajúcom príklade je podrobnosti o chybe Stĺpec.

Power Query Online zobrazuje mierne odlišné podrobnosti. Podrobnosti o chybe sú stále Stĺpce, ale online chybové hlásenie obsahuje aj dôvod chyby (Expression.Error) a kód chyby (10224).

Snímka obrazovky znázorňujúca online chybu na úrovni kroku, v ktorej sa stĺpec nenašiel.

Bežné chyby na úrovni krokov

Vo všetkých prípadoch sa odporúča podrobne preskúmať dôvod chyby, chybové hlásenie a podrobnosti chýb, aby ste pochopili, čo je príčinou chyby. Ak je k dispozícii tlačidlo Zobraziť podrobnosti , môžete zobraziť ďalšie podrobnosti o chybe.

Snímka obrazovky chybového hlásenia s zvýrazneným tlačidlom Zobraziť podrobnosti.

Nedá sa nájsť zdroj – DataSource.NotFound

Táto chyba sa bežne vyskytuje, ak je zdroj údajov používateľom nedostupný, používateľ nemá správne poverenia na prístup k zdroju údajov alebo ak bol zdroj presunutý na iné miesto.

Príklad: Máte dotaz z textovej dlaždice, ktorá sa nachádzala v jednotke D a vytvorila ju používateľ A. Používateľ A zdieľa dotaz s používateľom B, ktorý nemá prístup k jednotke D. Keď sa táto osoba pokúsi vykonať dotaz, získa ZdrojÚdajov.NotFound , pretože v prostredí nie je žiadna jednotka D.

Snímka obrazovky chyby zdroja údajov, ktorá sa nepodarilo nájsť súbor, pretože v aktuálnom prostredí nie je k dispozícii žiadna jednotka D.

Možné riešenia: Cestu k súboru textového súboru môžete zmeniť na cestu, ku ktorému majú prístup obaja používatelia. Ako používateľ B môžete zmeniť cestu k súboru ako lokálnu kópiu rovnakého textového súboru.

Stĺpec tabuľky sa nenašiel

Táto chyba sa bežne spúšťa, keď krok odkazuje priamo na názov stĺpca, ktorý v dotaze neexistuje.

Príklad: Máte dotaz z textového súboru, kde jeden z názvov stĺpcov bol Stĺpec. V dotaze máte krok, ktorý tento stĺpec premenuje na Date (Dátum). V pôvodnom textovom súbore však došlo k zmene a už nemá žiadny nadpis stĺpca s názvom Stĺpec , pretože bol manuálne zmenený na Date. Power Query nedokáže nájsť nadpis stĺpca s názvom Stĺpec, a preto nemôže žiadne stĺpce premenovať. Zobrazí chybu zobrazenú na nasledujúcom obrázku.

Snímka obrazovky chyby výrazu, v ktorej sa stĺpec tabuľky nenašiel, pretože názov stĺpca sa zmenil manuálne.

Možné riešenia: Pre tento prípad existuje viacero riešení, ale všetky závisia od toho, čo chcete urobiť. V tomto príklade, keďže správna hlavička stĺpca Dátum už pochádza z vášho textového súboru, stačí odstrániť krok, ktorý stĺpec premenuje. Táto zmena umožňuje spustiť dotaz bez tejto chyby.

Ďalšie bežné chyby na úrovni kroku

Pri kombinovaní alebo zlučovaní údajov medzi viacerými zdrojmi údajov sa môže zobraziť chyba Formula.Firewall , ako je znázornené na nasledujúcom obrázku.

Snímka obrazovky vzorca Chyba brány firewall uvádza, že dotaz odkazuje na iné dotazy alebo kroky tak, aby nemusel priamo pristupovať k zdroju údajov.

Táto chyba sa vyskytuje z rôznych dôvodov, ako sú napríklad úrovne ochrany osobných údajov medzi zdrojmi údajov alebo spôsob, akým sa tieto zdroje údajov skombinujú alebo zlúčia. Ďalšie informácie o tom, ako diagnostikovať tento problém, nájdete v téme Brána firewall ochrany osobných údajov.

Chyba na úrovni buniek

Chyba na úrovni bunky nebráni dotazu načítať sa, ale zobrazí chybové hodnoty ako Chyba v bunke. Výberom prázdneho priestoru v bunke sa pod ukážkou údajov zobrazí tabla s chybami.

Snímka obrazovky zobrazujúca chybové hlásenie výberom prázdneho znaku v bunke tabuľky obsahujúcej chybu.

Nota

Nástroje na profilovanie údajov vám môžu jednoduchšie identifikovať chyby na úrovni buniek pomocou funkcie kvality stĺpcov. Ďalšie informácie nájdete v časti Nástroje na profilovanie údajov.

Spracovanie chýb na úrovni bunky

Keď narazíte na chyby na úrovni bunky, power query poskytuje množinu funkcií na ich spracovanie odstránením, nahradením alebo uchovávaním chýb.

V nasledujúcich sekciách uvedené príklady používajú rovnaký vzorový dotaz ako počiatočný bod. V tomto dotaze máte stĺpec Sales (Predaj ), ktorý má jednu bunku s chybou spôsobenou chybou konverzie. Hodnota v danej bunke bola NA, ale keď ste transformovali tento stĺpec na celé číslo, Power Query nemohol konvertovať NA na číslo, takže sa zobrazí nasledujúca chyba.

Snímka obrazovky zobrazujúca chybu formátu údajov obsahujúcu chybu Nemožno konvertovať na typ údajov na table chýb.

Odstránenie chýb

Ak chcete odstrániť riadky s chybami v doplnku Power Query, najskôr vyberte stĺpec, ktorý obsahuje chyby. Na karte Domov v skupine Zredukovať riadky vyberte položku Odstrániť riadky. V rozbaľovacej ponuke vyberte položku Odstrániť chyby.

Snímka obrazovky s tlačidlom Odstrániť chyby na karte Domov.

Výsledok tejto operácie vám poskytne nasledujúcu tabuľku.

Snímka obrazovky tabuľky, ktorá predtým obsahovala päť riadkov, teraz obsahuje odstránený riadok, ktorý obsahoval chybu, pričom v tabuľke zostali štyri riadky.

Nahradenie chýb

Ak chcete namiesto odstránenia riadkov s chybami nahradiť chyby pevnou hodnotou, môžete tak urobiť tiež. Ak chcete nahradiť riadky, ktoré obsahujú chyby, najskôr vyberte stĺpec, ktorý obsahuje chyby. Na karte Transformovať v skupine Ľubovoľný stĺpec vyberte položku Nahradiť hodnoty. V rozbaľovacej ponuke vyberte položku Nahradiť chyby.

Snímka obrazovky s tlačidlom Nahradiť chyby na karte Transformovať.

V dialógovom okne Nahradiť chyby zadajte hodnotu 10 , pretože chcete nahradiť všetky chyby hodnotou 10.

Snímka obrazovky dialógového okna Nahradenie chýb s hodnotou nastavenou na hodnotu 10.

Výsledok tejto operácie vám poskytne nasledujúcu tabuľku.

Snímka obrazovky tabuľky, v ktorej tretí riadok obsahoval chybu v stĺpci Sales (Predaj), teraz obsahuje chybu nahradenú hodnotou 10.

Ponechať chyby

Power Query môže slúžiť ako dobrý nástroj na auditovanie a identifikuje riadky s chybami aj vtedy, ak tieto chyby opravíte. V takejto situácii môžu byť chyby v stave Zachovať užitočné. Ak chcete zachovať riadky, ktoré obsahujú chyby, najskôr vyberte stĺpec, ktorý obsahuje chyby. Na karte Domov v skupine Zredukovať riadky vyberte položku Ponechať riadky. V rozbaľovacej ponuke vyberte položku Ponechať chyby.

Snímka obrazovky tlačidla Ponechať chyby na karte Domov.

Výsledok tejto operácie vám poskytne nasledujúcu tabuľku.

Snímka obrazovky konečnej tabuľky, ktorá uchováva iba riadky obsahujúce chyby.

Bežné chyby na úrovni buniek

Rovnako ako pri každej chybe na úrovni kroku, odporúčame, aby ste sa podrobne pozreli na dôvody chyby, chybové hlásenia a podrobnosti chýb, ktoré sú uvedené na úrovni bunky, aby ste pochopili, čo chyby spôsobuje. V nasledujúcich častiach sa popisujú najčastejšie chyby na úrovni buniek v doplnku Power Query.

Chyby konverzie typu údajov

Bežne sa spúšťa pri zmene typu údajov stĺpca v tabuľke. Niektoré hodnoty nachádzajúce sa v stĺpci sa nepodarilo skonvertovať na požadovaný typ údajov.

Príklad: Máte dotaz, ktorý obsahuje stĺpec s názvom Sales (Predaj). Jedna bunka v tomto stĺpci má ako hodnotu bunky NA , zatiaľ čo zvyšok má celé čísla ako hodnoty. Rozhodli ste sa skonvertovať typ údajov stĺpca z textu na celé číslo, ale bunka s hodnotou NA spôsobí chybu.

Snímka obrazovky zobrazujúca podrobnosti chyby Nepodarilo sa konvertovať na typ údajov.

Možné riešenia: Po identifikácii riadka s chybou môžete buď upraviť zdroj údajov tak, aby odrážal správnu hodnotu namiesto NA, alebo môžete použiť operáciu Nahradiť chybu , ktorá poskytne hodnotu pre všetky hodnoty NA , ktoré spôsobujú chybu.

Chyby operácií

Pri pokuse o použitie operácie, ktorá nie je podporovaná, ako je napríklad vynásobenie textovej hodnoty číselnou hodnotou, dôjde k chybe.

Príklad: Ak chcete vytvoriť vlastný stĺpec pre dotaz, vytvorte textový reťazec obsahujúci frázu "Celkový predaj: " zreťazený s hodnotou zo stĺpca Predaj . Dôjde k chybe, pretože operácia zreťazenia podporuje iba textové stĺpce a nie číselné.

Snímka obrazovky znázorňujúca chybu výrazu na table chyby spôsobenej pokusom použiť operátor And na text a číslo zo stĺpca Sales (Predaj).

Možné riešenia: Pred vytvorením tohto vlastného stĺpca zmeňte typ údajov stĺpca Sales (Predaj ) na text.

Snímka obrazovky tabuľky so stĺpcom sales (predaj) skonvertovaným z čísla na textový typ a novým stĺpcom obsahujúcim oba výrazy.

Vnorené hodnoty zobrazené ako chyby

Pri práci s údajmi, ktoré obsahujú vnorené štruktúrované hodnoty (napríklad tabuľky, zoznamy alebo záznamy), sa môže stať, že sa vyskytne nasledujúca chyba:

Snímka obrazovky znázorňujúca chybu pre vnorené hodnoty aktivované bránou firewall vzorcov, ktorá sa vykonáva.

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.

Tieto chyby sa zvyčajne vyskytujú z dvoch dôvodov:

  • Keď brána firewall ochrany osobných údajov načíta do medzipamäte zdroj údajov, vnorené neskalarné hodnoty sa automaticky skonvertujú na chyby.
  • Keď stĺpec definovaný s typom Any údajov obsahuje nepodobné hodnoty, tieto hodnoty sa počas načítavania označujú ako chyby (napríklad v zošite v Exceli alebo v dátovom modeli v aplikácii Power BI Desktop).

Možné riešenia:

  • Odstráňte stĺpec, ktorý obsahuje chybu, alebo nastavte pre takýto stĺpec typ údajov, ktorý nieAny je uvedený.
  • Zmeňte úrovne ochrany osobných údajov zúčastnených zdrojov údajov na také, ktoré umožňuje ich skombinovanie bez toho, aby sa načítali do medzipamäte.
  • Tabuľky pred zlúčením sploštte, aby sa odstránili stĺpce, ktoré obsahujú vnorené štruktúrované hodnoty (ako je napríklad tabuľka, záznam alebo zoznam).