Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Суммирование в скользящем окне в Power Pivot
 
Андрей VG, PooHkrd, большое спасибо за ответы, всё работает.

PooHkrd, сохраню ваше решение для pq, оно тоже может быть полезным, спасибо.
Суммирование в скользящем окне в Power Pivot
 
Коллеги, привет, нужна помощь.
необходимо по каждой позиции товарной матрицы считать сумму/среднее за последние N дней.
По идее должно быть что-то вроде такого:
Код
=CALCULATE(SUM([Продажи]);
FILTER('Таблица1';
'Таблица1'[Точка]=EARLIER([Точка]) && 
'Таблица1'[Товар]=EARLIER([Товар]) && 
'Таблица1'[Дата]<=EARLIER([Дата]) &&
'Таблица1'[Дата]>=DATEADD(EARLIER('Таблица1'[Дата]);-2;DAY)
))

Но в последней строке dateadd должен ссылаться на столбец, и в него на завернуть earlier.

Файл с примером прилагаю, добавил формулами обычного эксель столбец "должно быть так", который считает нужную сумму.

Изменено: PavelZakharov - 02.07.2020 01:19:27
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Андрей VG,

Еще вопрос по формуле.
Если в факте в определенные дни совсем нет продаж, а план есть, то он формулой посчитается.
Можно ли написать формулу так, чтобы Бюджет = факт + план (дата > последней даты факта).
И чтобы вместе с тем учитывалось, что по разным позициям последняя дата факта может различаться.
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Андрей VG,
Ваше решение - то, что нужно, спасибо!

DrillPipq,
добавлять показатель одной таблицы в другую - не вариант, т.к. у двух таблиц разное кол-во группировок (детализаций), в отличие от упрощенного примера.
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Андрей VG,
ТЗ не совсем корректное.
Формула должна брать за дни, где есть факт - факт, а за дни, где факта нет - план.
В прикрепленном примере по "товару 2" результат за месяц = 5946
Изменено: PavelZakharov - 26.04.2019 18:12:31
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Андрей VG,

Проблема в том, что если в периоде есть хотя бы 1 день с фактом, то [факт_сумма] уже не ISBLANK.
Стоит убрать даты из среза, и Ваша формула будет считать только по таблице факт.
А нужно, чтобы вне зависимости от выбранного среза (по дням или же за весь выбранный период) логика подсчета не менялась.
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Добрый день!
спасибо за ответ, но он не подходит, т.к. факт не всегда есть по сегодня, то есть таблицу план надо отфильтровать по дате > максимальной даты в таблице факт, а как это сделать я не могу понять.
DAX: Мера по показателю с учетом наличия данных в связной таблице
 
Всем привет!
Есть два стула две таблицы - факт и план + справочники, их связывающие.
Необходимо посчитать меру, вычисляющую бюджет, который равен факту, если есть факт, и плану, если факта нет.
Вроде все элементарно, но никак не могу совладать с синтаксисом.
Пробовал сделать что-то вроде Бюджет_факт + Бюджет план (фильтр(план; дата = даты в таблице факт, где бюджет факт = 0)), но не выходит.
Поиск похожих тем результатов не дал.
DAX. Сумма нарастающим итогом.
 
PooHkrd,
круто, спасибо!
DAX. Сумма нарастающим итогом.
 
Андрей VG, доброго!
я пробовал написать

Код
=CALCULATE(sum('table1'[Value]);
FILTER(ALL('table1');'table1'[Client]=EARLIER('table1'[Client])); 
FILTER(ALL('table1');'table1'[Date]<EARLIER('table1'[Date])); 
FILTER(ALL('table1');table1[Date]>DATEADD(EARLIER('table1'[Month6]);-6;MONTH))
)

чтобы не делать лишних телодвижений в PQ, но вышло сообщение об ошибке. Ваш вариант работает, спасибо! приму на вооружение.

&& позволяет в одном фильтре задать все условия фильтрации, верно? и не писать FILTER для каждого условия, соответственно.
Изменено: PavelZakharov - 05.07.2018 11:11:48
DAX. Сумма нарастающим итогом.
 
В общем, методом подбора нашлось такое решение:
в PQ добавлен столбец "Month6", each Date.AddMonths([Date], -6)

В DAX формула следующая:
Код
=CALCULATE(sum('table1'[Value]);
FILTER(ALL('table1');'table1'[Client]=EARLIER('table1'[Client]));
FILTER(ALL('table1');'table1'[Date]<EARLIER('table1'[Date]));
FILTER(ALL('table1');table1[Date]>EARLIER('table1'[Month6])))

не очень изящно, но вроде работает.

PooHkrd, спасибо за ссылку, буду вникать.
DAX. Сумма нарастающим итогом.
 
Максим Зеленский, да, необязательно. В общем, логика именно такова - если сумма нулевая <=> строк нет => новый.
Но глобально хочется понимать в принципе, как посчитать сумму по условию в dax, т.к. чтение различных источников ясности не дало.
DAX. Сумма нарастающим итогом.
 
Юрий М,
в сабже я написал, что уже давно ковыряюсь с вопросом и не могу найти его решение. Ссылка на страницу, которая первой гуглится по запросу "формула calculate", не сильно продвинула в решении задачи. В идеале хотелось бы увидеть формулу по этому примеру или похожему.

PooHkrd,
читаю тему, спасибо.
да, нужен расчетный столбец, а не мера, т.к. на его основе в данных будет добавлен другой столбец с классификацией.
я правильно понимаю, что нужно в фильтре задавать EARLIER, что означает необходимость сортировки исходных данных по датам?
DAX. Сумма нарастающим итогом.
 
PooHkrd,
уже видел, поковырялся. Не понятно - спрашиваю. Если нечего ответить по существу вопроса - не пишите.

vikttur,
Аналог СУММЕСЛИМН в DAX
или вариант выше подойдет.
DAX. Сумма нарастающим итогом.
 
Привет.
Мучаюсь долго. Задача: необходимо для каждого клиента посчитать его объем покупки в течение последних 6 месяцев и исходя из этого классифицировать. Как делать это формулами в экселе - понятно. Но данные лежат в модели данных, поэтому надо сделать это в пивоте, и вот тут никак не возьму в толк, как написать формулу, которая будет аналогом классическому СУММЕСЛИМН.
Во вложении пример данных, справа (зеленые столбцы) то, что нужно получить в модели данных в пивоте.
Буду благодарен за помощь.
Страницы: 1
Наверх