Страницы: 1
RSS
ВПР по множеству условий в Power Query
 
Добрый день.
Имеется действующая формула по расчету значений цены.
Как ее перенести в pq?
И возможно ли это?
Или надо создавать иную логику?
Столбец, в котором работает формула, помечен желтым.
Пытаюсь поменять расчеты формулами на pq, но в этом месте не хватает знаний для последнего столбца в таблице.
Изменено: Sanja - 09.01.2026 14:55:34
 
ВПР pq

Вашу константу я в код запихнул
Предложение по названию темы: ВПР по множеству условий в Power Query
Пришелец-прораб.
 
Цитата
написал:
Вашу константу я в код запихнулПредложение по названию темы: ВПР по множеству условий в Power Query
Спасибо.
Круто, как можно формулу тоже воткнуть в pq!

Не знаю, как поменять название темы.
И, когда попробовал поменять значение в ценах FSC, это не учлось.
FSC жестко вбито в код, как значение 20.
Отметил красным.
Можете подправить?
Изменено: draginoid - 09.01.2026 14:55:44
 
Цитата
draginoid написал:
FSC жестко вбито в код, как значение 20.
в чем я изначально признался. Поправьте сами. Подсказка здесь или здесь.
Пришелец-прораб.
 
Цитата
написал:
в чем я изначально признался. Поправьте сами. Подсказка  здесь  или  здесь .
А, ну это я уже умею :)
 
И, все таки, не получается перенести код в свой рабочий файл. Выкидывает ошибку на шаге "prices".
Что я  не так сделал?
Изменено: draginoid - 12.01.2026 17:12:07
 
Цитата
draginoid написал:
Что я  не так сделал?
а по тексту ошибки непонятно? Нет поля GSM в prices_Faro.
Пришелец-прораб.
 
Цитата
написал:
а по тексту ошибки непонятно? Нет поля GSM в prices_Faro.
Это я видел и понял. Но не могу понять, где этого поля не хватает. Вроде все просмотрел и не нахожу отличия. Ткните носом, пожалуйста.
 
Цитата
draginoid написал:
Ткните носом, пожалуйста.
издеваетесь что-ли? Написал ведь уже про prices_Faro. Посмотрите что из себя представляет вот эта таблица
Код
Excel.CurrentWorkbook(){[Name="prices_Faro"]}[Content]
Пришелец-прораб.
 
Я дико извиняюсь, не заметил, что создана умная таблица в ценах. Поправил и пробую доводить дальше до ума.
 
Осмелюсь потревожить  еще я.
Пытаюсь объединить 2 кода в 1, но получаю ошибку, смысла которой не понимаю.
Подскажите, в чем беда.
 
Цитата
draginoid написал:
получаю ошибку, смысла которой не понимаю.
в коды не смотрел. Смысл ошибки в том, что где-то что-то (скорее всего, List.PositionOf или что-то подобное) не находит соответствия по условиям и возвращает -1 вместо номера >= 0. Установление причины - ваша ответственность.
Пришелец-прораб.
 
Это я понимаю, но найти не могу никак. :(
 
Цитата
draginoid написал:
Это я понимаю, но
у вас одна табличка ищет данные в другой табличке по 2-м параметрам. Причем в каких-то строках поиск срабатывает, а в других - нет. В чем же может быть причина?  "Ну у меня два варианта..." (из сценки про сальто Делчева)
Пришелец-прораб.
 
Цитата
написал:
у вас одна табличка ищет данные в другой табличке по 2-м параметрам. Причем в каких-то строках поиск срабатывает, а в других - нет. В чем же может быть причина?  "Ну у меня два варианта..." (из сценки про сальто Делчева)
Я не так силен в , чтобы понять, в чем проблема, но хочу чаще пользоваться этим инструментом.
Понял, что ВПР ищет по неотфильтованной таблице. Берет начальную таблицу без фильтра. Не понимаю, как указать искать значения по таблице с шага:
Код
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = "FARO")),
 
Цитата
draginoid написал:
Я не так силен в , чтобы понять, в чем проблема
а тут сила не нужна. И даже знания особые не требуются, чтобы понять, что никакой поиск никогда не найдет значение Rūšis = "PUR" в таблице prices_Faro в соответствующем столбце, если его (значения PUR) там тупо НЕТ.
Цитата
draginoid написал:
Не понимаю, как указать искать значения по таблице с шага
понять Вы не можете потому, что знаний сильно не хватает. Сужу по "качеству" вопросов. А вопросов могло бы быть гораздо меньше, если бы Вы начали самостоятельнь получать эти самые знания инструмента, которым Вы хотите пользоваться чаще (спецификация языка, статьи, книги, курсы): Ben Gribaudo's Power Query M Primer, POWER QUERY И ЯЗЫК М. ПОДРОБНОЕ РУКОВОДСТВО, Power Query M formula language, Power Query - язык M с buchlotnik
Пришелец-прораб.
 
Цитата
написал:
понять Вы не можете потому, что знаний сильно не хватает. Сужу по "качеству" вопросов.
Вы правы.

Никак не нахожу инфо (или плохо ищу), как вместо одной таблицы указать другую.
Не хочу создавать промежуточную таблицу с выгрузкой на лист. А как без выгрузки, не знаю.

