Sdílet prostřednictvím


Řešení chyb v Power Query

V Power Query můžete narazit na dva typy chyb:

  • Chyby na úrovni kroku
  • Chyby na úrovni buněk

Tento článek obsahuje návrhy, jak opravit nejběžnější chyby, které můžete najít na jednotlivých úrovních, a popisuje důvod chyby, chybovou zprávu a podrobnosti o chybách pro každou z nich.

Chyba na úrovni kroku

Chyba na úrovni kroku brání načtení dotazu a zobrazení komponent chyb ve žlutém podokně.

Chyba na úrovni kroku

  • Důvod chyby: První oddíl před dvojtečku. V příkladu výše je důvodem chyby Expression.Error.
  • Chybová zpráva: Oddíl přímo za důvodem. V předchozím příkladu se chybová zpráva označuje, že sloupec Sloupec tabulky nebyl nalezen.
  • Podrobnosti o chybě: Oddíl přímo za řetězcem Details: V předchozím příkladu je podrobnosti o chybě Sloupec.

Běžné chyby na úrovni kroku

Ve všech případech doporučujeme podívat se na důvod chyby, chybovou zprávu a podrobnosti o chybě, abyste pochopili, co je příčinou chyby. Pokud je k dispozici, můžete vybrat tlačítko Přejít na chybu a zobrazit první krok, ve kterém došlo k chybě.

Přejděte na tlačítko s chybou.

Zdroj nejde najít – DataSource.Error

K této chybě obvykle dochází, když je zdroj dat nepřístupný uživatelem, uživatel nemá správné přihlašovací údaje pro přístup ke zdroji dat nebo se zdroj přesunul na jiné místo.

Příklad: Máte dotaz z textové dlaždice, která byla umístěna v jednotce D a vytvořená uživatelem A. Uživatel A sdílí dotaz s uživatelem B, který nemá přístup k jednotce D. Když se tato osoba pokusí spustit dotaz, zobrazí se mu DataSource.Error , protože ve svém prostředí není žádná jednotka D.

Chyba zdroje dat, nepodařilo se najít soubor, protože v aktuálním prostředí není žádná jednotka D.

Možná řešení: Cestu k souboru textového souboru můžete změnit na cestu, ke které mají přístup oba uživatelé. Jako uživatel B můžete změnit cestu k souboru tak, aby byla místní kopií stejného textového souboru. Pokud je tlačítko Upravit nastavení dostupné v podokně chyb, můžete ho vybrat a změnit cestu k souboru.

Sloupec tabulky nebyl nalezen.

Tato chyba se obvykle aktivuje, když krok provede přímý odkaz na název sloupce, který v dotazu neexistuje.

Příklad: Máte dotaz z textového souboru, kde jeden z názvů sloupců byl Sloupec. V dotazu máte krok, který tento sloupec přejmenuje na Datum. V původním textovém souboru ale došlo ke změně a už nemá záhlaví sloupce s názvem Sloupec , protože se změnilo na Datum ručně. Power Query nemůže najít záhlaví sloupce s názvem Sloupec, takže nemůže přejmenovat žádné sloupce. Zobrazí chybu zobrazenou na následujícím obrázku.

Chyba výrazu, sloupec tabulky nebyl nalezen, protože název sloupce byl ručně změněn.

Možná řešení: V tomto případě existuje několik řešení, ale všechny závisejí na tom, co chcete udělat. V tomto příkladu, protože správné záhlaví sloupce Date už pochází z textového souboru, stačí odebrat krok, který sloupec přejmenuje. Tím umožníte spuštění dotazu bez této chyby.

Další běžné chyby na úrovni kroku

Při kombinování nebo slučování dat mezi více zdroji dat se může zobrazit chyba Formula.Firewall , například chyba zobrazená na následujícím obrázku.

Chyba brány firewall vzorců, dotaz odkazuje na jiné dotazy nebo kroky, takže nemusí přímo přistupovat ke zdroji dat.

Příčinou této chyby může být celá řada důvodů, například úrovně ochrany osobních údajů dat mezi zdroji dat nebo způsob, jakým se tyto zdroje dat kombinují nebo slučují. Další informace o diagnostice tohoto problému najdete v bráně firewall ochrany osobních údajů dat.

Chyba na úrovni buňky

Chyba na úrovni buňky nezabrání načtení dotazu, ale zobrazí chybové hodnoty jako Chyba v buňce. Výběrem prázdného místa v buňce se pod náhledem dat zobrazí podokno chyb.

Zobrazení chybové zprávy výběrem prázdných znaků v buňce tabulky obsahující chybu

Poznámka:

Nástroje pro profilaci dat vám můžou pomoct snadněji identifikovat chyby na úrovni buněk pomocí funkce kvality sloupce. Další informace: Nástroje pro profilaci dat

Zpracování chyb na úrovni buňky

Při výskytu chyb na úrovni buněk poskytuje Power Query sadu funkcí pro jejich zpracování odebráním, nahrazením nebo zachováním chyb.

V dalších částech budou uvedené příklady používat stejný ukázkový dotaz jako počáteční bod. V tomto dotazu máte sloupec Prodej , který obsahuje jednu buňku s chybou způsobenou chybou převodu. Hodnota uvnitř této buňky byla NA, ale když jste tento sloupec transformovali na celé číslo, Power Query nemohl převést NA na číslo, takže zobrazí následující chybu.

Zobrazí chybu formátu dat. V podokně chyb se nepodařilo převést na chybu datového typu.

