Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Примечание

Функции, описанные в данном разделе, работают только в рамках формул с агрегацией. Например, формула Год = YEAR('factonlinesales'[salesdate]) работать не будет. Примеры использования функций см. ниже.

YEAR

Возвращает год даты в виде четырехзначного целого числа.

Синтаксис

YEAR(<дата>)

где <дата> – столбец, содержащий даты, либо дата в текстовом или datetime формате.

QUARTER

Возвращает число от 1 (январь-март) до 4 (октябрь-декабрь), представляющее квартал.

Синтаксис

QAURTER(<дата>)

где <дата> – столбец, содержащий даты, либо дата в текстовом или datetime формате.

MONTH

Возвращает число от 1 (январь) до 12 (декабрь), представляющее месяц.

Синтаксис

MONTH(<дата>)

где <дата> — столбец, содержащий даты, либо дата в текстовом или datetime форматах.

DAY

Возвращает число от 1 до 31, представляющее день месяца.

Синтаксис

DAY(<дата>)

где <дата> – столбец, содержащий даты, либо дата в текстовом или datetime формате.

Примечание

В текущей версии платформы данные функции могут быть использованы только при фильтрации​, или в итераторе.

Примеры

Пример 1

Предположим, у вас есть таблица фактов продаж Факты со столбцом salesamount (объем продаж) и вы хотите посчитать сумму продаж за июль. Для этого можно воспользоваться следующей формулой:

Блок кода
Продажи за седьмой месяц =​
CALCULATE (​
    SUM ( 'Факты'[salesamount] ),​
    FILTER ( 'Факты', MONTH ( 'Факты'[datekey] ) = 7 )​
)

где

FILTER ( 'Факты', MONTH ( 'Факты'[datekey] ) = 7 ) ограничивает строки таблицы 'Факты' только теми, где месяц из столбца 'Факты'[datekey] равен 7 (то есть июль).

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

Пример 2

Предположим, вы хотите вычислить общую сумму продаж с учетом скидки за каждый пятый день месяца, так как в эти дни применяется скидка в размере 20%.

Для этого можно воспользоваться следующей формулой:

Блок кода
Каждый пятый день месяца распродажа =​
SUMX (​
    'Факты',​
    IF (​
        DAY ( 'Факты'[datekey] ) = 5,​
        'Факты'[salesamount] * 0.8,​
        'Факты'[salesamount]​
    )​
)

где

DAY('Факты'[datekey]) = 5 возвращает TRUE, если день даты равен 5, и FALSE в противном случае. Если условие выполняется (день равен 5), то к значению продаж ('Факты'[salesamount]) применяется скидка 20% (* 0.8). Если условие не выполняется, то просто берется значение продаж без изменений.

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


Смотрите также

📄 Моделирование данных с помощью DAX
📄 Поддерживаемые функции DAX
📄 Математические операторы
📄 Примеры

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.