Tento příspěvek vysvětluje, jak opravit?DataFormat.Error: Nemohli jsme převést na Number? Práce s daty vPower Query, ať už vVynikatneboPower BI, může zefektivnit analýzu a reporting. Chyby převodu datových typů jsou však běžnou frustrací mnoha uživatelů, zejména při práci s nekonzistentními formáty.
Ať už se jedná o neshodné oddělovače, smíšené datové typy nebo místní nastavení, tyto problémy mohou způsobit, že Power Query nesprávně interpretuje data, což vede k chybě převodu, která zní:
DataFormat.Error: Nemohli jsme převést na Number. Podrobnosti: [error_details]
V tomto příspěvku prozkoumáme základní příčiny chyby a poskytneme praktická řešení, jak problém vyřešit.
Oprava DataFormat.Error: Nemohli jsme převést na Number
K opravěDataFormat.Error, nelze převést na číslo, při práci s daty vPower Query, ať už vVynikatneboPower BIpoužijte tato řešení:
- Smazat automatické ?Change Type? krok
- Odfiltrujte nečíselné hodnoty
- Vyčistěte a standardizujte data před převodem typu
- Ručně nastavte oddělovače a národní prostředí
- Správné oddělovače desetinných míst a tisíců
Podívejme se na to podrobně.
1] Smazat automatické ?Change Type? krok
Power Query často automaticky přidá typ změny? krok po načtení dat a pokuste se přiřadit datové typy ke sloupcům na základě prvních 1 000 řádků. Pokud vaše data obsahují nekonzistentní typy, jako jsou čísla smíchaná s textem ve stejném sloupci, může tento automatický krok způsobit ?DataFormat.Error: We could?t convert to Number?.
Chcete-li to opravit, přejděte na stránkuData(v Excelu) a vyberteZískat data > Spustit Editor Power Query(v Power BI klikněte naTransformovat data).
Na pravé straně okna Editoru Power Query uvidíteAplikované krokypodokno. Pokud existuje? Krok volal?Změněný typ?, Power Query automaticky přiřadil datové typy. Klikněte naXvedle kroku pro jeho odstranění. Tím se Power Query zastaví v pokusech o automatické převody.
Po smazání ?Changed Type? krok, ručně nastavte datový typ každého sloupce, abyste se ujistili, že je správný.
2] Odfiltrujte nečíselné hodnoty
Sloupce obsahující textové i číselné hodnoty (např. ?ABC 123?) mohou způsobit, že se Power Query pokusí převést vše na číslo, což povede k výše uvedené chybě. Chcete-li to opravit, můžete provést několik věcí:
- Změňte datový typ sloupce na ?Text?, použijteNahradit hodnotymožnost opravit problematickou položku a poté vrátit typ dat na ?Desetinné číslo?.
- PoužijteRozdělit sloupecfunkce k. Poté použijte ?Číslo? datový typ do číselného sloupce a do pole ?Text? zadejte druhému.
- Před převodem sloupce na datový typ Číslo můžete také odfiltrovat řádky s nečíselnými hodnotami (které by tam neměly být).
Po odfiltrování nečíselných hodnot můžete bezpečně změnit datový typ původního sloupce.
3] Vyčistěte a standardizujte data před převodem typu
Data zkopírovaná z webových stránek nebo jiných zdrojů mohou obsahovat nezalomitelné mezery nebo symboly jako ?&? nebo?,? které mate Power Query při pokusu o převod nebo sloučení sloupců.
PoužijteČISTÝneboTRIMfunkce zTransformacek odstranění těchto znaků (funkce TRIM odstraní z textu nadbytečné mezery a mezi slovy ponechá pouze jednotlivé mezery, funkce CLEAN odstraní všechny netisknutelné znaky a je zvláště užitečná pro čištění dat importovaných z externích zdrojů, kde mohou existovat skryté znaky).
Po použití těchto funkcí zkuste znovu nastavit datový typ sloupce.
4] Ručně nastavte oddělovače a národní prostředí
Pokud vaše data zahrnují regionální nastavení, ujistěte se, že Power Query používá správný oddělovač a národní prostředí. Pokud například pracujete s evropskými daty, kde se jako oddělovač desetinných míst používají čárky, ručně nastavte národní prostředí dat tak, že přejdete naSoubor > Možnosti > Možnosti dotazu > Místní nastavenía úpravouNárodní prostředíaby odpovídaly zdroji dat.
Pokud se jedná o jeden sloupec, použijteZměnit typ > Použití národního prostředímožnost zajistit správnou konverzi datových typů se správným místním nastavením.
Podobně u souborů CSV zkontrolujte, zda data používají jako oddělovače čárky nebo středníky, a ručně to upravte během importu.
5] Opravte oddělovače desetinných míst a tisíců
A konečně, pokud Power Query selhává při převodu čísel z důvodu neshodných desetinných míst a oddělovačů tisíců, použijte možnost Nahradit hodnoty a zaměňte nesprávný oddělovač (např. změňte ?.? na ?,? pro evropská data), aby odpovídal očekávanému formátu.
To je vše!
Číst: .
Jak vyřešit chybu DataFormat, kterou jsme nemohli převést na číslo?
Ujistěte se, že sloupce, se kterými pracujete, jsou správně naformátovány jako ?Text? nebo jako ?Číslo?. Když narazíte na ?DataFormat.Error: Nemohli jsme převést na číslo?, podívejte se na ?Podrobnosti? části chybové zprávy. To často zvýrazní hodnotu nebo konkrétní znak, který Power Query nedokáže interpretovat jako číslo. Pokud sloupec obsahuje text i čísla, rozdělte jej do samostatných sloupců a poté použijte správný datový typ na číselný sloupec.
Proč mi Excel neumožňuje převod na číslo?
Excel vám možná neumožní převést čísla uložená jako text na čísla, pokud jsou buňky formátovány jako ?Text? nebo pokud obsahují neviditelné znaky, jako jsou pevné mezery nebo speciální symboly. Pokud jsou některé z ovlivněných buněk sloučeny, Excel může omezit určité operace, jako je převod čísel. Před pokusem o převod zrušte sloučení buněk.
Číst dále: .