EmotionTech API で取得できるNPS®データとkintoneのデータをマージして、PowerBI上で分析を行う:CData REST Driver

by 杉本和也 | 2020年06月25日

f:id:sugimomoto:20200622152021p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はクラウド型サーベイサービス EmotionTechを使って、PowerBIで分析する方法を紹介したいと思います。

EmotionTechとは?

様々な質問タイプや条件の設定など、顧客の感情を正確に把握するためのアンケートを簡単に作成し、NPS®をはじめ、顧客の回答データをリアルタイムに集計し、自動でグラフ化することができる、クラウド型サーベイサービスです。

https://www.emotion-tech.co.jp/service/emotion-tech

f:id:sugimomoto:20200622151952p:plain

以下のようなアンケートフォームを簡単に作成でき、顧客の声を収集することができます。

f:id:sugimomoto:20200622151959p:plain

また、EmotionTechでは以下のようなダッシュボードも提供しており、アンケートの結果をグラフィカルに可視化してくれます。ここでNPS®を含めた顧客の声の状況・変化を可視化できます。

f:id:sugimomoto:20200622152006p:plain

今回やってみたこと

EmotionTechでは、既存のアンケート結果にUserIDを紐付けることができるようになっています。

このUserIDと既存の社内システムのUserIDをかけ合わせることで、その顧客ごとのメタデータ(例えば、売上状況や従業員数、契約状況、サポート状況)を紐付けて分析することが可能です。

今回はkinonte上で管理している案件情報を関連付けて、NPS®のカテゴリごとの受注金額状況を可視化するレポートをPowerBIで作成してみました。紐付けには関連している顧客情報の顧客IDを使用しています。

f:id:sugimomoto:20200622152014p:plain

顧客カテゴリはNPS®の10段階評価を推奨者(10~9)・中立者(8~7)・批判者(6~0)ごとに色分けして、可視化してみました。

f:id:sugimomoto:20200622152021p:plain

実現イメージ

今回は Microsoft PowerBI から EmotionTech API に接続します。

PowerBI は汎用のWebコネクタやPowerQueryを用いることで各種APIに接続が可能です。しかしながら、APIに関する知識の習得はもちろんのこと、ページネーション・認証・取得したデータのスキーマ対応をどのように対応するかといった課題が存在します。

f:id:sugimomoto:20200622152028p:plain

そこで、CData REST ベースの各種 Driverを用いて、このボトルネックを解決します。

まず、各ツールからはODBCインタフェースでSQL(Select文)をCData REST ODBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData ODBC REST Driverは、EmotionTech API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して、Getメソッドを発行します。

リクエスト後、Jsonフォーマットで返ってきたデータセットはCData REST ODBC DriverがODBCインタフェースのResultsetに変換してツールに返します。

f:id:sugimomoto:20200622152036p:plain

これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータを API から取得することが可能です。

なお、今回はPowerBIから接続としましたが、TableauやQlikなどからも同じように接続が可能です。

手順

それでは実際に PowerBI と EmotionTech API の接続してみましょう。

PowerBI は以下URLから予めデスクトップ版をダウンロードしておいてください。

powerbi.microsoft.com

EmotionTech API のアクセストークンの取得

EmotionTech APIに接続するためには、予めAPI接続用のURLやOAuth認証用の情報などが必要になります。

取得方法は EmotionTech サポートに連絡してみてください。

REST データ処理用 RSDファイルの作成

次に、EmotionTech API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。

以下のGitHubから保存してください。

https://github.com/sugimomoto/CData.REST.EmotionTech

なお、今回の設定ファイルはEmotionTechで提供されているデモデータである「【Sample】Amazon(アマゾン)に関するアンケート調査」を対象として構成しています。

f:id:sugimomoto:20200622152043p:plain

もし違うアンケート向けに接続する場合は、このサンプルの設定ファイルをカスタマイズします。

保存先フォルダは後ほど使用するので「C:\CData_REST\EmotionTech」といった書き込み可能な任意のフォルダに配置してください。

CData REST ODBC Driverのインストール

PowerBI と EmotionTech API を繋ぐために必要となるCData REST Driverをインストールします。

まず、以下のURLからCData REST ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

