R отличный, а что еще отличнее — на github много классных, готовых решений. Например коннектор к Яндекс.Вебмастер.
Еще прекраснее то, что Power BI может использовать R-скрипты для получения данных в запрос и дальнейшей работы в модели.
Скачиваем R и IDE
Для работы нужно скачать сам R → ссылка
А так же интегрированную среду разработки (IDE). Я предпочитаю R-studio → ссылка
После установки перезагружаем Power BI, идем в параметры и смотрим правильно ли PBI определила путь к R и IDE.
Теперь можно в качестве источника данных выбирать R-скрипт.
Как запускать
Если для запуска скрипта необходимо скачивать какой-то пакет → делаем это в R-studio, далее подключим его в PBI.
Идем в «Получить данные» → «Дополнительные сведения» → «R-скрипт»
Если скрипт требует подключения каких-либо библиотек → подключаем их первой строкой. Рассмотрим на примере скрипта выгрузки последних запросов из Яндекс.Вебмастер
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//подключаем нужную библиотеку library(ryandexwebmasterv3) //идем в https://oauth.yandex.ru/authorize?response_type=token&client_id=b8ab247215a44f0ea474417aaf4e6739 и получаем токен //вводим переменную токена token <- '<ваш токен>' user_id <- ywGetUserId(token=token) sites_list <- ywGetSitesList(user_id=user_id, token=token) //получаем список популярных запросов сайта отсортированных по количеству кликов sitePopQueries <- ywGetPopQueries(user_id=user_id, host_id=sites_list$host_id[1], order_by="TOTAL_CLICKS", token=token) |
Добавление параметров запросов в R-скрипт
Но что делать, если хочется посмотреть список запросов по другому сайту? Или изменить токен и не лезть в расширенный редактор. Вообщем, можно найти много применений параметрам запроса в Power BI.
Функционал параметров запросов позволяет «легко определить один или несколько параметров, которые будут использоваться в своих запросах» © Подробнее
В данном примере рассмотрим быстрое изменение запроса с сортировки по кликам
1 |
order_by="TOTAL_CLICKS" |
на сортировку по показам
1 |
order_by="TOTAL_SHOWS" |
Создадим параметр запроса «orderby».
Перейдем в редактирование запроса → Управление параметрами → Создать параметр
Чтобы добавить параметр в R-скрипт, в необходимое место вставляем используем Text.From, выглядит это так
1 |
"&Text.From(<имя параметра>)&" |
На примере нашего скрипта
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//подключаем нужную библиотеку library(ryandexwebmasterv3) //идем в https://oauth.yandex.ru/authorize?response_type=token&client_id=b8ab247215a44f0ea474417aaf4e6739 и получаем токен //вводим переменную токена token <- '<ваш токен>' user_id <- ywGetUserId(token=token) sites_list <- ywGetSitesList(user_id=user_id, token=token) //получаем список популярных запросов сайта отсортированных по количеству кликов sitePopQueries <- ywGetPopQueries(user_id=user_id, host_id=sites_list$host_id[1], order_by="""&Text.From(groupby)&""", token=token) |
Теперь после получения данных из скрипта, мы можем изменить значение переменной и обновить запрос получив новые данные.