Power Query: Поставщики с минимальной ценой (нестандартная группировка)

Поделиться
HTML-код
  • Опубликовано: 15 окт 2024
  • В этом видео мы рассмотрим два способа решения задачи «Поставщики с минимальной ценой» с помощью Power Query и сравним скорость их обновления.
    00:45 Постановка и описание задачи
    02:13 Способ 1: Написание формул M
    24:46 Способ 2: Решение с помощью интерфейса (кнопочное решение)
    34:40 Сравнение скорости обновления запросов
    Первое видео про нестандартную группировку: • Power Query: нестандар...
    Канал Максима Уварова и Максима Зеленского про Power BI: / bitvru
    Файл тут: yadi.sk/i/BvHp...
    Приглашаю всех желающих освоить Power Query на свой курс «Разработка запросов Power Query в Excel (с изучением языка M)».
    Описание курса и регистрация доступны по ссылке: bit.ly/3ofVZrr
    Освоить основы Power Query Вы можете на моём бесплатном курсе «Основы Power Query».
    Описание курса и регистрация доступны по ссылке: bit.ly/3jlC5rx

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

  • @МиссА-о6с
    @МиссА-о6с Год назад

    Преподаватель от Бога Excel

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

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

  • @jenyura
    @jenyura 4 года назад +4

    Подтверждаю, Сергей великолепный преподаватель

    • @jenyura
      @jenyura 4 года назад +1

      Сергей, подскажите, как замерять время через pq

    • @PowerExcelTrainingSOZH
      @PowerExcelTrainingSOZH  4 года назад

      @@jenyura вот тут хорошая ветка на эту тему, там обсуждается несколько вариантов
      www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=102852&TITLE_SEO=102852-vremya-obnovleniya-zaprosov-power-query&tags=UDF

  • @alisanotsleep
    @alisanotsleep 4 года назад +1

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

  • @kryptonets
    @kryptonets 3 года назад +1

    Сам того не зная пользовался способом Максима Зеленского пару лет))))

  • @mrWarvik
    @mrWarvik 4 года назад

    Почти "интерфейсное" решение последнего шага запроса qMinSupplierFilter после строки "Строки с примененным фильтром" еще раз сгруппировать( =Table.Group(#"Строки с примененным фильтром", {"Товар", "Мин.цена"}, {{"Tab", each _, type table}}) ), затем добавить столбец со списком поставщиков(= Table.AddColumn(#"Сгруппированные строки1", "Поставщики", each [Tab][Поставщик])) и развернуть с разделителем (= Table.TransformColumns(#"Добавлен пользовательский объект", {"Поставщики", each Text.Combine(List.Transform(_, Text.From), ","), type text}) .

    • @PowerExcelTrainingSOZH
      @PowerExcelTrainingSOZH  4 года назад

      Виталий, проверю в ближайшее время, но уже чувствую, что рабочая идея. Спасибо!

    • @PowerExcelTrainingSOZH
      @PowerExcelTrainingSOZH  4 года назад

      Виталий, всё равно придётся ссылаться на столбец таблицы и писать Text.Combine. Или я чего-то не понял?

  • @ДмитрийНикитин-и8о
    @ДмитрийНикитин-и8о 8 месяцев назад

    Мне с переменными сложно, поэтому я делал через вложенные блоки let.
    Принцип такой: я вывел N строк таблицы с минимальным значением цены, а N привязал к числу повторов в таблице самого минимального значения.
    После добавления столбца Rows, где в каждой ячейке сгруппированная таблица, добавил столбец:
    #"Добавлен пользовательский объект" =
    Table.AddColumn(
    #"Сгруппированные строки", "Пользовательский",
    each let
    Таблица = [Rows]
    in Table.MinN(Таблица, "Цена", List.Count(List.Select(Таблица[Цена], each _ = List.Min(Таблица[Цена]) ) )
    ))
    То есть я внутри шага с добавлением столбца задал как бы ещё один шаг "Таблица" и присвоил этому шагу значения в столбце "Rows", то есть те самые таблицы в ячейках. И далее уже ссылался на шаг "Таблица", подразумевая под ним эти самые таблицы в ячейках
    Я пробовал напрямую, без вложенного блока let, но PQ выдавал ошибку