2021年10月1日以降、karte_eventテーブルのスキーマが変更になります。

Datahubのクエリ機能において、karte_eventテーブルのuser_fieldsカラムを参照している場合、クエリの修正が必要になることがあります。下記ドキュメントを参考に、必要に応じて修正をお願いします。

null

概要

  • 今回の仕様変更では、karte_eventテーブルにおける「ユーザーのディメンションに関するデータ」の保存方法が変わります
  • KARTEのディメンションには、次の2種類があります
    • 共通ディメンション: KARTE自体にプリセットで存在しているもの。来訪回数、PV数等。
    • 作成したディメンション: プロジェクト毎に独自に作成したもの
  • 今回の仕様変更後は、「共通ディメンション」と「作成したディメンション」が別々のカラムに分けて格納されるようになります

なお、ディメンション機能の詳細については、こちらの記事をご覧ください。

変更内容

「共通ディメンション」のkeyと値が、user_fieldsカラムからdimensionsカラムに移されます。

もともとのuser_fieldsカラムには以下のように、共通ディメンションのkeyと値がJSON形式で含まれていました。

  • user_fields
{
    "os_name": "Mac OS",
    "pv": 1,
    ...
}

新しいスキーマでは、user_fieldsカラムに含まれていた共通ディメンションが以下のようにdimensionsカラムに移動します。

  • dimensions.xxx
    • ディメンションごとに別カラム
    • カラム名は共通ディメンションのkeyと同じ
    • データ型は、ディメンションのデータ型に準拠
dimensions.os_name dimensions.pv ...
"Mac OS" 1 ...
... ... ...

なお、karte_eventテーブルにuser_fieldsカラム自体は残り続けます。仕様変更後のuser_fieldsカラムのデータには、「作成したディメンション」のデータのみが保存されるようになります。

共通ディメンションのkey一覧

  • OS名: os_name
  • セッション内のPV数: pv
  • 来訪回数: visit_count
  • 前回来訪からの期間: seconds_from_last_session
  • 滞在時間: spend_time
  • 購入回数: buy_count
  • 総購入金額: total_revenue
  • 行動モード (Web): context_mode
  • 直近7日間の来訪回数: visit_count_in_last_week
  • 直近4週間の来訪回数: visit_count_in_last_month

クエリの修正が必要なケース

karte_eventテーブルのuser_fieldsカラムから共通ディメンションのkeyと値を参照している場合、クエリの修正が必要です。

null

修正が必要なクエリをクエリ画面で開くと、「推奨されないfieldが参照されている可能性があります」というアラート表示されます。ただし、クエリの書き方によってはアラート表示がない場合でもクエリ修正が必要なケースがあります。

クエリの修正方法

user_fieldsカラムのうち共通ディメンションのkeyと値を参照しているクエリは、dimensionsカラムから参照するよう変更します。

クエリv2での移行例を示します。

  • 移行前
SELECT 
  JSON_EXTRACT_SCALAR(user_fields, "$.os_name") AS os_name
FROM 
  {% karte_event '20210801', '20210815' %}
  • 移行後
SELECT 
  dimensions.os_name AS os_name
FROM 
  {% karte_event '20210801', '20210815' %}