Ez a bejegyzés elmagyarázza, hogyan lehet javítani?DataFormat.Error: Nem tudtuk számmá konvertálni?. Munka az adatokkalPower Query, akár beExcelvagyPower BI, egyszerűsítheti az elemzést és a jelentéskészítést. Az adattípus-konverziós hibák azonban gyakori frusztrációt jelentenek sok felhasználó számára, különösen az inkonzisztens formátumok kezelésekor.
Legyen szó nem egyező határolókról, vegyes adattípusokról vagy regionális beállításokról, a problémák miatt a Power Query félreértelmezi az adatokat, ami a következő konverziós hibához vezethet:
DataFormat.Error: Nem tudtuk számmá konvertálni. Részletek: [error_details]
Ebben a bejegyzésben megvizsgáljuk a hiba mögött meghúzódó kiváltó okokat, és gyakorlati megoldásokat kínálunk a probléma elhárítására.
Javítsa ki a DataFormat.Error hibát: Nem tudtuk számmá konvertálni
MegjavítaniDataFormat.Error, nem tudtuk számmá konvertálni, amikor adatokkal dolgozikPower Query, akár beExcelvagyPower BIhasználja ezeket a megoldásokat:
- Törli az automatikus ?Change Type? lépés
- Szűrje ki a nem numerikus értékeket
- Tisztítsa meg és szabványosítsa az adatokat a típusátalakítás előtt
- Határolók és területi beállítások manuálisan
- Helyes tizedes és ezer elválasztó
Lássuk ezt részletesen.
1] Törli az automatikus ?Change Type? lépés
A Power Query gyakran automatikusan hozzáad egy ?Change Type? lépés az adatok betöltése után, és megpróbálja az első 1000 sor alapján adattípusokat rendelni az oszlopokhoz. Ha az adatok inkonzisztens típusokat tartalmaznak, például számok keverednek szöveggel ugyanabban az oszlopban, ez az automatikus lépés ?DataFormat.Error: Nem sikerült számmá konvertálni?
Ennek kijavításához nyissa meg aAdatfület (Excelben), és válassza kiAdatok lekérése > Indítsa el a Power Query Editort(Power BI-ban kattintsonAdatok átalakítása).
A Power Query Editor ablakának jobb oldalán látni fogja aAlkalmazott lépésekablaktáblát. Ha van egy lépés, amit ?Megváltozott típus?, A Power Query automatikusan hozzárendelt adattípusokat. Kattintson aXa törléshez szükséges lépés mellett. Ez leállítja a Power Query automatikus átalakítási kísérletét.
A ?Módosított típus? lépésben, manuálisan állítsa be az egyes oszlopok adattípusát a helyesség érdekében.
2] Szűrje ki a nem numerikus értékeket
A szöveges és számértékeket egyaránt tartalmazó oszlopok (pl. ?ABC 123?) azt okozhatják, hogy a Power Query mindent számmá próbál konvertálni, ami a fenti hibához vezet. Ennek kijavításához néhány dolgot megtehet:
- Módosítsa az oszlop adattípusát ?Szöveg?-re, használja aCserélje ki az értékeketopciót a problémás bejegyzés kijavításához, majd az adattípus visszaállításához ?Tizedes szám?
- Használja aFelosztott oszlopfunkciót. Ezután alkalmazza a ?Számot? adattípust a numerikus oszlopba, és a ?Szöveg? írja be a másiknak.
- A nem numerikus értékeket tartalmazó sorokat is kiszűrheti (ezek nem lehetnek ott), mielőtt az oszlopot Szám adattípusra konvertálják.
A nem numerikus értékek kiszűrése után biztonságosan módosíthatja az eredeti oszlop adattípusát.
3] Tisztítsa meg és szabványosítsa az adatokat a típusátalakítás előtt
A webhelyekről vagy más forrásokból másolt adatok tartalmazhatnak nem törő szóközöket vagy szimbólumokat, például ?&? vagy?,? amelyek összezavarják a Power Query-t az oszlopok konvertálása vagy egyesítése közben.
Alkalmazza aTISZTAvagyTRIMfunkció aÁtalakítanimenü segítségével távolítsa el ezeket a karaktereket (a TRIM funkció eltávolítja a felesleges szóközöket a szövegből, csak egyetlen szóközt hagy a szavak között, a CLEAN funkció eltávolítja az összes nem nyomtatható karaktert, és különösen hasznos a külső forrásokból importált adatok tisztításához, ahol rejtett karakterek is előfordulhatnak).
A függvények alkalmazása után próbálja meg újra beállítani az oszlop adattípusát.
4] A határolók és a területi beállítások kézi beállítása
Ha az adatok regionális beállításokat tartalmaznak, győződjön meg arról, hogy a Power Query a megfelelő határolót és területi beállítást használja. Például, ha európai adatokkal dolgozik, ahol vesszőt használnak tizedeselválasztóként, manuálisan állítsa be az adatok területi beállítását a következő helyen:Fájl > Beállítások > Lekérdezési beállítások > Területi beállításokés beállítja aNyelvhogy megfeleljen az adatforrásnak.
Ha egyetlen oszlopról van szó, használja aTípus módosítása > Területi beállítás használatalehetőséget a megfelelő adattípus-konverzió biztosítására a megfelelő regionális beállításokkal.
Hasonlóképpen a CSV-fájlok esetében ellenőrizze, hogy az adatok nem használnak-e vesszőt vagy pontosvesszőt elválasztóként, és ezt manuálisan állítsa be az importálás során.
5] Helyes tizedes és ezer elválasztó
Végül, ha a Power Query nem tudja konvertálni a számokat a nem egyező tizedespontok és ezerelválasztók miatt, használja az Értékek cseréje beállítást a rossz elválasztó lecseréléséhez (pl. módosítsa a ?.?-t ?,?-re az európai adatokhoz), hogy megfeleljen a várt formátumnak.
Ez minden!
Olvas: .
Hogyan lehet megoldani a DataFormat hibát, amelyet nem tudtunk számmá konvertálni?
Győződjön meg arról, hogy az oszlopok, amelyekkel dolgozik, helyesen vannak formázva: ?Szöveg? vagy ?Számként?. Amikor találkozik a ?DataFormat.Error: Nem tudtunk számmá konvertálni, nézze meg a ?Részletek? részben a hibaüzenetben. Ez gyakran kiemeli azt az értéket vagy adott karaktert, amelyet a Power Query nem tud számként értelmezni. Ha egy oszlop szöveget és számokat is tartalmaz, ossza fel külön oszlopokra, majd alkalmazza a megfelelő adattípust a numerikus oszlopra.
Miért nem engedi az Excel számmá konvertálni?
Előfordulhat, hogy az Excel nem teszi lehetővé a szövegként tárolt számok számokká alakítását, ha a cellák ?Szöveg? vagy ha láthatatlan karaktereket, például nem törő szóközöket vagy speciális szimbólumokat tartalmaznak. Ha az érintett cellák bármelyikét egyesíti, az Excel korlátozhat bizonyos műveleteket, például a számkonverziót. A konvertálás előtt szüntesse meg a cellák egyesítését.
Olvassa el a következőt: .