Помогите, пожалуйста.
Изменено: draginoid - 14.01.2026 17:00:02
 
draginoid, вы меня в тупик ставите своими вопросами. Сейчас это выглядит так:
в коде есть 2 индентификатора - Source и #Removed Columns", которым присвоены какие-то значения. Как сделать так, чтобы #Removed Columns" совпадал по значению с Source? Ответ: замените в коде то, что идет после #Removed Columns" на Source. Т.е. просто #Removed Columns" = Source. На этом для себя я эту дискуссию закрываю, т.к. в качестве ответа на вопрос, обозначенный в теме, я уже давно предоставил код, который работает с теми данными, с которыми работает ваша функция Excel.
Пришелец-прораб.
 
Спасибо за помощь, попробую.
 
Добрый день.
Хочу приподнять эту тему.
Прошлое задание я осилил с вашей помощью.
Появился вариант с усложнением и дополнением условий по подсчету цены.
Часть решил, но не получается никак добавить условия по корректировке цены с листа "Stora prices":
1. по типу (таблица Coating)
2. доплате за вес (таблица Weight).
Лист с подсчетом с помощью формул я оставил (STORA). Там все считается корректно. Также перенес результаты подсчетов на лист, куда выводятся результаты pq, чтобы наглядно увидеть, правильно ли срабатывает pq.
Чaсть строк, где видно, что не учитываюстя дополнительные факторы в столбце ">=20tbe", выделил цветом.
Можете помочь с решением этой задачи? Или пояснить, что и как надо делать.
Понемногу осваиваю поверь методом проб и ошибок, прошу слино не ругать и не пинать.
 
draginoid, добрый день. Что касается меня, то я - пас. Вы даже не объяснили как должна складываться цена с учетом coating & weight, а желание копаться в ваших формулах, чтобы понять как оно должно работать, увы, отсутствует. Уж простите. Советую обратиться в раздел Работа. Там за ваши деньги можете сколь угодно долго мучать "исполнителя"  :D
Пришелец-прораб.
 
Цитата
написал:
Что касается меня, то я - пас. Вы даже не объяснили как должна складываться цена с учетом coating & weight, а желание копаться в ваших формулах, чтобы понять как оно должно работать, увы, отсутствует. Уж простите. Советую обратиться в раздел Работа. Там за ваши деньги можете сколь угодно долго мучать "исполнителя"  
Мои извинения.
Я столько уже провозился с этими таблицами, что забыл о том, что посторонним это все неясно.
Хочу исправится.
Не получается у меня сделать без промежуточных в редакторе. Шагов много, но понемногу двигаюсь вперед.
Поясню суть.
Когда в столбце G на листе Stora rolls pq значение, отличное от НЕ, ищем значение в таблице Coating на листе с ценами и добавляем найденное значение к результату в столбце ">=20tbe".
Далее надо бы к таблице вывода pq добавить столбцы, идентичные столбцам с формулами от P до S, которых добавляется наценка за вес.
То есть, если столбец "1-<2 tons", ищем такое же значение на листе с ценами в таблице "Upcharge by weight".
Идентично с другими столбцами с весом, по примеру, думаю я уже закончу сам.
Спасибо заранее за помощь.
Изменено: draginoid - 30.01.2026 00:21:55
 
сделал так, как понял. Поправил код запроса.
Пришелец-прораб.
 
Цитата
написал:
сделал так, как понял. Поправил код запроса.
Огромное спасибо!
Все так, как надо, сравнил с результатами в таблице с формулами - 100% совпадение.
Я уже сам пытался делать, но просто копируя предыдущее шаги, громоздко и неуклюже.
На этих приметрах мне будет легче двигатэся вперед в освоении pq.
И спасибо за примечания в коде.
Хотел бы еще спросить, чем отличается код в одной строке от разбитого на несколько строк?
Код
 // Price by VLOOKUP
    FSC_extra = Excel.CurrentWorkbook(){[Name = "FSC_extra"]}[Content][Column1]{0}, //30,
    Source = #"Stora filtered",
    prices = List.Buffer(
        Table.ToList(
            Table.SelectRows(
                Excel.CurrentWorkbook(){[Name="GSM_prices"]}[Content],
                (x) => x[GSM] <> null
            ),
            (x) => x
        )
    ),
Часто это у Вас вижу.
Изменено: draginoid - 30.01.2026 09:54:34
 
Цитата
draginoid написал:
чем отличается код в одной строке от разбитого на несколько строк?
степенью читаемости кода. Применяется по желанию автора и в зависимости от того нужно ли эту величину (скаляр, таблицу, запись, список...) использовать в коде неоднократно или нет.
Цитата
draginoid написал:
На этих приметрах мне будет легче двигатэся вперед в освоении pq.
сомнительно. В #16 я назвал источники, которые на самом деле помогут.
Изменено: AlienSx - 30.01.2026 10:03:51
Пришелец-прораб.
 
AlienSx, Перенес решение с изменениями под свой реальный файл и соединил с решением, которые сделал с помощью форума ранее. Все работает.
Большое спасибо за помощь!
Страницы: 1
Читают тему
Наверх