Ця публікація пояснює, як виправити?DataFormat.Error: ми не змогли перетворити на число?. Робота з даними вPower Query, чи вExcelабоPower BI, може оптимізувати аналіз і звітність. Однак помилки перетворення типів даних є типовою проблемою, з якою стикаються багато користувачів, особливо коли вони мають справу з невідповідними форматами.
Проблеми можуть призвести до невідповідності роздільників, змішаних типів даних або регіональних налаштувань, через що Power Query неправильно інтерпретує дані, що призведе до помилки перетворення, яка читається:
DataFormat.Error: ми не змогли перетворити на число. Подробиці: [error_details]
У цій публікації ми дослідимо основні причини помилки та запропонуємо практичні рішення для усунення проблеми.
Виправте DataFormat.Error: ми не змогли перетворити на число
Щоб виправитиDataFormat.Error, ми не змогли перетворити на число, при роботі з даними вPower Query, чи вExcelабоPower BIвикористовуйте ці рішення:
- Видалити автоматичне ?Змінити тип? крок
- Відфільтрувати нечислові значення
- Очистіть і стандартизуйте дані перед перетворенням типу
- Вручну встановіть роздільники та мову
- Правильні десяткові розділювачі та роздільники тисяч
Давайте розглянемо це детально.
1] Видалити автоматичний ?Change Type? крок
Power Query часто автоматично додає ?Change Type? крок після завантаження даних, щоб спробувати призначити типи даних стовпцям на основі перших 1000 рядків. Якщо ваші дані містять неузгоджені типи, наприклад числа, змішані з текстом у тому самому стовпці, цей автоматичний крок може спричинити помилку «DataFormat.Error: We could?t convert to Number».
Щоб виправити це, перейдіть доДані(в Excel) і виберітьОтримати дані > Запустити редактор Power Query(у Power BI натиснітьПеретворення даних).
У правій частині вікна редактора Power Query ви побачитеПрикладні крокипанель. Якщо є крок під назвою ?Змінений тип?, Power Query автоматично призначив типи даних. Натисніть наXпоруч із кроком для його видалення. Це припинить спроби автоматичного перетворення Power Query.
Після видалення ?Changed Type? кроці, вручну встановіть тип даних для кожного стовпця, щоб переконатися, що він правильний.
2] Відфільтрувати нечислові значення
Стовпці, що містять як текстові, так і числові значення (наприклад, «ABC 123?»), можуть спричинити спробу Power Query перетворити все на число, що призведе до наведеної вище помилки. Ви можете зробити кілька речей, щоб виправити це:
- Змініть тип даних стовпця на «Текст», використовуйтеЗамінити значенняпараметр, щоб виправити проблемний запис, а потім повернути тип даних до «Десяткове число».
- ВикористовуйтеРозділена колонкаособливість до. Потім застосуйте ?Number? типу даних до числового стовпця та поля ?Текст? тип до іншого.
- Ви також можете відфільтрувати рядки з нечисловими значеннями (яких там не повинно бути) перед перетворенням стовпця на тип даних Number.
Після фільтрації нечислових значень ви можете безпечно змінити тип даних вихідного стовпця.
3] Очистіть і стандартизуйте дані перед перетворенням типу
Дані, скопійовані з веб-сайтів або інших джерел, можуть містити нерозривні пробіли або символи, наприклад ?&? або ?,? які плутають Power Query під час спроби перетворити або об’єднати стовпці.
ЗастосуйтеЧИСТИЙабоТРИМфункція відТрансформуватименю, щоб видалити ці символи (функція TRIM видаляє зайві пробіли з тексту, залишаючи лише окремі пробіли між словами, функція CLEAN видаляє всі недруковані символи та особливо корисна для очищення даних, імпортованих із зовнішніх джерел, де можуть існувати приховані символи).
Після застосування цих функцій спробуйте знову встановити тип даних стовпця.
4] Вручну встановити роздільники та локаль
Якщо ваші дані містять регіональні налаштування, переконайтеся, що Power Query використовує правильний роздільник і мову. Наприклад, якщо ви працюєте з європейськими даними, де коми використовуються як десяткові розділювачі, вручну встановіть мову даних, перейшовши доФайл > Параметри > Параметри запиту > Регіональні налаштуванняі налаштуванняЛокальщоб відповідати джерелу даних.
Якщо це один стовпець, використовуйтеЗмінити тип > Використання мовипараметр для забезпечення належного перетворення типу даних із застосуванням правильних регіональних налаштувань.
Подібним чином для файлів CSV перевірте, чи дані використовують коми чи крапки з комою як роздільники, і вручну налаштуйте це під час імпорту.
5] Правильні десяткові розділювачі та роздільники тисяч
Нарешті, якщо Power Query не вдається перетворити числа через невідповідність десяткових знаків і роздільників тисяч, скористайтеся параметром «Замінити значення», щоб замінити неправильний роздільник (наприклад, змінити ?.? на ?,? для європейських даних), щоб відповідати очікуваному формату.
Ось і все!
читати: .
Як вирішити помилку DataFormat, яку ми не змогли перетворити на число?
Переконайтеся, що стовпці, з якими ви працюєте, правильно відформатовані як «Текст» або як «Номер». Якщо ви зіткнулися з «DataFormat.Error: We could?t convert to Number», подивіться на «Деталі» повідомлення про помилку. Це часто виділяє значення або певний символ, який Power Query не може інтерпретувати як число. Якщо стовпець містить і текст, і числа, розділіть його на окремі стовпці, а потім застосуйте правильний тип даних до числового стовпця.
Чому Excel не дозволяє мені конвертувати в числа?
Excel може не дозволяти вам перетворювати числа, збережені як текст, на числа, якщо клітинки відформатовано як «Текст» або якщо вони містять невидимі символи, такі як нерозривні пробіли або спеціальні символи. Якщо будь-яку з уражених клітинок об’єднано, Excel може обмежити певні операції, як-от перетворення чисел. Роз’єднайте клітинки перед спробою перетворення.
Читати далі: .