
こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はクラウド型サーベイサービス EmotionTechを使って、PowerBIで分析する方法を紹介したいと思います。
EmotionTechとは?
様々な質問タイプや条件の設定など、顧客の感情を正確に把握するためのアンケートを簡単に作成し、NPS®をはじめ、顧客の回答データをリアルタイムに集計し、自動でグラフ化することができる、クラウド型サーベイサービスです。
https://www.emotion-tech.co.jp/service/emotion-tech

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

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

今回やってみたこと
EmotionTechでは、既存のアンケート結果にUserIDを紐付けることができるようになっています。
このUserIDと既存の社内システムのUserIDをかけ合わせることで、その顧客ごとのメタデータ(例えば、売上状況や従業員数、契約状況、サポート状況)を紐付けて分析することが可能です。
今回はkinonte上で管理している案件情報を関連付けて、NPS®のカテゴリごとの受注金額状況を可視化するレポートをPowerBIで作成してみました。紐付けには関連している顧客情報の顧客IDを使用しています。

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

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

そこで、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に変換してツールに返します。

これにより、各種ツールからアドホックに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(アマゾン)に関するアンケート調査」を対象として構成しています。

もし違うアンケート向けに接続する場合は、このサンプルの設定ファイルをカスタマイズします。
保存先フォルダは後ほど使用するので「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/


ダウンロードした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";

また、合わせて CData kintone ODBC Driverもインストール・接続設定を行っておきます。
https://www.cdata.com/jp/drivers/kintone/odbc/

以上で、CData Driverの準備は完了です。
PowerBI からの接続
それでは、PowerBIから CData REST ODBC Driverに接続します。
PowerBI デスクトップを立ち上げて「データを取得」をクリックし

ODBC 接続を選択します。

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


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

以上で、Power BIにフラットな形で EmotionTechのデータが取り込まれます。
同じ用にkintoneの案件情報データも取り込みます。
分析用の下準備
取り込んだあと、EmotionTechのデータとkintoneのデータを紐付けます。今回のデータは多対多構造なので、以下のようにPowerBI上でリレーションを構成しました。(もし間に顧客マスタなどを別途挟む場合は、1:Nの関係性になると思います。)

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

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

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

合わせて、分解したNPS®の値を元に、推奨者・中立者・批判者を分けます。新しく列を分割して、以下のようなDAXを設定しました。
顧客カテゴリ = SWITCH(AnswerResultsDummy[Recommend.1],
0, "批判者",
1, "批判者",
2, "批判者",
3, "批判者",
4, "批判者" ,
5, "批判者",
6, "批判者",
7, "中立者",
8, "中立者" ,
9, "推奨者",
10, "推奨者",
"Unknown number" )

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

おわりに
本記事では PowerBI をもとに解説しましたが、CData REST DriverではPowerBI以外のBIツールやアナリティクスツールの接続もサポートしています。
以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。
https://www.cdata.com/jp/drivers/rest/

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