ТЕКСТ ВЫДЕЛЕННЫЙ КУРСИВОМ НЕ ЯВЛЯЕТСЯ РЕАЛИЗОВАННЫМ В ДАННОЙ ВЕРСИИ. БУДЕТ РЕАЛИЗАЦИЯ В ДАЛЬНЕЙШЕМ (ЕСЛИ НЕОБХОДИМО)
Предназначен для разработки запросов к трекеру для построения отчетов в различных разрезах.
Пример правил:
// ОТЧЕТ ПО ГРУППЕ "Фактор потери веса"
/*
Это может быть многострочный комментарий.
*/
!ОТЧЕТ "Фактор потери веса по странам"
!ПО ГЕО
!ВЫЧИСЛИТЬ
КОНВЕРСИЯ = ОКРУГЛИТЬ ( ЛИДЫ.ДОХОД / КЛИКИ.КОЛИЧЕСТВО_УНИКАЛЬНЫЕ * 100 )
[ !НАЗВАНИЕ "Конверсия" ],
ПРОДАЖИ = ЛИДЫ.КОЛИЧЕСТВО
[ !НАЗВАНИЕ "Продажи" ]
!ПОКАЗАТЬ
КЛИКИ.НАЗВАНИЕ_КАМПАНИИ,
ЛИДЫ.ДОХОД,
ЛИДЫ.КОЛИЧЕСТВО,
КЛИКИ.КОЛИЧЕСТВО_УНИКАЛЬНЫЕ,
КОНВЕРСИЯ,
ПРОДАЖИ
!ГДЕ
ИД_ГРУППЫ = 68
!ФИЛЬТРОВАТЬ
КОНВЕРСИЯ > 0
Показать отчет с именем "Фактор потери веса по странам" в разрезе СТРАНЫ (ГЕО) для группы - Фактор потери веса (ID группы = 68)
Отчет будет иметь 2 вычисляемые колонки (КОНВЕРСИЯ и ПРОДАЖИ), с заголовками Конверсия и Продажи соотвественно.
Будут показаны следующие колонки в порядке пересичления: КЛИКИ.НАЗВАНИЕ_КАМПАНИИ, ЛИДЫ.ДОХОД, ЛИДЫ.КОЛИЧЕСТВО, КЛИКИ.КОЛИЧЕСТВО_УНИКАЛЬНЫЕ, КОНВЕРСИЯ, ПРОДАЖИ
Показывать только строки для которых КОНВЕРСИЯ > 0, остальные игнорировать.
Существуют следующие сущности:
ЧИСЛА - обычные целые или дробные числа.
'СТРОКИ' - каждая строка начинается с кавычки (') или двойной кавычки (") и заканчивается идентичным символом. Например:
- 'Это строка'
- "Это тоже строка"
- "Это не правильная строка' (будет выдана ошибка)
- 'Это тоже неправильная строка" (будет выдана ошибка)
[ СПИСКИ ] - представляют собой перечисления строк или чисел. Список заключается в квадратные скобки '[',']', элементы отделяются запятой (,). Например:
- ['яблоко','груша','цифра'] -- список строк
- [ 1,2,3,4,5 ] -- список чисел
ИДЕНТИФИКАТОРЫ -- строки, которые начинаются с любого буквенного символа (А-ЯA-Z) и содержащие буквы, цифры, знаки подчеркивания, %. Идентификаторы предназначены для обозначения колонок, сущностей, встроенных функций.
- ЛИДЫ.ДОХОД - адресует колонку ДОХОД у сущности ЛИДЫ в требуемом разрезе.
- КОНВЕРСИЯ - адресует вычисляемую колонку
- ОКРУГЛИТЬ ( [ВЫРАЖЕНИЕ] ) - адресует функцию ОКРУГЛИТЬ, которая применяется к ВЫРАЖЕНИЕ.
!ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА - начинаются со знака ! (восклицание) и предназначены для адресации различных секций в запросе.
Зарезервированными словами являются:
- !REPORT
- !ОТЧЕТ
- !SHOW
- !ПОКАЗАТЬ
- !CALC
- !ВЫЧИСЛИТЬ
- !TITLE
- !НАЗВАНИЕ
- !DESCRIPTION
- !ОПИСАНИЕ
- !FILTER
- !ФИЛЬТРОВАТЬ
- !BY
- !ПО
- !WHERE
- !ГДЕ
- !HAVING
- !ИТОГИ
- !TOTAL
[[ ТИП "Подпись к полю ввода:" ]] --- значения для подстановки. В запросе могут встречаться [[ ... ]] поля подстановки, которые позволяют описывать в запросе автоматически генерируемын HTML-странице поля. "Подпись к полю ввода:" -- является опциональной строкой.
Поддерживаются следующие ТИПЫ подстановок:
- ГРУППА -- список групп (результат - ИД_ГРУППЫ)
- КАМПАНИЯ -- список кампаний (результат - ИД_КАМПАНИИ)
- ДАТА -- дата для чего либо (результат - ДАТА)
- ПАРТНЕРКА -- список партнерок (результат - ИД_ПАРТНЕРКИ)
- ЧИСЛО -- обычное число (результат - ЧИСЛО)
- СТРОКА - простая строка (результат - СТРОКА)
- СТРАНА -- список стран (результат - Название страны )
- ИТОГИ_ПО -- список итоговых разрезов для динамической подстановки в !ИТОГИ !ПО.
Примеры использования:
!ИТОГИ !ПО [[ ИТОГИ_ПО ]]
[[ ГРУППА "Укажите группу: ]]
Пример использования в запросах:
!ОТЧЕТ "Фактор потери веса для русского трафика"
!ПО КАМПАНИИ
!ВЫЧИСЛИТЬ
КОНВЕРСИЯ = ОКРУГЛИТЬ ( ЛИДЫ.ДОХОД / КЛИКИ.КОЛИЧЕСТВО_УНИКАЛЬНЫЕ * 100 )
[ !НАЗВАНИЕ "Конверсия" ]
!ПОКАЗАТЬ
КЛИКИ.НАЗВАНИЕ_КАМПАНИИ,
ЛИДЫ.ДОХОД,
КЛИКИ.КОЛИЧЕСТВО_УНИКАЛЬНЫЕ,
КОНВЕРСИЯ
!ГДЕ
ИД_ГРУППЫ = [[ ГРУППА "Выберите группу:" ]] И СТРАНА = 'Russian Federation'
!ИТОГИ !ПО [[ ИТОГИ_ПО ]]
!ФИЛЬТРОВАТЬ
КОНВЕРСИЯ > [[ ЧИСЛО "Порог конверсии:" ]]
Запрос состоит из секций. В общем случе синтаксис запроса следующий:
!ОТЧЕТ "Название отчета"
!ПО [идентификатор разреза по которуму строится отчет]
Далее могут следовать любые секции в любом порядке:
!ВЫЧИСЛИТЬ <- секция для описания вычисляемых полей в отчете
[список полей для вычисления]
Список полей через запятую.
[элемент из списка полей для вычисления] = ИДЕНТИФИКАТОР КОЛОНКИ [ !НАЗВАНИЕ "Название колонки в таблице"]
!ПОКАЗАТЬ <- секция для перечисления и настройки способов отображения колонок в таблице
[правило вывода] = ТАБЛИЦУ | ГРАФИК | И (например: ТАБЛИЦУ И ГРАФИК, или ГРАФИК, или ТАБЛИЦУ). По-умолчанию действует ТАБЛИЦУ
[список полей, которые должны показываться в отчете]
[элемент из списка полей, которые должны показываться в отчете] = ИДЕНТИФИКАТОР КОЛОНКИ "Название колонки в таблице" [ опции_колонки ]
[опции_колонки] <- различные опции применяемы к колонке.
-
!НАЗВАНИЕ "НАЗВАНИЕ КОЛОНКИ" - строка отображается в заголовке таблицы, и легенде графика.
-
!ОПИСАНИЕ "ОПИСАНИЕ КОЛОНКИ" - расширенное описание, отображается (ХЗ ГДЕ :))), сделано на будущее.
-
!СКРЫТЬ - делает невидимым ряд на графике.
-
!ОСЬ !СПРАВА - ось колонки отображается справа на графике
-
!ОСЬ !СЛЕВА - ось колонки отображается слева на графике (по-умолчанию)
-
!ТИП !ЛИНИЯ или !СТОЛБЕЦ -- тип отображения ряда на графике (по-умолчанию СПЛАЙН)
!ГДЕ <- секция фильтрации сущностей по заданным правилам [выражение для фильтрации сущностей при выполнении отчета]
Колонки, перечисленные в данной секции должны поддерживаться всеми сущностями учавствующими в запросе. Колонки обозначаются без указания сущности (просто имя).
!ФИЛЬТРОВАТЬ <- секция фильтрации строк результата для отображения только значимой информации
[выражение для фильтрации окончательного результата]
!ИТОГИ !ПО ДНЯМ/НЕДЕЛЯМ/МЕСЯЦАМ [список полей для вычисления итоговых строк] <- секция указывает на то, что нужно получить итоговые данные с группировкой по ДНЯМ\НЕДЕЛЯМ\МЕСЯЦАМ
ИЛИ !ИТОГИ список полей для вычисления итоговых строк <- секция описывает формулы получения значений итоговой строки
[ список полей для вычисления итоговых строк ] - аналогичен формату списка полей из секции !ВЫЧИСЛИТЬ
Доступны следующие общеизвестные операции: +, - , * , /
Применение операции '+' к строкам приводит к их объединению, например: 'кот' + 'бегемот' = 'котбегемот'
Примеры:
- 1 + 2
- ( 1 + 3 ) / 4
- CTR > 20
Доступны следующие логические операции (в скобочках написаны эквивалентные английские наименования):
- И (AND)
- ИЛИ (OR)
- НЕ (NOT) -- операция отрицания, переворачивает результат истиности (ИСТИНА -> ЛОЖЬ, ЛОЖЬ -> ИСТИНА)
-
(больше)
- < (меньше)
-
= (больше или равно)
- <= (меньше или равно)
- = (строго равно)
- {ВЫРАЖЕНИЕ1} МЕЖДУ {ВЫРАЖЕНИЕ2} И {ВЫРАЖЕНИЕ3} -- истина, когда ВЫРАЖЕНИЕ2 <= ВЫРАЖЕНИЯ1 <= ВЫРАЖЕНИЕ3
Также доступны предопределенные константы:
- ИСТИНА (true) - всегда выражающее значение ИСТИНЫ
- ЛОЖЬ (false) - всегда выражающее значение противоположное ИСТИНЕ (ЛОЖЬ).
Примеры:
* 1 > 2 -- ЛОЖЬ
* НЕ( 1 > 2 ) -- ИСТИНА
* НЕ ЛОЖЬ -- ИСТИНА
При фильтрации таблицы, остаются только те строки для которых вычисляемое выражение есть ИСТИНА.
Перечисленные ниже операции выполняются в следующей последовательности (от наинизшего приоритета к наивысшему) при равных условиях:
- Логические: 'И', 'ИЛИ', 'НЕ ' '>','<','=<','>=', '<>','='
- Математические: '+', '-' '*' '/' '^', '!', '%'
- Статистические: 'СУММА', 'COUNT', 'МАКСИМУМ', 'МИНИМУМ', 'СРЕДНЕЕ', 'КОЛИЧЕСТВО'
Каждый отчет строится в определенном разрезе. Текущие поддерживаемые разрезы:
- ГЕО - по странам
- КАМПАНИИ - по кампаниям
С помощью разрезов указываются типы значений для ключевой (главной) колонки, которые будут в отчете. Каждая сущность в разрезе генерирует данные с одинаковыми типами главной колонки.
Сущность в отчете привязана к разрезу. Текущие доступные универсальные сущности:
- КЛИКИ -- отображение статистики по кликам
- ЛИДЫ -- отображение статистики по лидам
В зависимости от разреза, сущность генерирует различную информацию.
Комплекс Разрез-Сущность можно представить как таблицу, внутри которой происходит выборка.
Каждая сущность содержит колонки. Адресация колонок внутри сущности осуществляется путем указания (через точку):
ИМЯ_СУЩНОСТИ.ИМЯ_КОЛОНКИ
В секции !ГДЕ имена колонок представлены лишь одним именем, т.к. выражение из данной секции применяется к каждой из сущностей учавствующих в запросе.