Страницы: 1
RSS
Power Query: Загрузка не была завершена. Как понять, в каком файле ошибка???
 
Добрый день. У меня есть 20 файлов. Сделал запрос, объединяющий их. Выгружаю результат объединения и преобразования на лист. Сижу, смотрю, как на панельке с запросами Excel перебирает файлы, показывает, сколько МБ загружено, сколько строк загружено... Долго сижу). Потом в какой-то момент выскакивает сообщение об ошибке, например, что "не найден столбец Х",  или что "ошибка формата данных: нельзя преобразовать в число". И дальше на панельке с запросами просто указывается "! Загрузка не была завершена" без предложения перейти к ошибкам. Тот фрагмент данных, который отображается в редакторе PQ, никаких ошибок, соответственно, не содержит)
Одну ошибку мне удалось найти: я сидел и наблюдал, на загрузке какого файла эксель выдает сообщение об ошибке и прекращает загрузку. Но это же ТРЭШ! А если файлов 100, 1000...)
Вопрос: каким образом я могу выяснить, в каких файлах из 20 возникают эти ошибки?
 
futurama3000, у вас в запросе есть шаг с названием Вызов пользовательской функции или Invoke custom function. Смотря какой язык. В редакторе запросов тыкаете в него. И смотрите новый столбец, если там написано Table, значит все хорошо, если Error, значит тут и зарыта ваша собака.
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо! Это помогло в случае, когда отсутствует столбец. Теперь появляется ошибка "[DataFormatError] Недопустимое значение ячейки #N/A". И на шаге вызова настраиваемой функции для каждого файла возвращено Table. Т.е. файл с ошибкой не определен.
 
futurama3000, значит в ваших исходниках используются формулы экселя и в одном их файлов они выдают ошибку  #Н/Д.
Вот горшок пустой, он предмет простой...
 
PooHkrd, так это понятно, что где-то есть косяк) не понятно, где))
Изменено: futurama3000 - 05.03.2022 18:53:24
 
Нашел косячный файл методом сплошного перебора.
Интересный момент получается. В источнике есть ошибка НД(). Я загружаю его в PQ, затем фильтрую строки по некоторому алгоритму. И что же получается после фильтрации? Все строки с ошибками, которые не соответствовали параметрам фильтрации, не убрались из данных, а очутились внизу таблицы как одна строка: Error Error Error Error. И после с ней уже ничего не сделаешь: замена ошибок не помогает, удаление строк в ошибками тоже не помогает. Данные с такой строкой на лист не выгружаются, найти такую ошибку невозможно, не проверяя все источники.
Мораль такова: выявить/заменить/удалить ошибки до каких либо действий с данными.
Изменено: futurama3000 - 05.03.2022 18:56:26
 
Цитата
написал:
Мораль такова: выявить/заменить/удалить ошибки до каких либо действий с данными
+++!   :)  И хорошо, что Вы заметили:
Цитата
написал:
найти такую ошибку невозможно, не проверяя все источники.
 
Цитата
futurama3000 написал:
замена ошибок не помогает, удаление строк в ошибками тоже не помогает.
Смотря на каком этапе это все делать. Если в запросе примере сразу после поднятия заголовков выделить все столбцы и сделать замену ошибок на null, а потом уже делать все преобразования, то по идее должно сработать.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх