Страницы: 1
RSS
Расчет платежей по кредиту в Power Query/Power Pivot
 
Здравствуйте!
Подскажите, пожалуйста, можно ли с помощью Power Query/Power pivot реализовать расчет платежей по кредиту(погашение долга, погашение процентов)?
В приложенном файле пример расчета по одному договору. На входе есть сумма кредита, ставка, срок
В реальной жизни реестр содержит более 50 тысяч сделок. У каждой свой срок (количество периодов). Сейчас эту задачу решаю с помощью vba, но хотелось попробовать перейти на power query/power pivot
Пока только начал знакомство с этими надстройками и самостоятельно информации не нашел
 
Доброе время суток
Цитата
qwerty64 написал:
но хотелось попробовать перейти на power query/power pivot
Power Query - это ETL инструмент. В нём нет функций ПЛТ, ПРПЛТ. Если вы представите алгоритм расчёта и пример вывода результата для нескольких
Цитата
qwerty64 написал:
На входе есть сумма кредита, ставка, срок
, то можно подумать.
 
Андрей, спасибо что откликнулись!
В приложенном файле добавил расчет по нескольким сделкам без использования встроенных функций Excel
 
Вариант для подключения (Таблица1 на диапазоне A3:D12).
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    addMonthPayment = Table.AddColumn(Source, "Платёж в месяц", each ([Ставка] / 12 *Number.Power(1 + [Ставка] / 12, [#"Срок, мес"])) / (Number.Power(1 + [Ставка] / 12, [#"Срок, мес"]) - 1) * [Сумма]),
    addPeriodInfo = Table.AddColumn(addMonthPayment, "info", (rec) =>
    Table.FromRecords(
        List.Generate(
            () => [i = 1, s = rec[Сумма], p = s * rec[Ставка] / 12, b = rec[#"Платёж в месяц"] - p],
            each [i] <= rec[#"Срок, мес"],
            each [i = [i] + 1, s = [s] - [b], p = s * rec[Ставка] / 12, b = rec[#"Платёж в месяц"] - p],
            each [[i], [s], [p], [b]]
        )
    )),
    #"Expanded {0}" = Table.ExpandTableColumn(addPeriodInfo, "info", {"i", "s", "p", "b"}, {"№ месяца", "Остаток", "Проценты", "Погашение"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded {0}",{{"№ слелки", type text}, {"Срок, мес", Int64.Type}, {"№ месяца", Int64.Type}, {"Сумма", type number}, {"Ставка", Percentage.Type}, {"Платёж в месяц", type number}, {"Остаток", type number}, {"Проценты", type number}, {"Погашение", type number}})
in
    #"Changed Type"

Далее по подключению создаём сводную для вывода в требуемом виде
 
Андрей, то что нужно, Большое спасибо!
Выглядит очень красиво!
Можете, пожалуйста, подсказать, где можно почитать теорию по приему, который Вы применили при создании и наполнении таблицы "info"?
 
Цитата
Student64 написал:
где можно почитать теорию по приему
Например, Генератор произвольных списков в Power Query и Power BI, Power Query: как перестать бояться функционального программирования и начать работать в расширенном редакторе запросов - от двух зубров этого дела: Максима Зеленского и Сергея Лосева. Легко гуглится и яндекскится :)
 
Андрей, спасибо!
Страницы: 1
Наверх