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 データに対応しています。

ちなみに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 のカテゴリに入ったりもします。

Cloud Hub でDynamics CRM に接続

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

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

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

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

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

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

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

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

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

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

Geckoboard にログインします。新しいWidjet を作ります。

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

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

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+ のデータソースへの連携が可能になります。

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

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

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

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

SELECT Name, TotalAmount from Opportunity ORDER BY TotalAmount DESC

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

SELECT SUM(TotalActualCost) from Campaign

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

まとめ

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