Страницы: 1
RSS
Расчеты в PP по заранее прописаным формулам
 
Добрый день.
Как обычно, в основе экономическая модель бюджета, на основе которого рассчитываются различные экономические показатели. Как рассчитать конкретный показатель в PQ мы разобрали, но как быть если таких показателей много и формулы различной сложности и возможность быстрого редактирования хотелось бы. Есть идея прописать все расчетные формулы в таблице наподобие этой:
СтрСтатьяФормула
300Расход310+320+330
400Прибыль300-100
и произвести последовательный расчет с добавлением результатов в таблицу, где например статья Расход 300 = сумме значений по строкам 310+320+330 и т.д.

Вопрос пока риторический, возможен ли такой расчет в принципе? Если да, то как?
Тестовый файл с примером как обычно прилагаю)  
Изменено: TankSpb - 13.11.2019 14:04:15
 
Вы желаете писать формулы на листе, и чтобы от этого по разному рассчитывались меры? Или я не так понял?
Вот горшок пустой, он предмет простой...
 
PooHkrd, в теории да, ведь можно подтянуть формулу, с помощью функции замены поменять номер строки на значение и вычислить!? В свое время я делал такую функцию на VBA.

На сколько я помню в эксель нет возможности вычислить текстовую формулу, приходилось делать функцию с использованием Application.Evaluate. PP может как то решить эту задачу?
Изменено: TankSpb - 13.11.2019 15:15:04
 
Доброе время суток
Цитата
TankSpb написал:
Как рассчитать конкретный показатель в PQ мы разобрали, но как быть если таких показателей много и формулы различной сложности и возможность быстрого редактирования хотелось бы
Цитата
TankSpb написал:
делать функцию с использованием Application.Evaluate
Expression.Evaluate() In Power Query/M в помощь.
Изменено: Андрей VG - 13.11.2019 15:29:57
 
Лично мне такой функции в DAX не известно. Вот в PQ такое можно провернуть при помощи Expression.Evaluate.
Вот горшок пустой, он предмет простой...
 
PooHkrd, т.е. в теории можно в PQ к таблице с исходными данными добавить строки из таблицы "Формулы" подменив номера строк (Стр) на соответствующие значения и произвести вычисление!?  
Изменено: TankSpb - 13.11.2019 16:17:33
 
Нет, это значит что часть кода или весь код запроса на языке М можно внести в именованную ячейку листа, а в самом запросе просто вытащить это значение в виде текста, и при помощи функции Expression.Evaluate выполнить этот код не заходя в редактор запроса.
На самом деле это предоставляет всякие интересные возможности, но только с точки зрения хранения кода типовых функций, которые используются в разных инструментах, и если нужно исправить баг или прикрутить новую фичу в конкретной функции то исправляется только текст в одном текстовом файле, а не в куче разных инструментов. Я это так использую.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх