Запрос DAX (с использованием функции FIlter и MAX), рассчитайте общий объем продаж за последние 30 дней.

Я новичок в DAX и столкнулся с такой мерой, как показано ниже:

30 Day Running Total = CALCULATE([Total Sales], 
    FILTER (ALL (Dates), Dates[Date]>(Dates[Date]) -30 && Dates[Date] <= (Dates[Date] )))

то есть для расчета общего объема продаж за последние 30 дней кумулятивным способом для данных с 1 января 2018 г. по 30 декабря 2021 г., вышеуказанная мера, которую я не могу понять

Я понимаю, как показано ниже, пожалуйста, дайте мне знать, где я двигаюсь в неправильном направлении

  1. FILTER ( ALL(Dates) -> Удаляет все фильтры, означает брать дату от минимума до максимума из полной таблицы, т.е. с 1 января 2018 года по 30 декабря 2021 года.

  2. Dates[Date]>MAX(Dates[Date]) -30 -> «Берет общий объем продаж из текущей строки таблицы за вычетом 30 дней». Например, если расчет DAX производится 30 января 2018 года, он учитывает все общие продажи с 1 января 2018 года по 30 января 2018 года.

  3. Тогда зачем нам упоминать еще один фильтр Dates[Date] <= MAX(Dates[Date] )?

Спасибо заранее за ваше время

С уважением Сумит Малик


person Sumit Malik    schedule 09.04.2020    source источник
comment
Это больше похоже на вопрос для понимания формулы. Вы можете просто погуглить и найти документацию или видео, которые могут лучше объяснить это.   -  person Gangula    schedule 09.04.2020
comment
Привет, Гангула, Сеймур ответил на мой вопрос. Надеюсь, вы поняли мой вопрос, я пытался объяснить свое понимание формулы, но, возможно, запутался   -  person Sumit Malik    schedule 12.04.2020


Ответы (1)


Кажется, ваша главная забота - это Точка (3)

зачем нам упоминать еще один фильтр Dates [Date] ‹= MAX (Dates [Date])?

Ваше сомнение верно, если данные чистые, вам не нужно определять этот верхний фильтр, потому что теоретически, учитывая продажи за 30 дней назад, продаж быть не должно. после сегодняшнего дня.
К сожалению, часто данные не соответствуют действительности, и в будущем могут быть продажи. Следовательно, определение верхней границы - лучший способ избежать такого рода проблем с грязными данными. Помните, что в разработке программного обеспечения вы программируете, думая о наихудшем сценарии, поэтому определение верхней границы не вредит :)

person Seymour    schedule 11.04.2020