Совокупный показатель продаж - ФИЛЬТР (ВСЕ («Дата»), «Дата» [Дата] <= MAX («Дата» [Дата])) - PullRequest
0 голосов
/ 16 октября 2019

Я новичок в Power BI и мне нужна помощь в этом. Что означает эта функция в Power BI (каков ее результат) и как она работает?

FILTER ( ALL('Date'), 'Date'[Date] <= MAX('Date'[Date] ))

Мне кажется, что эта функция DAX фильтрует все данные из таблицы дат и возвращает все даты изтаблица дат кроме самой последней даты?

FILTER ( ALL('Date'), 'Date'[Date] <= MAX('Date'[Date] ))

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Функция FILTER принимает таблицу в качестве первого аргумента, выполняет итерацию по каждой строке, проверяя, является ли выражение, заданное в качестве второго аргумента, истинным или ложным, и возвращает таблицу только с теми строками, где выражение оценивается как TRUE().

Функция ALL удаляет весь фильтр и контекст строки, чтобы вернуть всю указанную таблицу. Без этого таблица дат в качестве первого аргумента будет отфильтрована. В этом случае вы хотите всего этого.

Напротив, MAX оценивается в локальном контексте фильтра, поэтому MAX('Date'[Date]) возвращает самую последнюю дату в этом контексте, которая не 't обязательно совпадает с самой последней датой во всей таблице.

Таким образом, чтобы получить совокупный показатель продаж, вы получите самую последнюю дату в контексте фильтра, используя MAX, а затем отфильтруете таблицу дат, чтобы включить все датыдо этой даты включительно.

0 голосов
/ 16 октября 2019

Во-первых, выражение ниже возвращает таблицу, затем вы можете прочитать ее так:

   Table =
    FILTER (
    /*Take all the date in Date table*/
        ALL ( 'Date' ); 
    /* Then return all the date passing this condition*/
        'Date'[Date]<= **MAX ( 'Date'[Date] )
    enter code here

 /*Whereas MAX ( 'Date'[Date] ) is evaluating in the current filter context */
...