Шаблоны SQL запросов для вычисляемых полей в Yandex Datalens

Общее применение

Древовидная структура таблицы (применяется в чарте таблицы)
TREE(ARRAY([UTMSource],[UTMCampaign],[UTMTerm],[UTMContent]))
Деление
FDIV_SAFE(SUM([Расходы, ₽]),SUM([Клики]),0)

Для работы с данными из рекламных площадок

Удаляет информацию в скобках. Например, поле "Кампания":
  • Было: Рекламная кампания1(12345678)
  • Стало: Рекламная кампания1
REGEXP_REPLACE([название поля], '\([^()]*\)', '')
Формирует новое поле из 3 других:
  • Из utm_source забирает все строки, в которых есть "yandex" и добавляет их в новое поле меняя название на "Яндекс Директ"
  • Если первое условие не срабатывает, то далее из рекламного источника 1 забирает наименование и добавляет его в новое поле
  • Если и это условие не срабатывает, то забирает наименование из поля рекламного источника 2
IF(CONTAINS([utm_source], "yandex") = TRUE)
THEN "Яндекс Директ"
    ELSEIF([рекламный источник 1] != '')
    THEN [рекламный источник 1]
    ELSE [рекламный источник 2]
END
Переименовывает название источников или других строчных обозначений
CASE [TrafficSource]
    WHEN 'organic' THEN 'Переходы из поисковых систем'
    WHEN 'internal' THEN 'Внутренние переходы'
    WHEN 'direct' THEN 'Прямые заходы'
    WHEN 'ad' THEN 'Переходы по рекламе'
    WHEN 'referral' THEN 'Переходы по ссылкам на сайтах'
    ELSE [TrafficSource]
END

Для работы с данными из CRM

Когда в таблице по CRM нужно вывести из строк подсчет какого либо этапа в отдельное поле (столбец)
SUM(
 IF([Этап сделки] = 'Название этапа' AND [Воронка] = 'Название воронки')
        THEN 1
    ELSE 0
    END)
Формирование нового поля "Выручка" из данных CRM таблицы. Если срабатывает условие определенного этапа сделки "Успешно реализовано" и воронки "Название воронки", то берется сумма сделки из поля "Сумма сделки"
SUM(
    IF([Этап сделки] = 'Успешно реализовано' AND [Воронка] = 'Название воронки')
        THEN [Сумма сделки, ₽]
    ELSE 0
    END
)
Проверка заполняемости какого либо поля в сделке в CRM (например, "Source").
if([Source]!='')
THEN 'Да'
ELSE 'Нет'
end
Добавляет условие выбора списка конверсий в моделях атрибуций
IF [conversions]="Всего заявок"
    THEN SUM([vsego_zayavok_first])
ELSEIF [conversions]="Встреча проведена"
    THEN Sum([vstrecha_provedena_first])
ELSEIF [conversions]="Оплата получена"
    THEN SUM([oplata_poluchena_first])
ELSEIF [conversions]="Выручка, ₽"
    THEN SUM([profit_first])
ELSE SUM([vsego_zayavok_first])+Sum([vstrecha_provedena_first])+SUM([oplata_poluchena_first])+SUM([profit_first])
END