Questo post spiega come risolvere?DataFormat.Errore: impossibile convertire in numero?. Lavorare con i dati inDomanda di potenza, sia dentroEccellereOPotenza BI, può semplificare l'analisi e il reporting. Tuttavia, gli errori di conversione del tipo di dati sono una frustrazione comune che molti utenti devono affrontare, soprattutto quando hanno a che fare con formati incoerenti.
Che si tratti di delimitatori non corrispondenti, tipi di dati misti o impostazioni internazionali, i problemi possono far sì che Power Query interpreti erroneamente i dati, portando a un errore di conversione che recita:
DataFormat.Errore: impossibile convertire in numero. Dettagli: [error_details]
In questo post esploreremo le cause principali dell'errore e forniremo soluzioni pratiche per risolvere il problema.
Correzione DataFormat.Error: non è stato possibile convertire in Number
Per sistemareDataFormat.Errore. Impossibile convertire in numero, quando si lavora con i dati inDomanda di potenza, sia dentroEccellereOPotenza BIusa queste soluzioni:
- Eliminare il comando automatico ?Cambia tipo? fare un passo
- Filtra i valori non numerici
- Pulisci e standardizza i dati prima della conversione del tipo
- Imposta manualmente i delimitatori e le impostazioni locali
- Correggere i separatori decimali e delle migliaia
Vediamolo in dettaglio.
1] Eliminare il comando automatico ?Cambia tipo? fare un passo
Power Query spesso aggiunge automaticamente un? Tipo di modifica? passaggio dopo il caricamento dei dati per provare ad assegnare i tipi di dati alle colonne in base alle prime 1.000 righe. Se i tuoi dati includono tipi incoerenti, come numeri mescolati con testo nella stessa colonna, questo passaggio automatico può causare ?DataFormat.Error: Impossibile convertire in Numero?.
Per risolvere questo problema, vai aDatischeda (in Excel) e selezionareOttieni dati > Avvia editor di Power Query(in Power BI fare clic suTrasforma i dati).
Sul lato destro della finestra dell'editor di Power Query verrà visualizzato il filePassaggi applicatiriquadro. Se c'è un passaggio chiamato ?Tipo modificato?, Power Query ha assegnato automaticamente i tipi di dati. Fare clic suXaccanto al passaggio per eliminarlo. Ciò impedirà a Power Query di tentare conversioni automatiche.
Dopo aver eliminato il ?Tipo modificato? passaggio, imposta manualmente il tipo di dati di ciascuna colonna per assicurarti che sia corretto.
2] Filtra i valori non numerici
Le colonne contenenti sia testo che valori numerici (ad esempio, ?ABC 123?) possono far sì che Power Query tenti di convertire tutto in un numero, causando l'errore precedente. Puoi fare un paio di cose per risolvere questo problema:
- Cambia il tipo di dati della colonna in "Testo", usa il fileSostituisci valoriopzione per correggere la voce problematica e quindi ripristinare il tipo di dati su "Numero decimale".
- Usa ilColonna divisacaratteristica a. Quindi applicare il? Numero? tipo di dati nella colonna numerica e nel? Testo? digitare all'altro.
- Puoi anche filtrare le righe con valori non numerici (che non dovrebbero essere presenti) prima di convertire la colonna nel tipo di dati Numero.
Dopo aver filtrato i valori non numerici, puoi modificare in tutta sicurezza il tipo di dati della colonna originale.
3] Pulisci e standardizza i dati prima della conversione del tipo
I dati copiati da siti Web o altre fonti possono includere spazi unificatori o simboli come ?&? O ?,? che confondono Power Query durante il tentativo di convertire o unire colonne.
Applicare ilPULITOOORDINAREfunzione daTrasformaremenu per rimuovere questi caratteri (la funzione TRIM rimuove gli spazi extra dal testo, lasciando solo singoli spazi tra le parole, la funzione CLEAN rimuove tutti i caratteri non stampabili ed è particolarmente utile per pulire i dati importati da fonti esterne dove possono esistere caratteri nascosti).
Dopo aver applicato queste funzioni, prova a impostare nuovamente il tipo di dati della colonna.
4] Imposta manualmente i delimitatori e le impostazioni locali
Se i dati riguardano impostazioni regionali, assicurati che Power Query utilizzi il delimitatore e le impostazioni internazionali corretti. Ad esempio, se stai lavorando con dati europei in cui le virgole vengono utilizzate come separatori decimali, imposta manualmente la locale dei dati andando suFile > Opzioni > Opzioni query > Impostazioni internazionalie regolando ilLocaleper corrispondere all'origine dati.
Se si tratta di una singola colonna, utilizzare il fileCambia tipo > Utilizzo delle impostazioni localiopzione per garantire la corretta conversione del tipo di dati con le corrette impostazioni regionali applicate.
Allo stesso modo, per i file CSV, controlla se i dati utilizzano virgole o punti e virgola come delimitatori e regolalo manualmente durante l'importazione.
5] Correggere i separatori decimali e delle migliaia
Infine, se Power Query non riesce a convertire i numeri a causa di punti decimali e separatori delle migliaia non corrispondenti, utilizzare l'opzione Sostituisci valori per scambiare il separatore errato (ad esempio, modificare ?.? in ?,? per i dati europei) in modo che corrisponda al formato previsto.
Questo è tutto!
Leggere: .
Come risolvere l'errore DataFormat che non è stato possibile convertire in numero?
Assicurati che le colonne su cui stai lavorando siano formattate correttamente come "Testo" o come? Numero?. Quando incontri il messaggio ?DataFormat.Error: Impossibile convertire in numero?, guarda la sezione ?Dettagli? sezione del messaggio di errore. Ciò spesso evidenzia il valore o un carattere particolare che Power Query non può interpretare come numero. Se una colonna contiene sia testo che numeri, suddividila in colonne separate e quindi applica il tipo di dati corretto alla colonna numerica.
Perché Excel non mi consente di convertire in numero?
Excel potrebbe non consentire di convertire i numeri memorizzati come testo in numeri se le celle sono formattate come "Testo" o se contengono caratteri invisibili come spazi unificatori o simboli speciali. Se una qualsiasi delle celle interessate viene unita, Excel potrebbe limitare alcune operazioni come la conversione dei numeri. Separa le celle prima di tentare la conversione.
Leggi dopo: .