С тех пор, как мы начали работать с Microsoft Power BI, прошло значительное количество времени и, неожиданно было отмечено, что у нас осталась лишь одна область деятельности без визуализированных отчётов – Яндекс Метрика.
Однако, тривиальная в общем-то задача, оказалась не настолько простой, как ожидалось.
Всё дело в том, что если для Google Analytics у Microsoft cуществует коннектор «из коробки», то для продукта российской компании его нет.
На помощь пришли поисковые системы, и спустя некоторое время было сформировано два варианта по достижению нашей цели. Первый вариант – готовое решение для экспорта данных из Яндекс Метрики в Excel или Power BI от Максима Уварова.
Инструкция по подключению достаточно подробна и вряд ли нуждается в пояснениях.
Вторым же вариантом оказалось использование скриптового языка R-script, для подключения к API.
В то время как моя коллега решила следовать первому варианту, я предпочёл второй путь решения. Для этого мне понадобился программный пакет ryandexdirect, за авторством Алексея Селезнёва, актуальная версия R и, разумеется, PowerBI. После установки и запуска R, нужно загрузить в него дополнительные пакеты.
Для этого необходимо вставить следующие строки в консоль R :
if(!"bitops" %in% installed.packages()[,1]){install.packages("bitops")}
if(!"devtools" %in% installed.packages()[,1]){install.packages("devtools")}
library(devtools)
install_github('selesnow/ryandexdirect')
library(ryandexdirect)
В результате проделанных операций появится сообщение, подтверждающее удачную установку пакетов.
Для дальнейшей работы потребовалось получить токен, для доступа к API Метрики.
Вводим следующую строку в консоли R .
my_token <- yadirGetToken()
В открывшемся окне браузера, приложение запросит доступ к данным и, после того как получит желаемое, откроет окно с кодом доступа к API.
Его нужно сохранить, поскольку он понадобится немного позже.
Далее, нужно указать в PBI местонахождение каталога R-script.

И добавить следующую команду в R :
В работе с функцией используются следующие аргументы, параметры которых необходимо заменить на ваши данные:
- counter — номер счётчика Яндекс.Метрики;
- date_from — начальная дата отчёта;
- date_to — конечная дата отчёта;
- fields — список полей, которые вы хотите получить; при этом нельзя одновременно запрашивать данные, с разными суффиксами, например: ym:s:visitID и ym:ad:currency ;
- source — источник записей; варианты для запроса: «hits» просмотры или «visits» визиты;
- token — API токен; ключ доступа к Logs API, который мы получили ранее;
В результате мы получили устойчивое подключение к Яндекс Метрике.
Дело за малым – нарисовать красивый отчёт.

автор:
Малых Дмитрий, бизнес-аналитик Департамента Управления Проектами