Страницы: 1
RSS
DAX, Power Pivot. Ежедневные продажи из продаж с нарастающим итогом.
 
Добрый день.

Ежедневно отчеты по продажам с помощью PQ затягиваются в общую таблицу. Данные в этих ежедневных отчетах идут с нарастающим итогом.
В выходные продаж нет, соответственно даты могут идти не с шагом в один день.

Прошу помочь с созданием вычисляемого столбца, в котором бы указывались продажи на конкретную дату с привязкой к складу.

Например: если на 05.12.20 по SKU1 указано 10 шт, а на 06.12.20 указано 15 шт, то в вычисляемом столбце на 06.12.20 продажи будут 15-10=5.

Спасибо за помощь.
Изменено: Belosludtsev - 15.01.2021 11:39:46
 
Доброе время суток.
Вариант для вычисляемого столбца
Код
=
VAR curDate = 'Таблица1'[Date]
VAR allBefore =
    CALCULATETABLE (
        'Таблица1';
        FILTER (
            ALLEXCEPT ( 'Таблица1'; 'Таблица1'[Склад]; 'Таблица1'[SKU] );
            'Таблица1'[Date] < curDate
        )
    )
VAR skuBefore =
    SUMX (
        TOPN ( 1; allBefore; 'Таблица1'[Date]; DESC );
        'Таблица1'[продажи по SKU]
    )
RETURN
    'Таблица1'[продажи по SKU] - skuBefore
 
Андрей VG,  Огромное спасибо!
Работает!!!
 
Андрей VG,
Подскажите, как можно изменить формулу, чтобы она учитывала начало месяца?
Дело в том, что накопительный итог идет помесячно и 1-го числа следующего месяца начинается сначала.
Сейчас же получается, что из продаж за 1-е число вычитается сумма продаж за весь предыдущий месяц.
 
Belosludtsev, уважаемый, а может гораздо проще будет выпрямлять данные до погрузки в модель средствами PQ? Просто так как организовано у вас, обычно так не делают.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
чтобы она учитывала начало месяца?
Вычислите начало месяца для текущей даты.
Добавьте начало месяца в фильтрацию allBefore и, используя MINX, вычислите минимальную дату в диапазоне.
Сопоставив её с текущей датой и принимайте решение о том как вычислять.
Правда, какое это имеет отношение к вопросу темы?
Страницы: 1
Наверх