Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


Антон БудуевПриветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы рассмотрим 3 функции, которые относятся к категории функций дат и времени в DAX — YEARFRAC, WEEKDAY и WEEKNUM в Power BI и PowerPivot.

Рассмотрим каждую функцию в отдельности.

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.

 

DAX функция YEARFRAC в Power BI и PowerPivot

YEARFRAC () — вычисляет долю указанного периода дат в целом году.

Синтаксис:

YEARFRAC (Стартовая Дата; Конечная Дата; Базис)

Где, «Стартовая Дата» и «Конечная Дата» — даты в формате datetime, а «Базис» — способ вычисления дня (необязательный параметр).

Базис:

  • параметр = 0 — американский стандарт (NASD), 30 дней / 60 дней
  • параметр = 1 — фактический период / фактический период
  • параметр = 2 — фактический период / 360 дней
  • параметр = 3 — фактический период / 365 дней
  • параметр = 4 — европейский стандарт, 30 дней / 360 дней

Рассмотрим пример формулы на основе DAX функции YEARFRAC.

Доля Периода В Году = 
YEARFRAC (
    DATE (2018; 10; 01);
    DATE (2018; 11; 01);
    4
)

В данной формуле начальную и конечную даты мы задали при помощи DAX функции DATE. Период между этими двумя датами составляет ровно 1 месяц. В качестве базиса (способа вычисления дня) я взял европейский стандарт (4).

Как результат, формула на основе YEARFRAC вывела долю этого периода относительно целого года = 8.33 %:

Результат работы формулы в Power BI на основе DAX функции YEARFRAC

 

У созданной меры в Power BI Desktop нужно поменять формат на % и вывести два знака после запятой.

 

DAX функция WEEKDAY в Power BI и PowerPivot

WEEKDAY () — возвращает день недели в формате чисел 1-7 (0-6). По умолчанию неделя начинается с воскресенья (1) и заканчивается субботой (7).

Синтаксис:

WEEKDAY (Дата; Начало Недели)

Где:

  • Дата — дата в формате datetime. Дату необходимо вводить формулой DATE() или другим выражением, возвращающим формат datetime
  • Начало Недели (по умолчанию — 1):
    1 — начало недели в воскресенье (1) и конец в субботу (7) ;
    2 — начало недели в понедельник (1) и конец в воскресенье (7);
    3 — начало недели в понедельник (0) и конец в воскресенье (6)

Примеры формул на основе DAX функции WEEKDAY.

Пример 1: WEEKDAY (DATE (2018; 10; 13)) - начало недели в воскресенье (1)
Результат 1: 7 (суббота)

Пример 2: WEEKDAY (DATE (2018; 10; 13); 1) - начало недели в воскресенье (1)
Результат 2: 7 (суббота)

Пример 3: WEEKDAY (DATE (2018; 10; 13); 2) - начало недели в понедельник (1)
Результат 3: 6 (суббота)

Пример 4: WEEKDAY (DATE (2018; 10; 13); 3) - начало недели в понедельник (0)
Результат 4: 5 (суббота)

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

В Power BI имеется исходная таблица с датами, где 1 января 2018 — понедельник:

Исходная таблица в Power BI

 

Добавим в эту таблицу 2 вычисляемых столбца на основе следующих формул с участием DAX функции WEEKDAY:

Номер Дня Недели 1 = WEEKDAY ([Дата]; 1)
Номер Дня Недели 2 = WEEKDAY ([Дата]; 2)

То есть, в первой формуле начало недели начинается в воскресенье (1), а во второй формуле — в понедельник (1).

В итоге, результат будет таким:

Результат работы формулы в Power BI на основе DAX функции WEEKDAY

 

В столбце на основе первой формулы 1 января (понедельник) равен числу 2, так как начало недели в воскресенье (1). А в столбце на основе второй формулы 1 января (понедельник) равен числу 1, так как начало недели, также, в понедельник (1).

 

DAX функция WEEKNUM в Power BI и PowerPivot

WEEKNUM () — возвращает номер недели года (относительно начала года).

Синтаксис:

WEEKNUM (Дата; Начало Недели)

Где:

  • Дата — дата в формате datetime. Дату необходимо вводить формулой DATE() или другим выражением, возвращающим формат datetime
  • Начало Недели:
    1 — неделя начинается с воскресенья (по умолчанию);
    2 — неделя начинается с понедельника

Примеры формул на основе DAX функции WEEKNUM.

Пример 1: WEEKNUM (DATE (2018; 10; 13))
Результат 1: 41

Пример 2: WEEKNUM (DATE (2018; 10; 13); 1)
Результат 2: 41

Пример 3: WEEKNUM (DATE (2018; 10; 13); 2)
Результат 3: 41

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

В Power BI Desktop имеется исходная таблица с датами, где 1 апреля 2018 — это воскресенье:

Исходная таблица в Power BI Desktop

 

Добавим в эту таблицу 2 вычисляемых столбца на основе следующих формул с участием DAX функции WEEKNUM:

Неделя Года 1 = WEEKNUM ([Дата]; 1)
Неделя Года 2 = WEEKNUM ([Дата]; 2)

Исходя из синтаксиса, в первой формуле начало недели начинается в воскресенье, а во второй формуле — в понедельник.

В итоге, результат будет таким:

Результат работы формулы в Power BI на основе DAX функции WEEKNUM

 

Так как в столбце, рассчитанном на основе первой формулы, начало недели в воскресенье, а в таблице у нас представлены 3 дня — воскресенье (1 апреля), понедельник (2 апреля), вторник (3 апреля), то у этих всех 3-х дней один номер недели = 14.

В столбце, рассчитанном на основе второй формулы, начало недели в понедельник. И именно поэтому, 1 апреля (воскресенье) имеет номер недели 13, а у 2 и 3 апреля, номер недели уже 14.

На этом, с разбором функций YEARFRAC, WEEKDAY и WEEKNUM в Power BI и PowerPivot, в данной статье все.

Успехов Вам, друзья!

 

Антон БудуевС уважением, Будуев Антон.
Проект «BI — это просто»

 

 

 

Присоединяйтесь к нашим социальным сетям

Именно в них оперативно и каждый день Вам будут доступны наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи 

по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel...)

Наша группа Вконтакте Мы в Инстаграме Наша группа в Фейсбук Наш YouTube канал
Наша группа VK
Подписаться на наш YouTube канал

 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.

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

 

Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D


Вам это может быть интересно. Другие статьи нашего обучающего портала:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Заполняя форму отправки комментария своими персональными данными (имя, email, сайт и др.), Вы автоматически подтверждаете свое согласие на обработку своих персональных данных