Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex DataLens
  • Начало работы
  • Практические руководства
    • Все руководства
    • Визуализация данных из CSV-файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД Clickhouse и Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью QL-чарта
    • Построение чартов customer journeys на данных AppMetrica
  • Концепции
    • Обзор сервиса
    • Подключение
    • Типы данных
    • Датасет
      • Обзор
      • Модель данных
      • Настройки датасета
    • Чарт
      • Обзор
      • Типы чартов
      • Настройки чарта
    • Дашборд
    • Объединение данных
    • Использование Markdown в DataLens
    • DataLens Public
    • Вычисляемые поля
      • Обзор
      • Синтаксис формул
    • Параметризация
    • Marketplace
    • Резервное копирование
    • Кеширование
    • Квоты и лимиты
    • Организации в DataLens
  • Пошаговые инструкции
    • Все инструкции
    • Работа с подключениями
      • Создание подключения к ClickHouse
      • Создание подключения к файлу CSV
      • Создание подключения к Google Sheets
      • Создание подключения к MySQL
      • Создание подключения к PostgreSQL
      • Создание подключения к MS SQL Server
      • Создание подключения к Oracle Database
      • Создание подключения к YDB
      • Создание подключения к Greenplum
      • Создание подключения к Metrica API
      • Создание подключения к AppMetrica
      • Создание подключения к Yandex Cloud Billing
      • Управление доступом к подключению
    • Работа с датасетами
      • Создание датасета
      • Объединение данных из нескольких таблиц
      • Объединение данных из нескольких CSV-подключений
      • Создание поля данных
      • Создание вычисляемого поля данных
      • Создание фильтра по умолчанию для новых чартов
      • Обновление полей в датасете
      • Описание датасета через SQL-запрос к источнику
      • Материализация датасета
      • Управление доступом к датасету
      • Управление доступом к строкам данных
      • Добавление параметра в датасет
    • Работа с чартами
      • Создание линейной диаграммы
      • Создание диаграммы с областями
      • Создание круговой диаграммы
      • Создание кольцевой диаграммы
      • Создание столбчатой диаграммы
      • Создание линейчатой диаграммы
      • Создание точечной диаграммы
      • Создание карты
      • Создание таблицы
      • Создание сводной таблицы
      • Создание индикатора
      • Создание древовидной диаграммы
      • Создание QL-чарта
      • Создание мультидатасетного чарта
      • Добавление иерархии
      • Настройка навигатора
      • Публикация чарта
      • Управление доступом к чарту
      • Добавление guid в качестве параметра
      • Добавление параметра в чарт
    • Работа с дашбордами
      • Создание дашборда
      • Добавление чарта на дашборд
      • Добавление селектора на дашборд
      • Создание алиаса
      • Удаление поля алиаса
      • Публикация дашборда
      • Управление доступом к дашборду
      • Добавление параметров на дашборд
      • Автообновление дашборда
    • Работа с правами доступа
      • Назначение прав доступа
      • Удаление прав доступа
      • Запрос прав доступа
    • Работа с DataLens Marketplace
      • Добавление продукта из Marketplace
      • Удаление продукта из Marketplace
      • Создание и подключение коннектора (для партнеров)
    • Работа с организациями
      • Переключение между экземплярами DataLens
  • Управление доступом
    • Управление доступом к DataLens
    • Управление доступом на уровне строк данных
  • Правила тарификации
  • Справочник функций
    • Все функции
    • Агрегатные функции
      • Обзор
      • ALL_CONCAT
      • ANY
      • ARG_MAX
      • ARG_MIN
      • AVG
      • AVG_IF
      • COUNT
      • COUNTD
      • COUNTD_APPROX
      • COUNTD_IF
      • COUNT_IF
      • MAX
      • MEDIAN
      • MIN
      • QUANTILE
      • QUANTILE_APPROX
      • STDEV
      • STDEVP
      • SUM
      • SUM_IF
      • TOP_CONCAT
      • VAR
      • VARP
    • Географические функции
      • Обзор
      • GEOCODE
      • GEOINFO
      • TOPONYM_TO_GEOPOINT
      • TOPONYM_TO_GEOPOLYGON
    • Логические функции
      • Обзор
      • CASE
      • IF
      • IFNULL
      • ISNULL
      • ZN
    • Математические функции
      • Обзор
      • ABS
      • ACOS
      • ASIN
      • ATAN
      • ATAN2
      • CEILING
      • COS
      • COT
      • DEGREES
      • DIV
      • EXP
      • FLOOR
      • GREATEST
      • LEAST
      • LN
      • LOG
      • LOG10
      • PI
      • POWER
      • RADIANS
      • ROUND
      • SIGN
      • SIN
      • SQRT
      • SQUARE
      • TAN
    • Оконные функции
      • Обзор
      • AVG
      • AVG_IF
      • COUNT
      • COUNT_IF
      • FIRST
      • LAG
      • LAST
      • MAVG
      • MAX
      • MCOUNT
      • MIN
      • MMAX
      • MMIN
      • MSUM
      • RANK
      • RANK_DENSE
      • RANK_PERCENTILE
      • RANK_UNIQUE
      • RAVG
      • RCOUNT
      • RMAX
      • RMIN
      • RSUM
      • SUM
      • SUM_IF
    • Операторы
      • Обзор
      • AND
      • BETWEEN
      • IN
      • IS FALSE
      • IS TRUE
      • LIKE
      • NOT
      • OR
      • Вычитание (-)
      • Деление (/)
      • Остаток (%)
      • Отрицание (-)
      • Сложение и конкатенация (+)
      • Сравнение
      • Степень (^)
      • Умножение (*)
    • Строковые функции
      • Обзор
      • ASCII
      • CHAR
      • CONCAT
      • CONTAINS
      • ENDSWITH
      • FIND
      • ICONTAINS
      • IENDSWITH
      • ISTARTSWITH
      • LEFT
      • LEN
      • LOWER
      • LTRIM
      • REGEXP_EXTRACT
      • REGEXP_EXTRACT_NTH
      • REGEXP_MATCH
      • REGEXP_REPLACE
      • REPLACE
      • RIGHT
      • RTRIM
      • SPACE
      • SPLIT
      • STARTSWITH
      • SUBSTR
      • TRIM
      • UPPER
      • UTF8
    • Функции даты и времени
      • Обзор
      • DATEADD
      • DATEPART
      • DATETRUNC
      • DAY
      • DAYOFWEEK
      • HOUR
      • MINUTE
      • MONTH
      • NOW
      • QUARTER
      • SECOND
      • TODAY
      • WEEK
      • YEAR
    • Функции для работы с временными рядами
      • Обзор
      • AGO
      • AT_DATE
    • Функции для работы с массивами
      • Обзор
      • ARRAY
      • ARR_STR
      • CONTAINS
      • COUNT_ITEM
      • GET_ITEM
      • SLICE
      • STARTSWITH
      • UNNEST
    • Функции преобразования типов
      • Обзор
      • BOOL
      • DATE
      • DATETIME
      • DATETIME_PARSE
      • DATE_PARSE
      • DB_CAST
      • FLOAT
      • GEOPOINT
      • GEOPOLYGON
      • INT
      • STR
    • Функции разметки
      • Обзор
      • BOLD
      • ITALIC
      • MARKUP
      • URL
    • Поддержка функций
  • Туториалы по функциям
    • Агрегатные функции
    • Оконные функции
    • LOD-выражения и управление фильтрацией в агрегатных функциях
  • Публичные материалы
    • Образовательные проекты
    • Вебинары и конференции
    • Статьи и публикации
    • Публичные дашборды и чарты
  • Решение проблем
    • Вопросы и ответы
    • Ошибки DataLens
  1. Справочник функций
  2. Функции для работы с временными рядами
  3. Обзор

