Power Query Ошибки №6. Не получается изменить тип данных (DataFormat.Error)

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 43

  • @comrade_excel
    @comrade_excel  3 роки тому +1

    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/a5463710-af27-45d5-9359-ffb6b4fbaaf4?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_25
    Файлы к уроку доступны спонсорам канала: ua-cam.com/users/postUgy2_-qbLmh3TAuP5jp4AaABCQ
    Страница урока на сайте: comrade-xl.ru/2021/06/21/pq-errors-cant-transform-type/

  • @imNirs
    @imNirs 3 роки тому +17

    Когда таких "мусорных" символов много, часто помогает противоположный подход - не удалить ненужные, а, наоборот, оставить только нужные. Т.е. если дата должна состоять из цифр и точек, то функция Text.Select([Дата], {"0".."9"}&{"."}) сразу удалит все лишнее символы вне зависимости от их положения, количества и разнообразия. Удобная функция, выручала несколько раз.

    • @comrade_excel
      @comrade_excel  3 роки тому +2

      Спасибо! Замечательный комментарий.

    • @skrald_88
      @skrald_88 3 роки тому

      Плюсую, я тоже сразу подумал про фильтрацию строго заданных символов.
      У меня такой вариант получился:
      let

      clean_datecols = Table.TransformColumns(
      get_table,
      List.Transform(
      {"Дата начала купонного периода", "Дата выплаты купона", "Дата фиксации списка держателей"},
      each {_, each Text.Select(_, {"0".."9", "."})}
      )
      ),
      typed_datecols = Table.TransformColumnTypes(
      clean_datecols,
      List.Transform(
      {"Дата начала купонного периода", "Дата выплаты купона", "Дата фиксации списка держателей"},
      each {_, Date.Type}
      )
      )
      in
      typed_datecols

  • @adeliin
    @adeliin Рік тому

    восторг! помогли справится с неразрешимой задачей! Спасибо что раскрываете особенности использования такого потрясающего инструмента как Power Query!

  • @mandarina2016
    @mandarina2016 3 роки тому +2

    Спасибо большое! Как оказывается не просто.... У меня тоже были невидимые символы. Я просто использовала -усечь. Оказывается, мне просто повезло, что сработало.🤷 Мне очень полезны Ваши уроки! Удачи и успехов Вам!

  • @dncdncdncdnc8034
    @dncdncdncdnc8034 3 роки тому

    в свое время намучался с этими невидимыми символами...
    решил таким-же способом.
    Уверен это видео сэкономит кучу нервных клеток начинающим юзерам.
    спасибо!

  • @askarsaukhimov7029
    @askarsaukhimov7029 9 місяців тому

    ты красавчик, я пол дня не мог с этим справится, даты выгружались в формате 20221112 никак не могу это исправить, оказывается все просто

  • @celtikkus
    @celtikkus 11 місяців тому

    Спасибо за видео!
    В моем случае лишних знаков не было, но проблема крылась в десятичном разделителе. После замены значений с точки на запятую формат удалось поменять на нужный.

    • @МаксимТрещенкон
      @МаксимТрещенкон 8 місяців тому

      спасибо вам. мне ваш комментарий очень помог. (сначала проделала все в видео, потом пошла по комментариям. век живи - век учись)

  • @niknik4069
    @niknik4069 3 роки тому +1

    Очень жизненно, благодарю!

  • @NotEmpty2011
    @NotEmpty2011 3 роки тому

    2:20 тут можно без создания доп. столбца, а просто: Выбрать проблемный столбец > ПКМ > Преобразование > Длина. Видим количество символов в столбце. Ок. Удаляем временный новосозданный шаг.

  • @ExcelStore
    @ExcelStore 3 роки тому +1

    Спасибо за видео

  • @NotEmpty2011
    @NotEmpty2011 3 роки тому +1

    Мой способ - в PQ скопировать ячейку c невидимками. Вставить в ворд, где включить "Отобразить все знаки". Вуаля - невидимки найдены. И потом в PQ уничтожаем невидимки через "Замена значений".

  • @ВенераКозлова-м8м

    Спасибо огромное, очень помогли!!!

  • @СветланаАгибаева-я2ы
    @СветланаАгибаева-я2ы 2 місяці тому

    Спасибо

  • @Григорий-р7щ6ц
    @Григорий-р7щ6ц Рік тому

    Здравствуйте, делал по инструкции как в видео, и как в комментарии Александра Шилова, но в моем случае не получилось поменять формат столбца или конкретной ячейки.

  • @Velant1
    @Velant1 3 роки тому

    Тимур, огромное спасибо!!!

  • @МаксимШвець-р9ч

    Подскажите, пожалуйста, а как быть с EAN кодом? В PQ числовой тип задать не получается, только текст. Загружается в Excel, как текст, а надо как число.

  • @777777851
    @777777851 4 місяці тому

    Если просто загружаешь таблицу а по столбцу в котором должна быть с типом текст query выдает ошибку чтотне удалось преобразовать в число, как быть?

  • @nbuhblhfrjy
    @nbuhblhfrjy 3 роки тому +1

    Я в таких случаях обычно просто меняю на формат «дата и время», а следующим шагом меняю уже на «дата»

    • @comrade_excel
      @comrade_excel  3 роки тому

      Я понимаю, что вы имеете в виду, но это совсем иной случай. Проверьте, если сомневаетесь.
      Здесь вообще неважно будет ли поле с датой, датой-временем, целым или дробным числом. С любым полем может возникнуть такая ошибка, если в нем есть подобные лишние невидимые символы.

    • @nbuhblhfrjy
      @nbuhblhfrjy 3 роки тому

      @@comrade_excel да, я понял ))
      Я просто имел в виду конкретно столбцы с датами, потому что в моей практике обычно такие случаи - это 95% даты.
      А так, конечно, Ваш способ более продвинут. Даже можно, наверное, сохранить таблицу с невидимыми символами и перебирать исходные строки через List.Accumulate 🤔

    • @Exelero565
      @Exelero565 3 роки тому +1

      можно нажать "анализировать дату", вместо 2 шагов останется 1

  • @aaabb753
    @aaabb753 3 роки тому

    Добрый, что сделать, чтоб при вводе настраиваемой формулы отображался список с вариантами как на 2.49 минуте?)

    • @comrade_excel
      @comrade_excel  3 роки тому

      Добрый день! Такие подсказки есть пока только в Office 365.

  • @nikbo6863
    @nikbo6863 3 роки тому

    Тимур,а если будут два символа,перенос строки и 8206,то вписываем.... each {#(fl), Charecter.FromNumber(8206)}, ""......правильно?

    • @comrade_excel
      @comrade_excel  3 роки тому

      Если 2 символа, то их можно ввести одной строкой через символ "&".

    • @nikbo6863
      @nikbo6863 3 роки тому

      Да,вот как раз из перечня или #lf или 8602

    • @comrade_excel
      @comrade_excel  3 роки тому

      @@nikbo6863 если они идут подряд, то #(lf)&Charecter.FromNumber(8206)

  • @ПахомийУшастый

    Здравствуйте, вопрос такой, почему-то PQ распознает число как текст , например "40000567+13 " и при смене на целое число , ничего не меняется (( пробовал число умножать на единицу, не помогает, формат числовой

    • @comrade_excel
      @comrade_excel  Рік тому

      Здравствуйте!
      Здесь же знак плюс. Это не число уже. Что за число должно вернуться?

    • @ПахомийУшастый
      @ПахомийУшастый Рік тому

      @@comrade_excel т.е в Excel числовой формат 40000567987, но в PQ отображается как 400006Е+11, а должно быть тоже самое число

    • @ПахомийУшастый
      @ПахомийУшастый Рік тому

      @@comrade_excel сейчас ответили на форуме что просто PQ так видит это число и оно тоже является числом , просто так отображается

  • @EktonClark
    @EktonClark 6 місяців тому

    а если месяц словом записан?

  • @Mitellstein
    @Mitellstein 3 роки тому

    Чего то скачать Файлы не удаётся.
    Хотел проверить, получится ли через интерфейс:
    Формат=>усечь, очистить.
    А потом уже тип присвоить

    • @comrade_excel
      @comrade_excel  3 роки тому

      У вас уровень спонсорства достаточный? Нужен второй или выше.

    • @Mitellstein
      @Mitellstein 3 роки тому

      Я понятия не имел об уровнях спонсорства до того как прочитал Ваш комментарий.😂

  • @Aleksander_Samar
    @Aleksander_Samar 3 роки тому

    А зачем вообще эти символы вставляются?

  • @Torino-o2x
    @Torino-o2x 7 місяців тому

    А если не то не то не помогло,что еще сделать можно

  • @ИринаТокмачева-р2н

    Спасибо за видео

  • @ПахомийУшастый
    @ПахомийУшастый 7 місяців тому

    Спасибо большое!