Det här inlägget förklarar hur man fixar?DataFormat.Error: Vi kunde inte konvertera till Number?. Arbeta med data iPower Query, vare sig iExcelellerPower BI, kan effektivisera analys och rapportering. Men datatypkonverteringsfel är en vanlig frustration som många användare möter, särskilt när de hanterar inkonsekventa format.
Oavsett om det är felmatchade avgränsare, blandade datatyper eller regionala inställningar kan problemen göra att Power Query misstolkar data, vilket leder till ett konverteringsfel som lyder:
DataFormat.Error: Vi kunde inte konvertera till Number. Detaljer: [error_details]
I det här inlägget kommer vi att utforska grundorsakerna bakom felet och tillhandahålla praktiska lösningar för att felsöka problemet.
Fix DataFormat.Error: Vi kunde inte konvertera till Number
Att fixaDataFormat.Error, vi kunde inte konvertera till Number, när du arbetar med data iPower Query, vare sig iExcelellerPower BIanvänd dessa lösningar:
- Ta bort den automatiska ?Ändra typ? steg
- Filtrera bort icke-numeriska värden
- Rensa och standardisera data innan typkonvertering
- Ställ in avgränsare och språk manuellt
- Rätt decimal- och tusenavgränsare
Låt oss se detta i detalj.
1] Ta bort den automatiska ?Ändra typ? steg
Power Query lägger ofta automatiskt till en ?Ändra typ? steg efter att ha laddat data för att försöka tilldela datatyper till kolumner baserat på de första 1 000 raderna. Om dina data innehåller inkonsekventa typer, som siffror blandade med text i samma kolumn, kan detta automatiska steg orsaka ?DataFormat.Error: Vi kunde inte konvertera till Number?.
För att fixa detta, gå tillDatafliken (i Excel) och väljHämta data > Starta Power Query Editor(Klicka på i Power BIFörvandla data).
På höger sida av Power Query Editor-fönstret ser duTillämpade stegrutan. Om det finns ett steg som kallas ?Ändrad typ?, Power Query har automatiskt tilldelat datatyper. Klicka påXbredvid steget för att ta bort det. Detta kommer att stoppa Power Query från att försöka automatiska konverteringar.
Efter att ha tagit bort ?Ändrad typ? steg, ställ in datatypen för varje kolumn manuellt för att säkerställa att den är korrekt.
2] Filtrera bort icke-numeriska värden
Kolumner som innehåller både text och numeriska värden (t.ex. ?ABC 123?) kan få Power Query att försöka konvertera allt till ett tal, vilket leder till ovanstående fel. Du kan göra ett par saker för att fixa detta:
- Ändra datatypen för kolumnen till ?Text?, användByt ut värdenalternativet för att korrigera den problematiska posten och sedan återställa datatypen till ?Decimaltal?.
- AnvändDela kolumnfunktion till. Använd sedan ?Numret? datatyp till den numeriska kolumnen och ?Text? skriv till den andra.
- Du kan också filtrera bort rader med icke-numeriska värden (som inte borde finnas där) innan du konverterar kolumnen till datatypen Number.
Efter att ha filtrerat bort icke-numeriska värden kan du säkert ändra den ursprungliga kolumnens datatyp.
3] Rengör och standardisera data före typkonvertering
Data som kopierats från webbplatser eller andra källor kan innehålla icke-avbrytande mellanslag eller symboler som ?&? eller ?,? som förvirrar Power Query när du försöker konvertera eller slå samman kolumner.
AppliceraRENAellerTRIMfunktion frånOmvandlamenyn för att ta bort dessa tecken (TRIM-funktionen tar bort extra mellanslag från text och lämnar endast enstaka mellanslag mellan ord, CLEAN-funktionen tar bort alla icke-utskrivbara tecken och är särskilt användbar för att rensa data som importeras från externa källor där dolda tecken kan finnas).
Efter att ha tillämpat dessa funktioner, försök att ställa in kolumnens datatyp igen.
4] Ställ in avgränsare och språk manuellt
Om dina data involverar regionala inställningar, se till att Power Query använder rätt avgränsare och språk. Om du till exempel arbetar med europeisk data där kommatecken används som decimalavgränsare, ställ in datas språk manuellt genom att gå tillArkiv > Alternativ > Frågealternativ > Regionala inställningaroch justeraPlatsför att matcha datakällan.
Om det är en enda kolumn, användÄndra typ > Använda språkalternativet för att säkerställa korrekt datatypkonvertering med korrekta regionala inställningar tillämpade.
På samma sätt, för CSV-filer, kontrollera om data använder kommatecken eller semikolon som avgränsare och justera detta manuellt under importen.
5] Korrigera decimaler och tusentalsavgränsare
Slutligen, om Power Query misslyckas med att konvertera siffror på grund av att decimaltecken och tusentals avgränsare inte matchar, använd alternativet Ersätt värden för att byta ut fel avgränsare (t.ex. ändra ?.? till ?,? för europeiska data) för att matcha det förväntade formatet.
Det är allt!
Läsa: .
Hur löser man DataFormat-fel som vi inte kunde konvertera till nummer?
Se till att kolumnerna du arbetar med är korrekt formaterade som "Text?" eller som ?Nummer?. När du stöter på ?DataFormat.Error: Vi kunde inte konvertera till Number?, titta på ?Detaljer? avsnittet i felmeddelandet. Detta framhäver ofta värdet eller det speciella tecknet som Power Query inte kan tolka som ett tal. Om en kolumn innehåller både text och siffror, dela upp den i separata kolumner och använd sedan rätt datatyp på den numeriska kolumnen.
Varför tillåter inte excel mig att konvertera till nummer?
Excel kanske inte tillåter dig att konvertera siffror som lagras som text till siffror om cellerna är formaterade som ?Text? eller om de innehåller osynliga tecken som icke-avbrytande mellanslag eller specialsymboler. Om någon av de påverkade cellerna slås samman kan Excel begränsa vissa operationer som nummerkonvertering. Ta bort sammanslagningen av cellerna innan du försöker konvertera.
Läs nästa: .