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としました。
データ抽出用のクエリを書く
続いてクエリを書いていきます。今回は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を書かなくてもクエリの実行が可能になります!
現在はまだβ版としての提供になりますが、今後はもっと使いやすくするための改善を行っていきますのでご期待ください。
ジョブフローを使ってデータテーブルにクエリ結果を保存する
では実際に、ジョブフロー という機能を用いて上記のクエリ結果をデータテーブルに保存していきます。グローバルメニューからジョブフローを選択し、右上の「作成」ボタンからジョブの設定を行っていきます。具体的な設定内容は以下になります。
設定項目 | 内容 |
---|---|
ジョブ名 | 任意のジョブ名(今回の例ではimport_to_access) |
ジョブタイプ | データテーブルへインポート |
インポート元 | クエリの実行結果 |
クエリ | 上記で作成したクエリ(今回の例ではUU、PV、セッション数の算出) |
インポート先 | 上記で作成したデータテーブル |
ルール | 追加 |
今回は一回だけの実行になるので、その後の設定は特に行わずジョブフロー名も「先頭のジョブ名を流用」して「保存」ボタンを押します。
その後、ジョブ詳細画面から「個別に実行」ボタンをクリックするとジョブが実行されます。
※5分ほど時間がかかります。
これでデータテーブルへのデータ保存が完了しました。
外部のGoogleアカウントに対して権限を付与する
続いて、KARTEユーザーが保有しているGoogleアカウントに対して、以下の権限付与を行っていきます。
- Datahub内のデータセットの閲覧権限
- Datahub内のテーブルに対してクエリを実行する権限
こちらは2019年1月時点ではお問い合わせベースでの対応となっておりますので、もしご利用をお考えのKARTEユーザーの方はチャットサポートよりご連絡いただければと思います。
データセットの共有設定を行う
権限付与が完了した後は、データセット画面から、インポート先のデータテーブルがあるデータセットの横にある「…」ボタン→「データセットの共有設定」をクリックします。
「サービスアカウントのe-mail」欄に権限を付与したメールアドレスを入力して保存するをクリックします。これでDatahub側での設定は完了です。
データポータルから共有したデータセットに接続する
続いて、Googleデータポータルのホーム画面を開きます。「データソース」タブ → 「+」ボタンをクリックし、Google コネクタからBigQueryを選択してください。
選択後の画面では以下の設定を行ってください。
- 共有プロジェクト から
prd-karte-service-account-2
のプロジェクトを選択 - 共有プロジェクト名に
prd-karte-per-client
と入力 - データセットから該当のデータテーブルを選択して右上の接続ボタンをクリック
※権限の関係でマイプロジェクトからだとデータセットの参照ができません。
接続したデータを使ってレポートを作成する
接続が成功したら、右上の「レポートを作成」ボタンをクリックし、レポートを作成していきます。
今回は日毎のアクセスデータになるので、基本的な時系列グラフを活用してみました。
※データポータルでのレポートの具体的な作成方法については今回のエントリーでは割愛します。
最終的に完成したレポートがこちらになります。
最後に
いかがだったでしょうか?今回は一度だけの実行でしたが、Datahub上のジョブフローで定期実行するようにしておけば、アクセスデータも定期的に更新されるようになります。たとえばデータポータル上のアクセスレポートを週次でデータ更新することも可能になります。
また、Datahubではデータポータル以外にも外部ツールとのコネクタを多数用意していますので、是非様々なツールと連携してみてください!