5 методов расчета «Сегодня — 30 дней» в Power BI с использованием DAX

Power BI — это мощный инструмент бизнес-аналитики, который позволяет пользователям анализировать данные и получать ценную информацию. Одним из распространенных требований при анализе данных является вычисление периода между «сегодня» и «30 дней назад». В этой статье блога мы рассмотрим пять различных методов расчета «сегодня — 30 дней» в Power BI с использованием DAX (выражения анализа данных). Каждый метод будет сопровождаться примером кода, который поможет вам реализовать его в ваших собственных проектах Power BI.

Метод 1: использование функции DATESBETWEEN

TodayMinus30Days = CALCULATE(SUM(Table[Value]), DATESBETWEEN(Table[Date], TODAY() - 30, TODAY()))

Объяснение: Этот метод использует функцию DATESBETWEEN для вычисления суммы определенного столбца в диапазоне дат. Мы указываем диапазон от «TODAY() – 30» до «TODAY()», чтобы получить желаемый результат.

Метод 2: использование функции DATEADD

TodayMinus30Days = CALCULATE(SUM(Table[Value]), FILTER(Table, Table[Date] >= DATEADD(TODAY(), -30, DAY) && Table[Date] <= TODAY()))

Объяснение: Функция DATEADD позволяет нам добавлять или вычитать указанное количество интервалов (в данном случае дней) из заданной даты. Мы используем эту функцию в сочетании с функцией ФИЛЬТР для вычисления суммы в желаемом диапазоне дат.

Метод 3: использование функции PREVIOUSMONTH

TodayMinus30Days = CALCULATE(SUM(Table[Value]), PREVIOUSMONTH(TODAY()) && TODAY() - 30)

Объяснение: Функция PREVIOUSMONTH возвращает дату предыдущего месяца на основе указанной даты. Объединив его с функцией TODAY() и вычитая 30 дней, мы получаем желаемый диапазон дат.

Метод 4. Использование функции SAMEPERIODLASTYEAR

TodayMinus30Days = CALCULATE(SUM(Table[Value]), SAMEPERIODLASTYEAR(TODAY()) && TODAY() - 365 - 30)

Объяснение: Функция SAMEPERIODLASTYEAR позволяет нам получить тот же период из предыдущего года. Вычитая необходимое количество дней (365+30) от текущей даты, получаем нужный диапазон дат.

Метод 5. Использование переменных

TodayMinus30Days =
VAR TodayDate = TODAY()
VAR ThirtyDaysAgo = TodayDate - 30
RETURN CALCULATE(SUM(Table[Value]), FILTER(Table, Table[Date] >= ThirtyDaysAgo && Table[Date] <= TodayDate))

Объяснение: Этот метод использует переменные для хранения текущей даты и даты 30-дневной давности. Затем мы используем эти переменные в функции ФИЛЬТР для вычисления суммы в желаемом диапазоне дат.

В этой статье мы рассмотрели пять различных методов расчета «сегодня — 30 дней» в Power BI с использованием DAX. В зависимости от вашего конкретного варианта использования и структуры данных вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Используя эти методы, вы можете выполнять расширенные вычисления дат и получать более глубокое понимание ваших данных.