Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как передать Имя столбца в качестве параметра для умножения на число, Power Query. Передача наименования столбца через параметр
 
Цитата
PooHkrd написал:
Код
    [URL=#]?[/URL]       1      =Table.AddColumn (#  "Предыдущий шаг"  ,   "Требуемое распределение"  , each Record.Field(_,  "ColumnName"  )*0.8)   
 
Спасибо большое!
Как передать Имя столбца в качестве параметра для умножения на число, Power Query. Передача наименования столбца через параметр
 
Добрый день.

Задача: нужно регулярно перемножать каждое значение столбца на определенный коэффициент. Коэффициент задан жестко (допустим, 0,8). При этом, в исходном файле, Столбец, который требуется умножить на 0,8 может меняться (например, сегодня это был столбец с именем "Текущая продажа", а завтра будет "Прошлая продажа" или "Неделя 1").
Я хочу передавать имя столбца через параметр, чтобы не менять код запроса.

Создал отдельную табличку со значением параметра, куда можно вписать требуемое имя столбца для распределения.
Собственно, код получается такой:
Код
=Table.AddColumn (#"Предыдущий шаг", "Требуемое распределение", each ColumnName("ColumnName")*0.8)

Здесь конструкция ColumnName("ColumnName") как раз передает имя того столбца, каждое значение которого нужно умножить на 0,8.

Ожидаемо, я получаю ошибку Expression.Error: Не удается применить оператор * к типам Text и Number.

Как сделать так, чтобы Power Query воспринял передаваемое через параметр значение не как текст, а как имя столбца?

Спасибо.

Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
Gata,спасибо большое! Стало гораздо понятнее.
Я не дошел в рассуждениях до вспомогательной таблицы с коэффициентами и поиском значений этих коэффициентов вместо поиска итоговых значений выпуска.
Проверил - теперь можно регулировать шаг расчета путем задания верхнего ограничения на коэффициенты и получить распределение с дополнительным ограничением по производительности так, чтобы фактический выпуск на каждый час не был кратен максимальной часовой производительности (это я заменил таблицу ограничений по максимальной сумме выпуска).
К тому же, это соотносится с задачей по "вертикальному" ограничению - на столбец (максимально возможное количество выпущенных изделий зависит от места на складе) - я не стал о нем упоминать, чтобы не перегружать задачу. Теперь и по нему работает.
Ещё раз благодарю.
Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
Игорь, добрый день.
В принципе-то ничего не мешает. Вопрос в том, что Поиск решения не дает такого варианта, хотя он был бы оптимальным.
В данном примере можно предположить, что выпуск в 10-00 обозначенного объема - это требование свежести продукции - выпустить в определенный момент по предзаказу определенный ассортимент для передачи конечному потребителю.
Далее я в эти ограничения забью максимальную часовую производительность.
Но пока я не добился от Поиска решения стабильной работы на маленьком количестве данных - не хочу переходить к следующему шагу.
Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
Поднимаю вопрос.
Самому разобраться до сих пор не удалось.
Надеюсь на помощь сообщества.
Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
День добрый.
Не очень понял
Цитата
Андрей VG написал:
Так как по текущим - всё выполнено.
Целевая функция - не минимизируется. Минимальное значение целевой функции при текущих параметрах должно быть 10. У меня не получилось добиться от Поиска решения такого значения.
Я напрямую забил 10 в значение целевой функции - "В ходе поиска не удалось найти подходящего решения".
Какое значение целевой функции система выдает у вас?
Если при текущих критериях принципиально невозможно получить требуемое значение целевой функции - какого рода критерии посоветуете применить?
Поиск решения не находит оптимальное решение, распределение выпуска по времени с приоритетом более раннего
 
Добрый день.
Задача: распределить выпуск по времени с приоритетом "чем раньше, тем лучше".
Не могу понять, почему Поиск решения не справляется с такой задачей.
В прикрепленном файле, для примера, 3 продукта требуется распределить по времени выпуска с 07 до 15 часов с часовым интервалом. Известна общая потребность и дополнительное условие - часть продукции должна быть выпущена ровно в определенное время.
Для выполнения условия "чем раньше, тем лучше" я строю дополнительную таблицу, совпадающую по размеру с таблицей переменных и для каждого столбца даю порядковый номер (от 1 до 9 в примере), после этого подставляю в эту таблицу значения на основе значений из таблицы переменных: если значение в таблице переменных присутствует, то ставлю 1, если отсутствует - 0 и далее перемножаю полученное значение на порядковый номер столбца. Получается, что для соблюдения условия "чем раньше, тем лучше" сумма получаемых значений должна быть минимальной.
Поиск решения при использовании метода ОПГ распределяет равномерно по каждому дню; при эволюционном методе просит верхние ограничения переменных и всё равно неоптимально распределяет выпуск.
Подскажите, в чем ошибка?
Возможно, для такой задачи требуется использовать другие инструменты Excel или другие параметры в Поиске решения?
Спасибо.
Страницы: 1
Наверх