Статьи

Сообщение данных JSON с помощью Couchbase и PowerBI

PowerBI и собственная обработка JSON

PowerBI — одна из замечательных новых сред отчетности, которую вы можете использовать для визуализации данных. Одним из больших преимуществ PowerBI является его собственная поддержка JSON и встроенный программируемый механизм преобразования. Power-BI может просто напрямую общаться с Couchbase Server и сообщать о данных. Драйвер ODBC или JDBC не требуется!

Визуализация данных в Couchbase Server v4 за 4 шага

Давайте пройдемся по 3 шагам, чтобы визуализировать данные вашего сервера Couchbase в PowerBI:

# 1 Получить пример данных:

Я использую корзину примеров путешествий, которая поставляется с Couchbase Server 4. Установите этот набор данных с помощью вкладки «настройки» в консоли администратора или во время установки. Вы сможете следовать вместе с примерами.

# 2 Запрос через N1QL REST API:

Я буду использовать довольно простой запрос для примера: этот запрос возвращает полный список всех авиакомпаний с общим количеством рейсов в каждый аэропорт назначения.

  SELECT a.name, r.destinationairport, count(a.name) as total_flights 
  FROM `travel-sample` r JOIN `travel-sample` a ON KEYS r.airlineid 
  WHERE r.type ="route" AND a.type="airline" 
  GROUP BY r.destinationairport, a.name 
  ORDER BY r.destinationairport

Связать PowerBI с N1QL. Мы будем использовать N1QL REST API для выполнения запроса. Некоторые могут этого не знать, но N1QL поставляется с REST API, который принимает специальную инструкцию. N1QL REST API документирован здесь , и вы можете использовать осведомленный инструмент JSON вашего выбора напрямую ударить этот API. Мой инструмент выбора — Почтальон (также доступен на Chrome MacketPlace). API REST N1QL в сочетании с почтальоном дает мне полное представление о том, что происходит по проводам

На следующем рисунке я подключаюсь к локальному узлу кластера на порту 8093 с помощью вышеуказанного запроса с почтальоном.

Мы передадим закодированный URL-адрес в Power BI, и он будет выглядеть следующим образом:

http://10.0.0.52:8093/query/service?statement=select%20a.name,r.destinationairport,%20count(a.name)%20total_flights%20from%20`travel-sample`%20r%20join%20`travel-sample`%20a%20on%20keys%20r.airlineid%20where%20r.type%20=%22route%22%20and%20a.type=%22airline%22%20group%20by%20r.destinationairport,%20a.name%20order%20by%20r.destinationairport

# 3 Отправка и преобразование данных в PowerBI:

Наконец, вам нужно запустить настольную версию Power BI, чтобы привести свою память в порядок. Настольная версия бесплатна и доступна здесь .

  • Перейдите в меню «Получить данные» и выберите «Интернет» в качестве метода. Введите URL-адрес выше и дождитесь появления данных.
  • Теперь мы пройдем через ряд преобразований, чтобы подготовить наши данные для визуализации.

    1. Как только результаты передаются в Power BI, вы увидите атрибуты JSON, которые возвращаются из N1QL. Разверните «результаты», щелкнув ссылку «Список» на экране.
  • Мы будем использовать преобразование таблицы для формирования нашего JSON. Нажмите на меню «To Table» вверху и не указывайте разделитель. Просто нажмите «ОК».
  • Затем вы щелкнете по маленькому значку «split» в верхней части столбца в сетке из одного столбца, чтобы разделить атрибуты в JSON на отдельные столбцы в таблице.
  • Как только вы нажмете «ОК», вот как должна выглядеть завершенная трансформация данных … Просто нажмите «Закрыть и применить» в верхнем левом углу.
  • # 4 Визуализация данных в PowerBI:

    Мне нравится использовать визуализацию TreeMap для отображения наиболее популярных направлений для каждой авиакомпании. Попасть туда,

    1. Перетащите «Column1.destinationairport» в группу 
    2. Перетащите «Column1.total_flights» в значения.
    3. Перетащите «Column1.name» на « Фильтры уровня страницы» и разверните поле для фильтрации «Air Foyle».

    Вы также измените тип данных для total_flights. Чтобы попасть туда, есть еще 2 клика. Следуйте Green Plus на рисунке ниже.

    1. Измените тип данных для столбца total_flights на «Весь номер».
    2. Измените Агрегацию на total_flights на «Сумма».

    И все готово!

    В предыдущие десятилетия реляционные данные с таблицами и столбцами были самой популярной формой. ODBC и JDBC обеспечили большую простоту подключения к этим данным. Couchbase Server также предоставляет эту возможность. Вот ссылка для загрузки бесплатных драйверов ODBC и JDBC для Couchbase Server. Однако … Что я вижу в современном мире, так это то, что большинство новых данных, которые генерируются и хранятся, находятся в формате JSON. Благодаря этим изменениям новые платформы визуализации данных добавляют мощную поддержку JSON. PowerBI проделал большую работу, чтобы упростить работу с данными на Couchbase Server без драйвера ODBC.