Help us understand the problem. What is going on with this article?

Geckoboard にDynamics CRM、NetSuite、Marketo などのデータ連携先を追加(CData Cloud Hub)

この記事では、ダッシュボードツールGeckoboard にDynamics CRM、NetSuite、Marketo などの外部データを追加してリアルタイム連携を可能にする方法を説明します。利用するツールはiPaaS のCData Cloud Hub です。

Geckoboard について

Geckoboard (https://www.geckoboard.com/)は、クラウドサービスとして提供されるダッシュボードツールで、KPI のダッシュボードに強そうです。DB では、MySQL、PostgreSQL、Redshift に対応しているほか、Salesforce やGoogle sheets などの多様なSaaS データに対応しています。
geckoboard-0.png

ちなみにGecko って、「ヤモリ」のことなんですよね。カラフルなヤモリが壁に張り付いているイメージとダッシュボードが重なったんでしょうか(デマカセ)。

CData Cloud Hub について

CData Cloud Hub(https://www.cdata.com/cloudhub/)は、100 を超えるSaaS やNoSQL をSQL インターフェースに統一してアクセス可能にするサービスです。Salesforce、Dynamics CRM、NetSuite、Marketo、kintone、BigQuery といった異なるAPI・インターフェースを持ったサービスに対して、インターネット越しにSQL でのクエリを実現します。「データ仮想化」サービスと言われたり、DaaS やiPaaS のカテゴリに入ったりもします。
geckoboard-00.png

Cloud Hub でDynamics CRM に接続

Geckobaord は、Dynamics CRM などのデータソースに対応していません。今回はCloud Hub にDynamics CRM の仮想RDB エンドポイントを作成し、Geckoboard からシームレスにリアルタイムDynamics CRM データをクエリできるようにします。

Dynamics CRM をデータソースに設定

Cloud Hub のWeb コンソール画面にログインし、[DATABASE]タブを開きます。ロゴからDynamics CRM のロゴをクリックして開きます。

geckoboard-1.png

開いたデータベース設定画面で、ダッシュボードでデータを参照したいアカウントの認証情報を入力してDynamics CRM に接続します。
geckoboard-2.png

テスト接続をして、問題がなければ、接続を保存します。

これだけの設定で、Dynamics CRM がCloud Hub に登録され、仮想RDB としてSQL でクエリできるようになりました。

Cloud Hub では、データをOData、MySQL、TDS(SQL Server)の3種類のインターフェースで利用可能です。利用するインターフェースにチェックを入れます。
geckoboard-3.png

同様にMarketo やNetSuite などのSaaS についてもデータソース設定が可能です。

Geckoboard でDynamics CRM データをクエリ・ビジュアライズ

Geckoboard でDatabase としてDynamics CRM(Cloud Hub)を登録

Geckoboard にログインします。新しいWidjet を作ります。
geckoboard-7.png

利用可能なデータソースの一覧が表示されます。Dynamics CRM は一覧にないので、Cloud Hub の出番です。[Database]アイコンを選択します。
geckoboard-4.png

利用可能なデータベースが表示されます。[MySQL]を選択します。
geckoboard-5.png

MySQL のデータベース接続画面で、MySQL DB ではなく、CData Cloud Hub に設定したDynamics CRM を設定します。

  • Database type: MySQL
  • Connection Name: 任意
  • Host: xxxxcdatacloud.net (Cloud Hub で表示されるエンドポイント名)
  • Database name: Cloud Hub の接続名
  • Username & Password: Cloud Hub の[USER]タブで設定したユーザー名とパスワード

このようにダッシュボード側のMySQL インターフェースがあれば、Cloud Hub 経由でANSI SQL を使って、Dynamics CRM をはじめ100+ のデータソースへの連携が可能になります。

geckoboard-6.png

[Connect]を押して接続を確立します。

Geckoboard でダッシュボードを作成

接続確立後にSQL クエリを入力する画面が出ます。Geckoboard では、データセットを一度ロードする方法ではなく、ダッシュボードのWidget 毎にSQL のクエリでデータ指定を行います。

この例では、Dynamics CRM のOpportunity エンティティからName to
TotalAmount カラムを取得してビジュアライズします。データの絞り込みはWHERE 句、並べ替えにはORDER BY が使えます。

SELECT Name, TotalAmount from Opportunity ORDER BY TotalAmount DESC

geckoboard-8.png

また、カードWidget を使う場合には、数値を返すSQL が必要です。ここではDynamics CRM のCampaign エンティティからTotalActualCost を集計します。

SELECT SUM(TotalActualCost) from Campaign

こんな感じで簡単にダッシュボードが作成できます。
geckoboard-10.png

まとめ

このようにGeckoboard は、標準SQL をベースにWidget を作ります各種SaaS およびNoSQL のインターフェースをSQL に変換するCloud Hub(https://www.cdata.com/cloudhub/) サービスとは大変相性が良いと言えるでしょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away