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 kroku bráni dotazu v načítaní a zobrazí súčasti chyby na žltej table.
- Dôvod chyby: Prvá sekcia pred dvojbodku. V príklade uvedenom vyššie je dôvodom chyby Expression.Error.
- Chybové hlásenie: Sekcia priamo za dôvodom. V príklade uvedenom vyššie sa vyskytla chybová správa : Stĺpec Stĺpec tabuľky sa nenašiel.
- Podrobnosti o chybe: Sekcia priamo za reťazcom Details: . V príklade uvedenom vyššie sú podrobnosti o chybe Stĺpec.
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. Môžete vybrať tlačidlo Prejsť na chybu , ak je k dispozícii, a zobraziť tak prvý krok, v ktorom sa chyba vyskytla.
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, zobrazí sa jej chyba DataSource.Error , pretože v prostredí nie je ž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. Ak je na table chýb k dispozícii tlačidlo Upraviť nastavenia, môžete ho vybrať a zmeniť cestu k súboru.
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.
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. To vám umožní spustiť dotaz bez tejto chyby.
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.
Táto chyba môže byť spôsobená viacerými dôvodmi, 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 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.
Poznámka
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ástroje na profilovanie údajov
Keď narazíte na chyby na úrovni bunky, power query poskytuje množinu funkcií na ich spracovanie odstránením, nahradením alebo zachovaním chýb.
V nasledujúcich častiach budú uvedené príklady používať 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.
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.
Výsledkom tejto operácie bude tabuľka, ktorú hľadáte.
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.
V dialógovom okne Nahradiť chyby zadajte hodnotu 10, pretože chcete nahradiť všetky chyby hodnotou 10.
Výsledkom tejto operácie bude tabuľka, ktorú hľadáte.
Power Query môže slúžiť ako dobrý nástroj na auditovanie a identifikuje riadky s chybami aj vtedy, ak tieto chyby opravíte. A tu môžu byť užitočné chyby ponecháte. 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.
Výsledkom tejto operácie bude tabuľka, ktorú hľadáte.
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.
Bežne sa spúšťa pri zmene typu údajov stĺpca v tabuľke. Niektoré hodnoty nachádzajúce sa v stĺpci sa nedali 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.
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.
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é.
Možné riešenia: Pred vytvorením tohto vlastného stĺpca zmeňte typ údajov stĺpca Sales (Predaj ) na text.
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:
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 zdroj údajov do medzipamäte, vnorené neskalárne hodnoty sa automaticky konvertujú na chyby.
- Ak stĺpec definovaný typom
Any
údajov obsahuje neskalárne hodnoty, tieto hodnoty sa počas načítavania ohlásia 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ý nie
Any
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).