2016-11-14 9 views
0

Я начинаю с DAX.DAX Calculation with Datesbetween Игнорирует все фильтры дат

У меня есть стандартная таблица даты и таблица с продажами. Когда я пытаюсь показать нарастающим итогом с приведенной ниже формуле месяц фильтр игнорируется, как показано на рисунке:

Running Total for previous year without monthly filter

Формула:

Prov YTD VJ 2:=CALCULATE(FIRMPROV[SumProv]; 
All(Kalender[Jahr]); 
DATESBETWEEN(Kalender[Datum]; 
Min(START_YTD[start_ytd]); 
MIN(END_YTD[end_ytd]))) 

ответ

0

Хороший способ вычисления текущих итогов является используя функции FILTER и EARLIER, но обязательным условием является то, что вам нужно создать столбец «Число месяцев» (например, Jan = 1, Feb = 2, Mar = 3 и т. д.).

Затем вы можете использовать после DAX:

CALCULATE(SUM([SumProv]),ALL(FirmProv),FILTER(FirmProv,[Month Number]<=EARLIER([Month Number]))) 

EARLIER в основном DAX способ интерпретации текущей строки. Вы сообщаете DAX суммировать ВСЕ строки в таблице FirmProv, где число месяцев меньше или равно текущей строке (общее количество AKA).

Вот результат (обратите внимание на цифры точно не как у вас, я просто быстро высмеял его, чтобы показать пример):

enter image description here