Страницы: 1
RSS
Power query - вставить параметр в таблицу
 
Не могу найти инструкцию как работать с параметром в PQ.
Задача следующая: нужна разный диапазон цен умножать на наценку определенную. То есть до 100 -на 5%, от 100 до 1000 на 10%.
При этом я хочу, чтобы диапазон можно было менять в таблице или в параметре.
Если менять в таблице - то долго подгружаются данные в запрос и долго идет расчет.
А вот как сделать через параметр - не знаю. Задавать параметры именно в запросе PQ - тоже возможно, это не так удобно как на листе, но и нет гемморно нежели делать в правке на каждом шагу в запросе, при необходимости изменить диапазон.
Пример файла приложил.

Спасибо.
 
Ну так  создайте запрос Q5
let A=1.05 in A
И запрос Q10
let B=1.1 in B
После чего умножайте в других запросах на Q5 или Q10. Нужно будет поменять - зашли в один запрос, и все поменяли.
Хотя лично я для параметров использую смарт-таблицы и обращаюсь в запросах потом к нужным ячейкам.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Хотя лично я для параметров использую смарт-таблицы и обращаюсь в запросах потом к нужным ячейкам.
Так вот это мне и надо по идее))
Чтобы параметры ссылались на конкретную ячейку с именем.
Можете на файле в выше показать как это сделать?)
 
PooHkrd, видимо делается через запрос все. То есть открываем запрос - делаем новый запрос на основании нужной ячейки - далее создаем параметр и выбираем новый запрос в качестве исходных данных. Так?
Тогда нет смысла делать этот параметр, а просто сразу в расчетах ссылаться на запрос.
Изменено: Денис - 22.12.2017 07:26:58
 
http://www.excel-vba.ru/chto-umeet-excel/otnositelnyj-put-k-dannym-powerquery/
Здесь ответ на ваш вопрос.
Изменено: PooHkrd - 22.12.2017 08:19:30
Вот горшок пустой, он предмет простой...
 
Денис, то же, что у Вас, но теперь запрос обращается не к листу Excel'я, а к таблице, которая находится в запросе. Это должно наверное ускорить запрос.

Код
let
    DataTable = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    ParamTable = Excel.CurrentWorkbook(){[Name="Табл_параметры"]}[Content],
    NewColumn = Table.AddColumn(DataTable, "Умножаю на наценку", each
        if [Закуп] >= ParamTable[От]{0} and [Закуп] <= ParamTable[До]{0} then 
            [Закуп] * ParamTable[Наценка]{0} 
        else if [Закуп] >= ParamTable[От]{1} and [Закуп] <= ParamTable[До]{1} then 
            [Закуп] * ParamTable[Наценка]{1}
        else 0)
in
    NewColumn
Изменено: Karataev - 24.12.2017 11:18:49
 
Karataev, Интересно - сейчас буду пробовать. Спасибо!
Страницы: 1
Читают тему
Наверх