Страницы: 1
RSS
Сравнение цен от разных поставщиком с условием.
 
Добрый день.
Пробую сравнить данные из нескольких таблиц с ценами, которые обединил в одну таблицу через Power Query.
Не знаю, каким образом сравнить цены по столбцу Е, как уникалные значения столбцы B+C+D
Принцип в том, чтобы, чтобы получить в итоге таблицу или столбцы рядом с указанием на меньшую цену, а также вторую и третью меньшую цены с указанием постащика (А).
В примере только часть таблицы с одной наименованием товара. Вся таблица свыше 10000 строк и около 100 позиций товара.
Мне бы понять способ, как решить задачу, дальше уже сам буду подстраивать под свою реальную таблицу.

Похожие запросы и обсужденмия были, но именно такого не нашел.
 
Сводная таблица?
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, но не так.
Надо вывести инфо, чтобы видеть  меньшую цену и наименование поставщика из столбца А, а также вторую и третью цены.
 
А вот с эти как быть?
Цитата
draginoid написал: как уникальные значения столбцы B+C+D
Покажите в файле желаемый результат, сделанный вручную.
Согласие есть продукт при полном непротивлении сторон
 
Добавил лист result с примером, кам +- хотелось бы получить результат.
Изменено: draginoid - 12.06.2025 10:27:04
 
код
Пришелец-прораб.
 
Спасибо!
Похоже так, как надо!
Останется только применить к своей полной таблице.
Просто не будет, похоже :)
 
AlienSx,

Вы мне здорово помогли, только не понимаю, что поменять в коде, если добавляю дополнительные столбцы (не участвуют в подборе цены), и, когда меняю название столбцов, по которым идет подсчет цены.
На синтаксис не ругается, но в столбцах вывода результата показывает ошибку.
И по поводу таблицы результата: она должна появится автоматом, или надо создать верхнюю строку?
Это мой первый опыт по Power Query, сильно не пинайте.
 
Цитата
draginoid написал:
когда меняю название столбцов, по которым идет подсчет цены.
это которые Supplier & Price в примере?
Вот в таком варианте кода

вам достаточно поменять наименования столбцов с ценой и поставщиком (первые 2 строки кода) и код отработает эти названия, а также не будет зависеть от остальных (по которым, очевидно, группируемся).
А последний вопрос (про автомат) - не понял. Код формирует таблицу, которую надо выгрузить на лист. Таблица выгружается с теми наименованиями столбцов, которые определены автором кода.
Изменено: AlienSx - 12.06.2025 15:57:24
Пришелец-прораб.
 
Спасибо, вроде, получается :)
Еще вопрос: где выставляются параметры таблицы результата, в каком месте она появляется?
 
Цитата
draginoid написал:
в каком месте она появляется?
при выгрузке на лист вам задавали такой вопрос.
Пришелец-прораб.
 
Извиняюсь, немного не понял, где задавали.
Мне понять бы, где их можно указать в коде - или на том же листе или на новый лист.

P.S.
Понял принцип и создал на новом листе. :)
Изменено: draginoid - 13.06.2025 08:33:44
 
Еще хотел бы спросить.
Сейчас, если в каком то поле с ценой хоть у одного поставшика она не указана, то ее и показывает, как лучшую.
Как подправить код, чтобы отсутсвие цены или нулевую цену показывало как, например "null", но не лучшую?
 
Цитата
draginoid написал:
чтобы отсутствие цены или нулевую цену показывало как, например "null", но не лучшую?
если отфильтровать такие значения - не вариант, то надо писать собственный критерий сравнения при сортировке. В качестве примера:
Код
List.Sort(
    {100, 200, 0, 5, null},
    (x, y) => Value.Compare(x, y) * (if List.ContainsAny({x, y}, {0, null}) then -1 else 1)
)

Это достаточно подробно описано в документации
Пришелец-прораб.
 
Спасибо.
А как правильно вставить этот код?
Вставляю на этапе где List.Sort, ругается
 
Цитата
драгиноид написал:
А как правильно вставить этот код?
Скрытый текст
Пришелец-прораб.
 
Решение макросом
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Большое спасибо!
Надеюсь, кому-то пригодится такое решение тоже.
 
Тоже супер!
Спасибо
 
Добрый день.
Приподниму тему.
Как подправить код, чтобы столбцы Type и Nr не участвовали в сортировке и сравнении по цене, а переносились бы в столбцы с результатом вместе с поставщком и ценой? То есть сравнение только цены, a в таблице результата:
Type 01Nr 01Price 01Supplier 01Type 02Nr 02Price 02Supplier 02Type 03Nr 03Price 03Supplier 03
Файл приложил.
Никак не пойму, как правильно дописать к коду
Изменено: draginoid - 09.07.2025 15:44:36 (dp)
Страницы: 1
Читают тему
Наверх