Функции для работы с временными рядами

Статья создана
Yandex Cloud
  • Синтаксис
    • BEFORE FILTER BY
    • IGNORE DIMENSIONS
  • AGO
  • AT_DATE

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

В некоторой степени эти функции схожи с оконной LAG.

Основное отличие — LAG не учитывает значения измерений и использует смещение, заданное в виде количества строк.

Функции временных рядов работают с конкретными значениями или смещениями, заданными во временных единицах (дни, часы или секунды). За счет этого они становятся чувствительными к пропущенным значениям в данных. В результате, формула AGO(SUM([Sales]), [Date], "year") вернет NULL, если отсутствуют данные на ту же дату за предыдущий год.

Синтаксис

Функции временных рядов поддерживают расширенный синтаксис:

<FUNCTION_NAME>(
    arg1, arg2, ...

    [ BEFORE FILTER BY filtered_field_1, ... ]
    [ IGNORE DIMENSIONS dimension_1, ... ]
)

BEFORE FILTER BY

Если какие-то поля перечислены в BEFORE FILTER BY, то функция вычисляется до применения фильтрации по этим полям.
Например, если c помощью функции AGO раcсчитать [Sales] за период (год назад) от текущей даты:

AGO([Sales], [Date], "year", 1)

и при этом в чарте используется фильтр, ограничивающий даты одним годом (2018 < [Year] <= 2019, где Year равно YEAR([Date])), то все строки, относящиеся к 2018 году, будут исключены из запроса. В результате в функция вернет NULL.

