Dette innlegget forklarer hvordan du fikser 'DataFormat.error: Vi kunne ikke konvertere til nummer'. Arbeider med data iPower Query, enten det er iExcelellerPower Bi, kan effektivisere analyse og rapportering. Imidlertid er konverteringsfeil for datatype en vanlig frustrasjon mange brukere står overfor, spesielt mens de arbeider med inkonsekvente formater.
Enten ikke -samsvarende avgrensere, blandede datatyper eller regionale innstillinger, kan problemene føre til at strømforespørsel feiltolker dataene, noe som fører til en konverteringsfeil som lyder:
Dataformat.error: Vi kunne ikke konvertere til nummer. Detaljer: [error_details]
I dette innlegget vil vi utforske årsakene bak feilen og gi praktiske løsninger for å feilsøke problemet.
Fix dataformat.error: Vi kunne ikke konvertere til nummer
Å fikseDataformat.error, vi kunne ikke konvertere til nummer, når du jobber med data iPower Query, enten det er iExcelellerPower BiBruk disse løsningene:
- Slett det automatiske "endringstypen" -trinnet
- Filtrer ut ikke-numeriske verdier
- Rengjør og standardiser data før type konvertering
- Manuelt sett avgrensere og sted
- Riktig desimal og tusen separatorer
La oss se dette i detalj.
1] Slett det automatiske "endringstypen" -trinnet
Strømforespørsel legger ofte automatisk til et "endringstype" -trinn etter å ha lastet inn data for å prøve å tilordne datatyper til kolonner basert på de første 1000 radene. Hvis dataene dine inkluderer inkonsekvente typer, for eksempel tall blandet med tekst i samme kolonne, kan dette automatiske trinnet forårsake 'Dataformat.error: Vi kunne ikke konvertere til nummer'.
For å fikse dette, gå tilDataTab (i Excel), og velgFå data> Start Power Query Editor(I Power Bi, klikkTransformere data).
På høyre side av vinduet Power Query Editor, ser duAnvendte trinnrute. Hvis det er et skritt som heter 'Endret type', Power Query har automatisk tildelt datatyper. Klikk påXved siden av trinnet for å slette det. Dette vil hindre strømforespørselen fra å prøve automatiske konverteringer.
Etter å ha slettet "endret type" -trinn, angir du datatypen til hver kolonne manuelt for å sikre at den er riktig.
2] Filtrer ut ikke-numeriske verdier
Kolonner som inneholder både tekst- og numeriske verdier (f.eks. "ABC 123") kan føre til at strømforespørsel prøver å konvertere alt til et tall, noe som fører til feilen ovenfor. Du kan gjøre et par ting for å fikse dette:
- Endre datatypen på kolonnen til 'tekst', brukErstatte verdierAlternativ for å rette opp den problematiske oppføringen, og deretter vende tilbake datatypen til 'desimalnummer'.
- BrukSplit kolonnefunksjon til. Bruk deretter datatypen 'Number' på den numeriske kolonnen og "tekst" -typen på den andre.
- Du kan også filtrere ut rader med ikke-numeriske verdier (som ikke bør være der) før du konverterer kolonnen til talltypen.
Etter å ha filtrert ut ikke-numeriske verdier, kan du trygt endre den originale kolonnens datatype.
3] Rengjør og standardiser data før type konvertering
Data kopiert fra nettsteder eller andre kilder kan omfatte ikke-brytende rom eller symboler som '&' eller ',' som forveksler strømforespørsel mens du prøver å konvertere eller slå sammen kolonner.
BrukRENGJØREellerTrimfunksjon fraTransformMeny For å fjerne disse tegnene (trimfunksjonen fjerner ekstra mellomrom fra tekst, og bare etterlater enkeltrom mellom ord, fjerner den rene funksjonen alle ikke-utskrevne tegn og er spesielt nyttig for rengjøring av data importert fra eksterne kilder der skjulte tegn kan eksistere).
Etter å ha brukt disse funksjonene, kan du prøve å stille inn kolonnens datatype igjen.
4] manuelt sett avgrensere og sted
Hvis dataene dine innebærer regionale innstillinger, må du forsikre deg om at strømforespørselen bruker riktig avgrenser og lokalitet. For eksempel, hvis du jobber med europeiske data der komma brukes som desimalseparatorer, kan du sette dataens sted manuelt ved å gå tilFil> Alternativer> Spørringsalternativer> Regionale innstillingerog justereLandFor å matche datakilden.
Hvis det er en enkelt kolonne, brukEndre type> Bruke lokalitetAlternativ for å sikre riktig konvertering av datatype med de riktige regionale innstillingene som er brukt.
Tilsvarende, for CSV -filer, kan du sjekke om dataene bruker komma eller semikoloner som avgrensere og juster dette manuelt under importen.
5] Riktig desimal og tusen separatorer
Til slutt, hvis Power Query ikke klarer å konvertere tall på grunn av uoverensstemmede desimalpunkter og tusen separatorer, kan du bruke alternativet for erstatning av verdier for å bytte feil separator (f.eks. Endre '.' Til ',' for europeiske data) for å samsvare med det forventede formatet.
Det er alt!
Lese: .
Hvordan løse DataFormat -feilen vi ikke kunne konvertere til nummer?
Forsikre deg om at kolonnene du jobber med er riktig formatert som 'tekst' eller som 'nummer'. Når du møter 'DataFormat.error: Vi kunne ikke konvertere til nummer', se på delen "Detaljer" i feilmeldingen. Dette fremhever ofte verdien eller den spesielle karakteren som Power Query ikke kan tolke som et tall. Hvis en kolonne inneholder både tekst og tall, del den i separate kolonner og bruk riktig datatype på den numeriske kolonnen.
Hvorfor tillater Excel meg ikke å konvertere til nummer?
Excel tillater kanskje ikke deg å konvertere tall som er lagret som tekst til tall hvis cellene er formatert som 'tekst' eller hvis de inneholder usynlige tegn som ikke-brytende rom eller spesielle symboler. Hvis noen av de berørte cellene blir slått sammen, kan Excel begrense visse operasjoner som tallkonvertering. Avslutt cellene før du prøver å konvertere.
Les neste: .