Odebrání chyb

Pokud chcete odebrat řádky s chybami v Power Query, nejprve vyberte sloupec, který obsahuje chyby. Na kartě Domů ve skupině Zmenšit řádky vyberte Odebrat řádky. V rozevírací nabídce vyberte Odebrat chyby.

Tlačítko Odebrat chyby na kartě Domů

Výsledek této operace vám poskytne tabulku, kterou hledáte.

Tabulka, která dříve obsahovala pět řádků, teď obsahuje řádek, který obsahoval odstraněnou chybu, a ponechá v tabulce čtyři řádky.

Chyby nahrazení

Pokud místo odebrání řádků s chybami chcete nahradit chyby pevnou hodnotou, můžete to udělat i vy. Pokud chcete nahradit řádky s chybami, nejprve vyberte sloupec, který obsahuje chyby. Na kartě Transformace ve skupině Libovolný sloupec vyberte Nahradit hodnoty. V rozevírací nabídce vyberte Nahradit chyby.

Tlačítko Nahradit chyby na kartě Transformace

V dialogovém okně Nahradit chyby zadejte hodnotu 10 , protože chcete nahradit všechny chyby hodnotou 10.

Dialogové okno Nahradit chyby

Výsledek této operace vám poskytne tabulku, kterou hledáte.

Tabulka, ve které třetí řádek obsahoval chybu ve sloupci Sales (Prodej) má nyní chybu nahrazenou hodnotou 10.

Zachovat chyby

Power Query může sloužit jako dobrý nástroj pro auditování, který identifikuje všechny řádky s chybami, i když chyby neopravíte. To je místo, kde můžou být užitečné chyby Keep. Pokud chcete zachovat řádky s chybami, nejprve vyberte sloupec, který obsahuje chyby. Na kartě Domů ve skupině Snížit řádky vyberte Zachovat řádky. V rozevírací nabídce vyberte Zachovat chyby.

Tlačítko Zachovat chyby na kartě Domů

Výsledek této operace vám poskytne tabulku, kterou hledáte.

Konečná tabulka, která uchovává pouze řádky obsahující chyby.

Běžné chyby na úrovni buněk

Stejně jako u jakékoli chyby na úrovni kroku doporučujeme se podrobněji podívat na příčiny chyb, chybové zprávy a podrobnosti o chybách uvedené na úrovni buňky, abyste pochopili, co chyby způsobuje. V následujících částech najdete některé z nejčastějších chyb na úrovni buněk v Power Query.

Chyby převodu datového typu

Běžně se aktivuje při změně datového typu sloupce v tabulce. Některé hodnoty nalezené ve sloupci nelze převést na požadovaný datový typ.

Příklad: Máte dotaz, který obsahuje sloupec s názvem Prodej. Jedna buňka v daném sloupci má hodnotu NA jako hodnotu buňky, zatímco zbytek má celá čísla jako hodnoty. Rozhodnete se převést datový typ sloupce z textu na celé číslo, ale buňka s hodnotou NA způsobí chybu.

Nelze převést na podrobnosti o chybě datového typu.

Možná řešení: Po identifikaci řádku s chybou můžete zdroj dat upravit tak, aby odrážel správnou hodnotu místo na, nebo můžete použít chybovou operaci Nahradit a zadat hodnotu pro všechny hodnoty NA , které způsobují chybu.

Chyby operací

Při pokusu o použití operace, která není podporována, například vynásobení textové hodnoty číselnou hodnotou, dojde k chybě.

Příklad: Chcete vytvořit vlastní sloupec pro dotaz vytvořením textového řetězce, který obsahuje frázi "Total Sales: " zřetězený s hodnotou ze sloupce Sales . K chybě dochází, protože operace zřetězení podporuje pouze textové sloupce, nikoli číselné.

Chyba výrazu v podokně chyb způsobená pokusem o použití operátoru And na text a číslo ze sloupce Sales

Možná řešení: Před vytvořením tohoto vlastního sloupce změňte datový typ sloupce Sales na text.

Tabulka se sloupcem prodeje převedeným z datového typu Číslo na datový typ Text a výsledným novým sloupcem obsahujícím oba výrazy

Vnořené hodnoty zobrazené jako chyby

Při práci s daty obsahujícími vnořené strukturované hodnoty (například tabulky, seznamy nebo záznamy) se někdy může zobrazit následující chyba:

Došlo k chybě pro vnořené hodnoty aktivované bránou firewall vzorců.

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.

K těmto chybám obvykle dochází ze dvou důvodů:

  • Když brána firewall ochrany osobních údajů v datech ukládají zdroj dat do vyrovnávací paměti, vnořené hodnoty, které nejsou skalární, se automaticky převedou na chyby.
  • Pokud sloupec definovaný s datovým typem Any obsahuje jiné než skalární hodnoty, budou tyto hodnoty během načítání hlášeny jako chyby (například v sešitu v Excelu nebo datovém modelu v Power BI Desktopu).

Možná řešení:

  • Odeberte sloupec, který obsahuje chybu, nebo pro tento sloupec nastavte jinýAny než datový typ.
  • Změňte úrovně ochrany osobních údajů příslušných zdrojů dat na úroveň, která umožňuje jejich kombinování bez uložení do vyrovnávací paměti.
  • Zploštěte tabulky před sloučením, abyste vyloučili sloupce obsahující vnořené strukturované hodnoty (například tabulku, záznam nebo seznam).