KARTE DatahubとGoogleデータポータルを連携してクエリ結果を可視化する

KARTEをすでにご利用いただいているユーザーの方に向けて、KARTEを使う中で役立つTipsをブログ形式で発信しています。今回はその第二弾になります。

こんにちは、プレイドの武藤です。
KARTE Datahub(以下、Datahub)のビジネスサイドを担当しています。

KARTEをすでにご利用いただいているユーザーの方に向けて、KARTEを使う中で役立つTipsをブログ形式で発信しています。今回はその第二弾になります。(その他のエントリーはこちら

DatahubにはBI連携があることはご存知でしょうか?
今日(2020/7/2)現在、以下のBIツールに対応しております。

今回のエントリーでは、Googleデータポータル(以下、データポータル)とDatahubを連携して、Datahubのクエリ結果をデータポータル上で可視化する方法についてご紹介します。

KARTE Datahubとは?

KARTE Datahubとは、KARTEのオプション機能の1つです。
顧客データや行動データ、オフラインデータなど分断されているデータベースをKARTEに統合して、KARTE上のセグメントやアクションに自由に利用することができます。

詳しくは、以下のサービスサイトをご覧ください。

KARTE Datahub | CX(顧客体験)プラットフォーム KARTE(カルテ)

データテーブルを用意する

データポータル上からデータセット内のデータに対して任意のSQLを実行することはできないので、レポートとテーブルが1:1に対応する形で、可視化したいデータをDatahub側のデータテーブルに格納する必要があります。そのためにまずはデータテーブルを用意します。データセット画面右上の「テーブルを作成」をクリックしてテーブルを作成してください。

テーブル名は任意ですが、今回はアクセス数のデータを格納するのでaccessとしました。

image0004

データ抽出用のクエリを書く

続いてクエリを書いていきます。今回はKARTEの管理画面に訪問しているユーザーのUU数、セッション数、PV数を日別で集計します。クエリ作成画面で以下のようなクエリを書き、実行します。

  • パラメータエディタ
period:
  type: period
  label: 抽出期間
  default: past 1 days
  • SQLエディタ
WITH view_data AS (
  SELECT
    sync_date
    , user_id
    , JSON_EXTRACT_SCALAR(values, '$.view.access.uri.path') as path
  FROM {% karte_event period[0], period[1] %}
  WHERE event_name = 'view'
)
SELECT
  path
  , COUNT(DISTINCT user_id) AS uu
FROM view_data
GROUP BY path
ORDER BY uu DESC

上記のクエリですが、実はクエリコレクション(※)という機能を利用すれば1からSQLを書かなくてもクエリの実行が可能になります!
現在はまだβ版としての提供になりますが、今後はもっと使いやすくするための改善を行っていきますのでご期待ください。

image

ジョブフローを使ってデータテーブルにクエリ結果を保存する

では実際に、ジョブフロー という機能を用いて上記のクエリ結果をデータテーブルに保存していきます。グローバルメニューからジョブフローを選択し、右上の「作成」ボタンからジョブの設定を行っていきます。具体的な設定内容は以下になります。

設定項目内容
ジョブ名任意のジョブ名(今回の例ではimport_to_access)
ジョブタイプデータテーブルへインポート
インポート元クエリの実行結果
クエリ上記で作成したクエリ(今回の例ではUU、PV、セッション数の算出)
インポート先上記で作成したデータテーブル
ルール追加
image0007-1

今回は一回だけの実行になるので、その後の設定は特に行わずジョブフロー名も「先頭のジョブ名を流用」して「保存」ボタンを押します。

その後、ジョブ詳細画面から「個別に実行」ボタンをクリックするとジョブが実行されます。

※5分ほど時間がかかります。

image0006

これでデータテーブルへのデータ保存が完了しました。

外部のGoogleアカウントに対して権限を付与する

続いて、KARTEユーザーが保有しているGoogleアカウントに対して、以下の権限付与を行っていきます。

  • Datahub内のデータセットの閲覧権限
  • Datahub内のテーブルに対してクエリを実行する権限

こちらは2019年1月時点ではお問い合わせベースでの対応となっておりますので、もしご利用をお考えのKARTEユーザーの方はチャットサポートよりご連絡いただければと思います。

データセットの共有設定を行う

権限付与が完了した後は、データセット画面から、インポート先のデータテーブルがあるデータセットの横にある「…」ボタン→「データセットの共有設定」をクリックします。

image003

「サービスアカウントのe-mail」欄に権限を付与したメールアドレスを入力して保存するをクリックします。これでDatahub側での設定は完了です。

image001-1

データポータルから共有したデータセットに接続する

続いて、Googleデータポータルのホーム画面を開きます。「データソース」タブ → 「+」ボタンをクリックし、Google コネクタからBigQueryを選択してください。

選択後の画面では以下の設定を行ってください。

  • 共有プロジェクト からprd-karte-service-account-2のプロジェクトを選択
  • 共有プロジェクト名にprd-karte-per-clientと入力
  • データセットから該当のデータテーブルを選択して右上の接続ボタンをクリック

※権限の関係でマイプロジェクトからだとデータセットの参照ができません。

image002

接続したデータを使ってレポートを作成する

接続が成功したら、右上の「レポートを作成」ボタンをクリックし、レポートを作成していきます。
今回は日毎のアクセスデータになるので、基本的な時系列グラフを活用してみました。

※データポータルでのレポートの具体的な作成方法については今回のエントリーでは割愛します。

最終的に完成したレポートがこちらになります。

image0008

最後に

いかがだったでしょうか?今回は一度だけの実行でしたが、Datahub上のジョブフローで定期実行するようにしておけば、アクセスデータも定期的に更新されるようになります。たとえばデータポータル上のアクセスレポートを週次でデータ更新することも可能になります。

また、Datahubではデータポータル以外にも外部ツールとのコネクタを多数用意していますので、是非様々なツールと連携してみてください!

SHARE