Power Query Ошибки №17. Удаление дубликатов, Подводные камни Table. Distinct

Поделиться
HTML-код
  • Опубликовано: 10 янв 2022
  • Что может пойти не так при использовании функции удаления дубликатов.
    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/ba...
    Файлы для спонсоров ВК: comrade.excel?w=wall-1...
    Файлы для спонсоров RUclips: • Post
    Страница урока на сайте: comrade-xl.ru/2021/12/27/pq-e...

Комментарии • 33

  • @comrade_excel
    @comrade_excel  2 года назад

    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/bac738c2-ecc4-4208-983f-37e647cb1db8?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_47
    Файлы для спонсоров RUclips: ruclips.net/user/postUgkx0jpapOykb9u2gnpNA6v1BA1SaAhjsbwZ
    Страница урока на сайте: comrade-xl.ru/2021/12/27/pq-errors-distinct/

  • @agniabordeaux8277
    @agniabordeaux8277 11 месяцев назад

    Отличный у Вас контент, который сэкономил много времени! Спасибо!

  • @mandarina2016
    @mandarina2016 2 года назад +1

    Спасибо большое, Тимур!!! У тебя супер контент! Такие уроки очень нужны. Особенно про ловушки. Там и ошибки не выдаст и незаметно сделается что-то не так 😬. Успехов и удачи в Новом году!

  • @Gunselinger
    @Gunselinger 2 года назад

    Спасибо большое! Решение давнишней проблемы !

  • @olhakolibabchuk7228
    @olhakolibabchuk7228 2 года назад

    Спасибо. Очень полезное видео 🤩

  • @user-wy1wq6lj4l
    @user-wy1wq6lj4l 2 года назад

    Супер! Спасибо!

  • @Leon-tw3nt
    @Leon-tw3nt 2 года назад

    Разобрались с очередной ловушкой)

  • @Shorek_chelvok
    @Shorek_chelvok Год назад

    это жесть

  • @semenizer11
    @semenizer11 2 года назад

    Спасибо большое за урок! Подскажите, пожалуйста, существует возможность в данной формуле прописать условие: удалить дубликаты, при этом оставив пустые ячейки?

  • @user-qy5ff2ov4b
    @user-qy5ff2ov4b 2 года назад +5

    А если объем исходных данных будет большим в сотни тысяч строк, то table.buffer не съест (перегрузит) оперативку? Как вариант перед удалением дубликатов можно добавить столбец индекса, тогда удаление будет правильным, после удалить этот столбец.

    • @comrade_excel
      @comrade_excel  2 года назад

      Да, вы правы, можно удалить дубликаты и без функции удаления дубликатов.

    • @user-qy5ff2ov4b
      @user-qy5ff2ov4b 2 года назад +1

      Я имел ввиду то, что вставленный столбец индекса после сортировки позволяет PQ правильно определить удаляемые дубликаты функцией удаления дубликатов, т.е. по сути получается тот же эффект, который создаёт table.buffer.
      В этом случае PQ уже не хаотично удаляет дубликаты, а где-то в мозгах ориентируется по столбцу индекса, который определяет выстроенную очередность повторяющихся данных

    • @comrade_excel
      @comrade_excel  2 года назад +3

      @@user-qy5ff2ov4b Удивительно. Спасибо! Об этом явно нужно рассказать в дополнительном уроке.

    • @user-qy5ff2ov4b
      @user-qy5ff2ov4b 2 года назад

      Из ваших уроков тоже узнаю много нового и интересного! Спасибо!

    • @MogalSherif
      @MogalSherif 2 года назад +1

      @@user-qy5ff2ov4b Как я понимаю, 100% уверенности в этом не будет. Думаю, удалять дубликаты нужно именно там, где нужно просто удалить дубликаты, а не решать ещё попутно несколько задач.

  • @Crossfire-fd8gy
    @Crossfire-fd8gy Год назад

    Спасибо! А как избежать такой же ловушки при вычислении меры в DAX? Понятно что как-то через distinctcount. Но мне нужно чтобы он посчитал именно по последнему добавленному дубликату.

    • @Crossfire-fd8gy
      @Crossfire-fd8gy Год назад

      на практике я хз ка кон вообще считает. Допустим отчет накопительный по дням. Номера заказов могут кочевать изо дня в день, так вот для подсчета нужен именно самый последний по дате добавления в отчет.

  • @TheMaayun
    @TheMaayun 2 года назад

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

  • @Shorek_chelvok
    @Shorek_chelvok Год назад

    у меня сложилось впечатление что удаляя дубликаты PQ ориентируется на очередность строк в источнике

  • @MogalSherif
    @MogalSherif 2 года назад +2

    Это даже не ловушка, а баг powerquery. Где гарантия, что он другие функции так применять не будет? Какой смысл в "шагах" тогда?

    • @comrade_excel
      @comrade_excel  2 года назад

      Вы правы в том, что это не единственный случай в Power Query, когда порядок строк не гарантирован. Возможно, это и не баг, потому что в других продуктах тоже есть ситуации, в которых не гарантируется сохранение порядка строк.

    • @MogalSherif
      @MogalSherif 2 года назад +1

      @@user-to2jr3zr8t Не соглашусь в том плане, что в powerquery используются "шаги". Т.е. все последующие действия он осуществляет в отношении предыдущей "таблицы" данных, если явного, иного не указано. Во всяком случае я его логику всегда так понимал. В данном случае шаг сортировки есть, а дубликаты извлекаются из другого набора и явно этого не видно. Читаю описание функции Table.Buffer() и явного его применения в данной ситуации не вижу. Собственно она вообще для другого создана. Поэтому, пока больше к багу склоняюсь :)

    • @MogalSherif
      @MogalSherif 2 года назад

      @@comrade_excel в каких например?

    • @comrade_excel
      @comrade_excel  2 года назад

      @@MogalSherif В SQL тоже есть ситуации, в которых порядок строк не гарантирован. Я думаю, что это нельзя назвать багом, потому что нигде в описании Table.Distinct не написано, что удаляется только первый случай появления. Он ведь удаляет дубликаты? Удаляет, а как он это делает уже совсем другой вопрос.

    • @comrade_excel
      @comrade_excel  2 года назад

      Скорее всего это не баг. В документации Power Query в разделе Support and Troubleshooting - Common Issues написано об этом. Там рекомендуется применять Table.Buffer, т. е. как я показал в видео.