Если в формулу c AGO добавить BEFORE FILTER BY:

AGO([Sales], [Date], "year", 1 BEFORE FILTER BY [Year])

то функция вернет значение [Sales].

Временное измерение, заданное вторым аргументом функций временных рядов, автоматически добавляется в BEFORE FILTER BY. Таким образом, следующие две формулы эквивалентны:

AGO([Sales], [Date], "week")
AGO([Sales], [Date], "week" BEFORE FILTER BY [Date])

IGNORE DIMENSIONS

IGNORE DIMENSIONS позволяет исключить измерения из критериев поиска. Для вычисления значения показателя для какой-то даты, поиск нужной строки производится с помощью построчного соспосталения значений всех измерений со значениями этих же измерений в текущей строке. Если какие-либо измерения косвенно или напрямую зависят от даты, то запрос может вернуть пустые значения (NULL).

Например, если делается запрос с полями [Date], [Month] (месяц от даты) и AGO([Sales], [Date], "month"), то будет невозможно найти строку, в которой значение [Date] на месяц меньше текущего, а значение [Month] совпадает со значением в текущей строке. Из-за этого результатом AGO будет NULL во всех строках.

Чтобы функция вернула правильное значение [Sales], с помощью IGNORE DIMENSIONS исключите измерение [Month]:

AGO([Sales], [Date], "month" IGNORE DIMENSIONS [Month])

AGO

Синтаксис:
AGO( measure, date_dimension [ , unit [ , number ] ] )
или
AGO( measure, date_dimension [ , unit [ , number ] ] [ BEFORE FILTER BY ... ] [ IGNORE DIMENSIONS ... ] )

Вычисляет measure для даты/времени с указанным смещением.
Аргумент date_dimension задает измерение, вдоль которого делается смещение.
Аргумент number задается целым числом. Может принимать отрицательные значения.
Аргумент unit принимает следующие значения:

  • "year" — год;
  • "month" — месяц;
  • "day" — день;
  • "hour" — час;
  • "minute" — минута;
  • "second" — секунда.

Возможен вариант использования AGO( measure, date_dimension, number ). В этом случае аргумент unit — количество дней.

См. также AT_DATE, LAG.

AT_DATE

Синтаксис:
AT_DATE( measure, date_dimension, date_expr )
или
AT_DATE( measure, date_dimension, date_expr [ BEFORE FILTER BY ... ] [ IGNORE DIMENSIONS ... ] )

Вычисляет measure для даты/времени, заданных выражением date_expr.
Аргумент date_dimension задает измерение, вдоль которого делается смещение.

См. также AGO, LAG.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Синтаксис
  • BEFORE FILTER BY
  • IGNORE DIMENSIONS
  • AGO
  • AT_DATE