Как известно, есть очень удобный коннектор к Power BI – PQYandexMetrica, с помощью которого можно быстро выгружать данные из Метрики в готовом виде. В том числе и некие «срезы» по поведенческим показателям.
Примеры данных, которые можно получать и обновлять
Т.к. в основе Power BI, то, настроив 1 раз, потом надо всего лишь обновлять данные по клику (и копипастить в Excel, при необходимости).
Стандартный срез + целевые юзеры
Весь каталог (исключая карточки товаров)
Одна из иерархий каталога + карточки товара определённого типа
Демография
Файл со срезами
Можно использовать этот файл для подгона под свои данные. Далее настройка будет рассматриваться на его базе. Поехали.
Подключение к Метрике
- Скачать и установить Power BI;
- Скачать последнюю версию PQYandexMetrica – если есть желание самостоятельно настроить с 0 (это рассматриваться не будет), либо указанный выше файл (потом всегда можно переехать на последнюю версию);
- Настроить токен и подключение к Метрике по инструкции.
Базовые настройки
Для редактирования настроек среза нужно выбрать в списке полей нужный запрос (срез), правой кнопкой и «изменить…»:
Указать свой id Метрики и токен, изменить фильтрацию по городу (либо убрать её, очистив поле filters):
Для изменения диапазона, поменять значения в date1 и date2. Например, чтобы выбрать последний квартал, можно указать в date1 90daysAgo
(цифра означает число дней, разумеется), а в date2 оставить yesterday
.
Сохранение изменений
После редактирования сохраняем с помощью кнопки «закрыть и применить»:
Настройка целевых посетителей
По желанию можно настроить такой учёт.
Идентификаторы целей
У каждой цели в Метрике есть идентификатор, посмотреть можно в колонке «номер цели»:
Определяем все цели, достижение хотя бы одной из которых, свидетельствует о том, что визит целевой, собираем их идентификаторы.
Запись для API
Выгрузка посетителей по одной цели выглядит так: ym:s:goalXXXXXusers
, где вместо XXXXX – id соответствующей цели.
Модификация metrics
То есть, для каждой цели будет такая запись, готовим их все и дописываем через запятую в параметр metrics. Должно получиться примерно следующее:
ym:s:users,ym:s:bounceRate,ym:s:pageDepth,ym:s:avgVisitDurationSeconds,ym:s:robotPercentage,ym:s:goalXXXXXusers,ym:s:goalYYYYYusers,ym:s:goalZZZZZusers
Где XXXXX, YYYYY и ZZZZZ – идентификаторы нужных целей (то есть, в данном случае у нас будут данные по 3-м целям).
Обработка с помощью DAX
DAX – последователь Power Query, и с помощью этой подсистемы можно привести данные по целевым посетителям в нужный вид.
Тип данных столбцов целей
Делаем активным последний элемент в списке, кликнув по нему:
Выделяем (с зажатым shift’ом) в таблице все столбцы, которые означают наши цели (начинаются с «Целевые посетители»), и с помощью контекстного меню делаем их целыми числами:
Сводный столбец целевых посетителей
Выбираем в верхней панели добавление «настраиваемого столбца»:
Называем столбец «Целевые посетители», далее ставим курсор после знака «=» и перетаскиваем с помощью кнопки «вставить» все столбцы по отдельным целям, разделяя их между собой знаком «+» (то есть, складываем значения всех столбцов целей). Примерно так это выглядит:
Нажимаем OK.
Тип данных сводного столбца целей
По аналогии с тем, как поменяли тип данных для столбцов отдельных целей, меняем тип данных нового столбца (также указываем «целое число»).
Удаление столбцов отдельных целей
Выделяем все столбцы целей, кроме сводного, и удаляем их через контекстное меню:
Столбец процентов
По аналогии добавляем ещё один настраиваемый столбец, и указываем формулу расчёта процентов: (100 * [Целевые посетители]) / [Посетители]
Округление процентов
Не люблю работать в Power Query с процентами с типом данных «проценты», делаю округление до 1 знака после запятой с помощью контекстного меню на столбце процентов: «Преобразование» - «Округление» - «Округление»
Дублирование срезов
Один раз настроив срез (например, добавив учёт тех же целевых посетителей), похожие срезы нет смысла делать с нуля, достаточно продублировать уже настроенный (чтобы затем добавить различий):
Настройки фильтрации по URL’ам
Часто бывает полезно получить данные не по всему сайту, а по некоторым типам страниц или иерархиям – либо по просмотру таких страниц (ym:pv:URL
), вне зависимости от посадки, либо только когда являются посадками (ym:s:startURL
).
Понятно, что типы страниц и иерархии должны быть определяемые по URL’у (т.к. фильтрация производится по нему).
Справка по фильтрам тут.
Пример простого фрагмента
Все посадочные страницы, имеющие в URL’е фрагмент site.ru/category/:
ym:s:startURL=@'.ru/category/'
Пример более сложного фрагмента
Просмотр страниц, имеющих в URL’е фрагменты /category и /svetilniki, но между ними могут быть врезки других фрагментов, например, site.ru/category/cheap/svetilniki/kuhnya, site.ru/category/svetilniki/bra, site.ru/category/vip/svetilniki:
ym:pv:URL=~'.*?\\.ru/category/svetilniki(/.*|$)' OR ym:pv:URL=~'.*?\\.ru/category/.*?/svetilniki(/.*|$)'
Куда вбивать фильтрацию по URL’ам
Выбираем нужный срез/запрос, нажимаем шестерёнку возле Source и в параметре filters указываем нужные фильтры, сочетая их с прочими фильтрами (если они есть) через оператор AND:
В данном примере строка фильтров следующая:
ym:s:regionCityName=='Москва' AND (ym:pv:URL=~'.*?\\.ru/category/svetilniki(/.*|$)' OR ym:pv:URL=~'.*?\\.ru/category/.*?/svetilniki(/.*|$)')
Обновление данных
Когда через некоторое время нужно обновить данные, в главном окне программы выбираем в контекстном меню среза пункт «обновить»:
Экспорт в Excel
Не нашёл другого способа в бесплатной версии Power BI, кроме как копипастить. Сначала нужно переключиться на табличный вид:
Затем в контекстном меню нужного среза выбрать пункт «копировать таблицу»:
И вставить в Excel.
Пожирание лимитов
Выгрузка данных рассмотренным способом тратит лимиты. Пока лень было выяснить, какой получается их расход, но это сделать можно – например, с помощью Директ Коммандера, который показывает данные по лимитам (засечь и сравнить значения до и после отправки запроса по API).