Мне нужна ваша помощь.
Я пытаюсь создать вычисляемый столбец, в котором сумма продаж за последние две даты (продажи не на всех датах!) Для каждого продукта.
Я пытался использовать расчет:
CALCULATE (
SUMX ( TOPN ( 2; 'Table'; 'Table'[date_ID] ); 'Table'[Sale] );
ALLEXCEPT ( Table; 'Table'[Product_ID] )
)
Но это работает, только если у вас есть одна продажа на дату для идентификатора продукта.
Что мне делать, если на дату приходится много транзакцийи идентификатор продукта?
Ниже у меня есть таблица, в которой у меня есть (отфильтрованы) одна дата и один продукт.
Теперь,Я создал вычисляемый столбец, который суммирует все транзакции за дату и идентификатор продукта (для справки). Это
Calculated Column 2 =
CALCULATE (
SUMX ( Table; Table[Sale] );
ALLEXCEPT ( Table; 'Table'[Date]; 'Table'[Product_ID] )
)
Теперь самое сложное. Если я хочу суммировать транзакции за последние две даты для каждого продукта, я сделал следующий расчет:
Calculated Column 1 =
VAR SumProd =
CALCULATE (
SUMX ( Table; Table[Sale] );
ALLEXCEPT ( Table; Table[Date]; Table[Product_ID] )
)
RETURN
CALCULATE (
SUMX ( TOPN ( 2; 'Table'; 'Table'[Date] ); SumProd );
ALLEXCEPT ( Table; Table[Product_ID]; Table[Date] )
)
Проблемы:
- Расчеты суммируют ВСЕ значения в каждой категории
Пример: в таблице вы видите "Calculated column 1"=7571200
, что составляет 27040 * количество транзакций? Я хочу только значение 27040.
По какой-то причине TOPN () не работает. Если я изменю
N_Value=2
на
N_Value=3
, расчет не изменится?
Пожалуйста, кто-нибудь знает, что не так с моими расчетами?
Спасибо.
Br, Jakob