В этом практическом уроке решим с вами задачку на первый взгляд непростую для реализации в DataLens. Как нам получить порядковый номер дня года.
Сегодня давайте рассмотрим задачку на первый взгляд непростую для реализации в DataLens. Как нам получить порядковый номер дня года. В типовых функциях DataLens есть возможность быстро получить только номер дня в месяце. Но очень часто возникает потребность узнать именно номер дня в году. Например, 31 декабря – это обычно 365 день в году.
Как же это сделать штатными средствами Даталенс?
На самом деле, сделать это очень просто. В этом на поможет функция DateTrunc. Если помните, данная функция изменяет размерность дат и группирует данные на первое число нужной размерности (на первое число квартала или года). Поэтому с ее помощью сначала давайте определим первое число года для каждой даты.
Справка
Возвращает дату, округленную по аргументу unit
.
Синтаксис
DATETRUNC( datetime, unit [ , number ] )
Описание
Если задан аргумент number
, то происходит округление до этого количества временных единиц. Отсутствие аргумента эквивалентно значению 1
.
Поддерживаемые значения unit
:
"second"
;"minute"
;"hour"
;"day"
(при заданномnumber
используется номер дня в году);"week"
;"month"
;"quarter"
;"year"
.
Типы аргументов:
datetime
—Дата | Дата и время
unit
—Строка
number
—Целое число
Таким образом, формула будет выглядеть так.
![Как получить порядковый номер дня года в DataLens, изображение №1](https://sun9-1.userapi.com/impg/rmAYB73n4Z1OQEOrTxPy7AbOC-q0mg9OhSJQKQ/0m3YpKTIKFY.jpg?size=533x148&quality=95&sign=f83e4bf67a16c4933574b24d90aab981&type=album)
В нашей таблице рядом с датами появился первый день каждого года. Для наглядности добавим новое поле в чарт.
![](https://biba.pro/wp-content/uploads/2024/07/image-84.png)
И теперь все, что нам надо, это рассчитать разницу в днях между исходной датой слева и началом года. Например, 1 декабря 2022 минус 01 января 2022.
![](https://biba.pro/wp-content/uploads/2024/07/image-85.png)
Но обратите внимание, что к полученному результату нам нужно добавить 1. Так как формула рассчитывает именно разницу, дельту дней, то она не учитывает тот самый первый день года. Его мы и добавляем в конце.
В итоге мы получаем порядковый номер дня в каждом году.
![](https://biba.pro/wp-content/uploads/2024/07/image-86.png)
Вот таким несложным способом можно получить в DataLens номер дня в году.
Наши курсы
Также ниже можно скачать PDF версию урока.
Если вам понравился урок, то можете поддержать проект по кнопке ниже. Это очень поможет делать для вас больше интересных и полезных выпусков. Спасибо!
![](https://biba.pro/wp-content/plugins/dk-pricr-responsive-pricing-table/inc/img/rpt_recommended.png)
Задать вопросы и обсудить волнующие темы про аналитику данных теперь можно на нашем форуме.
Если вам понравился урок, подписывайтесь на канал или группу и ставьте лайки. А также пишите в комментариях свои кейсы или вопросы. Самые интересные мы обязательно разберем.