power bi день недели по дате
WEEKNUM
Возвращает номер недели для заданной даты в соответствии со значением return_type. Номер недели указывает, что неделя попадает в число в пределах года.
Для этой функции используются две системы:
Синтаксис
Параметры
Термин | Определение |
---|---|
дата | Дата в формате datetime. |
return_type | (Необязательно.) Число, определяющее, в какой день начинается неделя. Значение по умолчанию: 1. См. заметки. |
Возвращаемое значение
Примечания
По умолчанию функция WEEKNUM использует календарь, в котором неделя, содержащая 1 января, считается первой неделей года. Однако стандарт календаря ISO 8601, широко используемый в Европе, определяет первую неделю как содержащую большинство дней (четыре или более), которые выпадают в новый год. Это означает, что, если return_type представляет любое допустимое число больше 21, для года, в котором число дней в первой неделе января не превышает три дня, функция WEEKNUM возвращает номера недель, отличные от определения в стандарте ISO 8601.
Для return_type (кроме 21) следующие допустимые значения могут не поддерживаться некоторыми источниками данных DirectQuery:
return_type | Начало недели | Система |
---|---|---|
1 или не указано | Воскресенье | 1 |
2 | Понедельник | 1 |
11 | Понедельник | 1 |
12 | Вторник | 1 |
13 | Среда | 1 |
14 | Четверг | 1 |
15 | Пятница | 1 |
16 | Суббота | 1 |
17 | Воскресенье | 1 |
21 | Понедельник | 2 |
Пример 1
В приведенном ниже примере возвращается номер недели для 14 февраля 2010 г. В этом вычислении предполагается, что неделя начинается в понедельник.
Пример 2
В следующем примере возвращается номер недели для даты, хранящейся в столбце HireDate из таблицы Employees. В этом вычислении предполагается, что неделя начинается в воскресенье.
Календарь в Power Pivot
Сперва создаём таблицу выбирая дату начала и дату конца
calendar = CALENDAR («01.05.2021», «30.12.2021»)
Добавляем в Power Pivot с помощью языка DAX
Для года
Номер месяца
Месяц
МММ-ГГГ
Номер дня недели
День недели
Week number
YYYY-WW
Weeks
Day Of Week Number
week diff
Как настроить сортировку недель по порядку в Power BI
По умолчанию Power BI будет делать сортировку неправильно. Например вот так будут отображаться график по месяцам, хотя в данных используется январь из следующего года и он должен быть в конце
Такая же ситуация с неделями. Чтобы избежать этого, нужно выводить порядковые номера недель или месяцев, в зависимости от того, что будете сортировать.
Добавляем столбцы с номерами недель и недель с годами
Далее встаём на столбец с интервалами недель «Weeks» и применяем сортировку по столбцу «YYYY-WW»
После этого, выводя график в отчёте, нужно выбрать по чему будем сортировать.
После этого данные встанут в нужном порядке
WEEKDAY
Возвращает число от 1 до 7, указывающее день недели для даты. По умолчанию дни отображаются в диапазоне от 1 (воскресенье) до 7 (суббота).
Синтаксис
Параметры
Термин | Определение |
---|---|
дата | Дата в формате datetime. |
Даты должны вводиться с помощью функции DATE, с помощью выражений, которые приводят к дате, или в качестве результата других формул.
Тип возвращаемого значения: 1, неделя начинается с воскресенья (1) и заканчивается в субботу (7). Нумерация с 1 до 7.
Тип возвращаемого значения: 2, неделя начинается с понедельника (1) и заканчивается в воскресенье (7).
Тип возвращаемого значения: 3, неделя начинается с понедельника (0) и заканчивается в субботу (6). Нумерация с 1 до 7.
Возвращаемое значение
Целое число от 1 до 7.
Примечания
В отличие от Microsoft Excel, в котором значения даты хранятся в виде порядковых чисел, в DAX при работе со значениями даты и времени используется формат datetime. Если необходимо отобразить даты в виде серийных номеров, можно использовать параметры форматирования в Excel.
Можно также ввести даты в виде допустимого текстового представления даты, но во избежание непредвиденных результатов лучше преобразовать текстовую дату в формат datetime.
Если аргумент date является текстовым представлением даты, функция использует языковой стандарт и параметры даты и времени клиентского компьютера, чтобы понять текстовое значение и выполнить преобразование. Если в соответствии с текущими параметрами даты и времени даты представляются в формате «День.Месяц.Год», то строка «08.01.2009» будет интерпретироваться как значение типа datetime, эквивалентное 8 января 2009 года. Однако если в соответствии с текущими параметрами даты/времени даты представляются в формате «Месяц.День.Год», та же строка будет преобразована в значение типа datetime, эквивалентное 1 августа 2009 года.
Пример
В следующем примере показано получение даты из столбца [HireDate], добавление 1 и отображение дня недели, соответствующего этой дате. Поскольку аргумент return_type опущен, используется формат по умолчанию, в котором 1 — воскресенье, а 7 — суббота. Если результат равен 4, то день будет иметь значение «Среда».
Настройка и использование таблиц дат в Power BI Desktop
В Power BI Desktop столбцы с датами определяются автоматически. Затем создаются иерархии дат и другие метаданные для включения модели от вашего имени. Это происходит в фоновом режиме. Эти встроенные иерархии можно использовать в дальнейшем при создании таких компонентов отчета, как визуальные элементы, таблицы, быстрые меры, срезы и т. д. Для этого в Power BI Desktop от вашего имени создаются скрытые таблицы, которые впоследствии вы можете использовать для отчетов и выражений DAX.
См. сведения об этом автоматическом поведении в описании параметра автоматических даты и времени в Power BI Desktop.
Многие специалисты по анализу данных предпочитают создавать собственные таблицы. Можно делать и так. Power BI Desktop позволяет указать таблицу дат для вашей модели и создавать связанные с датами визуализации, таблицы, быстрые меры и другие элементы, используя данные из этой таблицы. Если вы указываете собственную таблицу дат, вы сами управляете иерархиями дат, созданными в модели, и применяете их для быстрых мер и других операций, в которых используется таблица дат вашей модели.
Настройка собственной таблицы дат
Чтобы настроить таблицу дат, выберите нужную таблицу на панели Поля. Затем щелкните таблицу правой кнопкой мыши и последовательно выберите в открывшемся меню Отметить как таблицу дат > Отметить как таблицу дат, как показано на следующем изображении:
Также вы можете указать таблицу, а затем выбрать Отметить как таблицу дат на ленте Моделирование, как показано ниже.
Если вы указываете собственную таблицу дат, в Power BI Desktop выполняются описанные ниже проверки этого столбца и содержащихся в нем данных. Это позволяет убедиться в следующем:
Есть два вероятных сценария, в которых целесообразно создать собственную таблицу данных:
Первый вариант — использование канонических или базовых таблицы данных и иерархий. Это таблица, которая соответствует описанным выше критериям проверки для таблицы дат.
Второй вариант — использование таблицы из служб Analysis Services, например, таблицы с полем измерения даты, в качестве таблицы дат.
Указав таблицу дат, вы сможете выбрать для дат любой столбец в этой таблице. Вы можете указать, какой столбец использовать. Для этого выберите таблицу на панели Поля, щелкните ее правой кнопкой мыши и последовательно выберите Отметить как таблицу дат > Параметры таблицы дат. Появится следующее окно, в котором можно выбрать в раскрывающемся списке столбец для использования в качестве таблицы дат.
Обратите внимание, что при создании собственной таблицы дат в Power BI Desktop иерархии не создаются автоматически, как при выборе другого варианта, когда они встраиваются в модель от вашего имени. Если позднее вы отмените выбор таблицы дат (и у вас больше не будет таблицы дат, настроенной вручную), Power BI Desktop снова автоматически создаст встроенные таблицы дат для столбцов дат в таблице.
Также следует отметить, что когда вы отмечаете таблицу как таблицу дат, встроенная (автоматически созданная) таблица дат в Power BI Desktop удаляется. В таком случае все визуальные элементы или выражения DAX, созданные ранее на основе этих встроенных таблиц, не будут правильно работать.
Присвоение таблице дат надлежащего типа данных
Если вы создаете собственную таблицу дат, необходимо правильно задать тип данных. Для типа данных должно быть установлено значение Дата/время или Дата. Для этого выполните следующие действия:
Выберите свою таблицу дат на панели Поля и при необходимости разверните ее. Выберите столбец, который нужно использовать в качестве даты.
На вкладке Моделирование выберите Тип данных и щелкните стрелку раскрывающегося списка, чтобы отобразились доступные типы данных.
Укажите тип данных для столбца.
Дальнейшие действия
Дополнительные сведения, связанные с темой этой статьи, см. в следующих ресурсах.
Простой авторский взгляд на сквозную BI аналитику (разбираем на практике Power BI, Excel, Power Pivot, DAX. и многое другое)
DAX функции YEARFRAC, WEEKDAY и WEEKNUM в Power BI и PowerPivot
Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы рассмотрим 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 () — вычисляет долю указанного периода дат в целом году.
Где, «Стартовая Дата» и «Конечная Дата» — даты в формате datetime, а «Базис» — способ вычисления дня (необязательный параметр).
Рассмотрим пример формулы на основе DAX функции YEARFRAC.
В данной формуле начальную и конечную даты мы задали при помощи DAX функции DATE. Период между этими двумя датами составляет ровно 1 месяц. В качестве базиса (способа вычисления дня) я взял европейский стандарт (4).
Как результат, формула на основе YEARFRAC вывела долю этого периода относительно целого года = 8.33 %:
У созданной меры в Power BI Desktop нужно поменять формат на % и вывести два знака после запятой.
DAX функция WEEKDAY в Power BI и PowerPivot
WEEKDAY () — возвращает день недели в формате чисел 1-7 (0-6). По умолчанию неделя начинается с воскресенья (1) и заканчивается субботой (7).
Примеры формул на основе DAX функции WEEKDAY.
В качестве параметров даты в WEEKDAY можно вставлять столбец со значениями даты. Давайте рассмотрим такой пример формулы.
В Power BI имеется исходная таблица с датами, где 1 января 2018 — понедельник:
Добавим в эту таблицу 2 вычисляемых столбца на основе следующих формул с участием DAX функции WEEKDAY:
То есть, в первой формуле начало недели начинается в воскресенье (1), а во второй формуле — в понедельник (1).
В итоге, результат будет таким:
В столбце на основе первой формулы 1 января (понедельник) равен числу 2, так как начало недели в воскресенье (1). А в столбце на основе второй формулы 1 января (понедельник) равен числу 1, так как начало недели, также, в понедельник (1).
DAX функция WEEKNUM в Power BI и PowerPivot
WEEKNUM () — возвращает номер недели года (относительно начала года).
Примеры формул на основе DAX функции WEEKNUM.
Как и в функции WEEKDAY, в качестве параметров даты в WEEKNUM, также можно вставить столбец со значениями даты. Давайте рассмотрим такой пример формулы.
В Power BI Desktop имеется исходная таблица с датами, где 1 апреля 2018 — это воскресенье:
Добавим в эту таблицу 2 вычисляемых столбца на основе следующих формул с участием DAX функции WEEKNUM:
Исходя из синтаксиса, в первой формуле начало недели начинается в воскресенье, а во второй формуле — в понедельник.
В итоге, результат будет таким:
Так как в столбце, рассчитанном на основе первой формулы, начало недели в воскресенье, а в таблице у нас представлены 3 дня — воскресенье (1 апреля), понедельник (2 апреля), вторник (3 апреля), то у этих всех 3-х дней один номер недели = 14.
В столбце, рассчитанном на основе второй формулы, начало недели в понедельник. И именно поэтому, 1 апреля (воскресенье) имеет номер недели 13, а у 2 и 3 апреля, номер недели уже 14.
На этом, с разбором функций YEARFRAC, WEEKDAY и WEEKNUM в Power BI и PowerPivot, в данной статье все.
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи? Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D