Страницы: 1
RSS
Power BI: Подбор данных из одной таблицы в другую, Необходимо в план продаж подтянуть данные из предыдущих периодов, чтобы рассчитать предполагаемые объемы выручки
 
Люди добрые, помогите, пожалуйста!

Есть таблица с данными предыдущих продаж (Товар, клиент, менеджер, период, цена продажи, маржа).Эти данные ежемесячные и выгружаются в таблицу, где в период записывается начало месяца. Менеджеры готовят план продаж на предстоящий месяц  по каждой позиции в килограммах в разрезе клиентов. Необходимо в эту таблицу добавить информацию из предыдущей по цене и марже в разрезе клиента и менеджера. Но еще существует подвох, что месяц назад могли не продавать планируемую к продаже позицию конкретному клиенту, а продажа могла быть два или три месяца назад (т.е. необходимо подтянуть последнюю из продаж).
 
Как вариант смотрите файл.
 
Красиво!

Огромное спасибо!!!
 
Эххххххххх!

Так все классно начиналось.... При описании задачи пришлось многое упростить. В частности опустил, что между таблицами существуют связи. Да и таблиц намного больше. К сожалению из-за связей алгоритм не работает. Скорректированный файл во вложении.
 
Александр Минск, добавьте ALL по нужным таблицам

Код
Cost = 
var fProduct=TREATAS(CALCULATETABLE(VALUES(ManagerFC[Product])),'Product'[Product])
var fShop=TREATAS(CALCULATETABLE(VALUES(ManagerFC[Shop])),Shop[Shop])
var fManager=TREATAS(CALCULATETABLE(VALUES(ManagerFC[Manager])),Cost[Manager])
var fDate=CALCULATE(MAX(Cost[Date]),ALL('Product'),ALL(Shop),ALL('Календарь'),fProduct,fShop,fManager)
return
CALCULATE(MAX(Cost[Cost]),ALL('Product'),ALL(Shop),ALL('Календарь'),fProduct,fShop,fManager,Cost[Date]=fDate)
 
Спасибо, StepanWolkoff !

Да инфа подгружается. Но в таком исполнении возникает проблема, что то планирование, которое было в предыдущем месяце (и все предыдущие периоды) затирается. Т.е. в те периоды подтягивает инфу последнюю на текущий момент, а не из предыдущего месяца перед заполняемым...
 
Ну, Александр Минск, про это условие не было речи))) Просто получаем тогда значение из столбца ManagerFC[Date] и добавляем условие в переменную fDate = CALCULATE(MAX(Cost[Date]),ALL('Product'),ALL(Shop),ALL('Календарь'),fProduct,fShop,fManager, Cost[Date]<ManagerFC[Date])
 
Уже пробовал, такой вариант. К сожалению выводит ошибку
 
Александр Минск, потому что также необходимо через переменную делать. А то внутри CALCULATE весь столбец возвращается.

Код
var fDateM = ManagerFC[Date]
var fDate=CALCULATE(MAX(Cost[Date]);ALL('Product');ALL(Shop);ALL('Календарь');fProduct;fShop;fManager;Cost[Date]<fDateM)
Изменено: StepanWolkoff - 22.02.2021 16:50:17
 
Огромное спасибо, StepanWolkoff !

Вроде, все работает правильно.
Страницы: 1
Наверх