https://www.cdata.com/jp/drivers/rest/download/odbc/

f:id:sugimomoto:20200115120319p:plain

f:id:sugimomoto:20200115120325p:plain

ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。

以下の項目をセットし、保存します。

OtherにはEmotionTech API に接続するためのOAuth認証用情報とAPIKeyおよび対象のSurveyIdを指定します。

  • OAuthAuthorizationURL=https://dashboard-app.demo.emotion-tech.net/oauth/authorize;
  • OAuthAccessTokenURL=https://dashboard-app.demo.emotion-tech.net/oauth/token;
  • OAuthRefreshTokenURL=https://dashboard-app.demo.emotion-tech.net/oauth/token;
  • OAuthParams='scope=read';
  • CallbackURL=https://localhost:33333;
  • OAuthVersion=2.0;
  • OAuthClientId=XXXX;
  • OAuthClientSecret=XXXX;
  • Location=C:\CData_REST\EmotionTech;
  • Other="APIKey=XXXX;SurveyId=XXXX";

f:id:sugimomoto:20200622152054p:plain

また、合わせて CData kintone ODBC Driverもインストール・接続設定を行っておきます。

https://www.cdata.com/jp/drivers/kintone/odbc/

f:id:sugimomoto:20200622152103p:plain

以上で、CData Driverの準備は完了です。

PowerBI からの接続

それでは、PowerBIから CData REST ODBC Driverに接続します。

PowerBI デスクトップを立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20200115120336p:plain

ODBC 接続を選択します。

f:id:sugimomoto:20200115120341p:plain

データソース名から先程ODBCで登録したDSNを選択し、Windows認証で接続します。

f:id:sugimomoto:20200115120346p:plain

f:id:sugimomoto:20200115120350p:plain

すると、以下のようにテーブル化された EmotionTech APIテーブルが選択できるようになります。

f:id:sugimomoto:20200622152111p:plain

以上で、Power BIにフラットな形で EmotionTechのデータが取り込まれます。

同じ用にkintoneの案件情報データも取り込みます。

分析用の下準備

取り込んだあと、EmotionTechのデータとkintoneのデータを紐付けます。今回のデータは多対多構造なので、以下のようにPowerBI上でリレーションを構成しました。(もし間に顧客マスタなどを別途挟む場合は、1:Nの関係性になると思います。)

f:id:sugimomoto:20200622152117p:plain

また、NPS®となる「Recommend」の値はデフォルトでテキスト情報も含まれるので、これを分割しておきましょう。

f:id:sugimomoto:20200622152124p:plain

「区切り記号による列の分割」でセミコロンを対象として行います。

f:id:sugimomoto:20200622152135p:plain

以下のように分割できればOKです。

f:id:sugimomoto:20200622152141p:plain

合わせて、分解したNPS®の値を元に、推奨者・中立者・批判者を分けます。新しく列を分割して、以下のようなDAXを設定しました。

顧客カテゴリ = SWITCH(AnswerResultsDummy[Recommend.1], 
0, "批判者", 
1, "批判者", 
2, "批判者", 
3, "批判者", 
4, "批判者"  , 
5, "批判者", 
6, "批判者", 
7, "中立者", 
8, "中立者" , 
9, "推奨者", 
10, "推奨者", 
"Unknown number" ) 

f:id:sugimomoto:20200622152148p:plain

これにより、NPS®の値を元に分類された顧客カテゴリによる分析が実施できます。

あとは、PowerBIの縦棒グラフで、「軸:Recommend.1」「凡例:顧客カテゴリ」「値:受注金額」を指定することで、以下のようにビジュアライズできます。

f:id:sugimomoto:20200622152159p:plain

おわりに

本記事では PowerBI をもとに解説しましたが、CData REST DriverではPowerBI以外のBIツールやアナリティクスツールの接続もサポートしています。

以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。

http://www.cdata.com/jp/drivers/rest/

f:id:sugimomoto:20200115120402p:plain

注: ネット・プロモーター® 、ネット・プロモーター・システム® 、ネット・プロモーター・スコア®及び、NPS®は、ベイン・アンド・カンパニー、フレッド・ライクヘルド、サトメトリックス・システムズの登録商標です。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。