Страницы: 1
RSS
Определение ожидаемой даты оплаты в Power Query
 
Доброго времени суток!
Застрял с такой задачей: есть обновляемая таблица фактов продаж, справочник клиентов и справочник-календарь, в котором указаны рабочие и выходные дни, - пытаюсь в строке с продажей рассчитать ожидаемую дату платежа по данным из справочника клиентов, где закреплен срок отсрочки в банковских днях.
В файле-примере решил с помощью РАБДЕНЬ(), но есть инциденты с нерелевантным результатом, когда формула не учитывает рабочие субботы.
Нужно в PowerQuery в настраиваемом столбце запроса "Продажи" получить  [Дата отгрузки]+количество дней отсрочки, учитывая только дни со статусом "Р".
Прошу, умельцы, отзовитесь.
 
как-то так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Продажи"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"дата", type date}, {"№ док", type text}, {"ID клиента", Int64.Type}, {"сумма по документу", type number}}}),
    #"Merged Queries" = Table.NestedJoin(#"Измененный тип",{"ID клиента"},Клиенты,{"ID"},"Клиенты",JoinKind.LeftOuter),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Клиенты", {"Отсрочка платежа в банковских днях"}, {"Отсрочка"}),
    WorkDays = List.Buffer(List.Sort(Table.SelectRows(Календарь[[Дата],[Статус]],  each [Статус] = "Р")[Дата], Order.Ascending)),
    #"Added Custom" = Table.AddColumn(#"Expanded {0}", "Пользовательская", each List.Last(List.FirstN(List.Select(WorkDays, (wd) => wd > [дата]), [Отсрочка])))
in
    #"Added Custom"

только убедитесь, что [Отсрочка] имеет тип "целое число"
F1 творит чудеса
 
Максим Зеленский, А можно файл, а то у меня ошибка
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Максим Зеленский, благодарю! попробовал на рабочем файле, все отлично.
 
genosser, может, готовый вариант в файле покажите. у меня тоже ошибки
 
artyrH,
Цитата
Максим Зеленский написал:
только убедитесь, что [Отсрочка] имеет тип "целое число"
из справочника выгружается тип duration в моем примере
 
сначала нужно определить день платежа и исходя из того приходится он на выходной или праздничный "ловить"  из list-а первый рабочий день
Страницы: 1
Наверх