2021年10月1日以降、karte_eventテーブルのスキーマが変更になります。
Datahubのクエリ機能において、karte_eventテーブルのuser_fieldsカラムを参照している場合、クエリの修正が必要になることがあります。下記ドキュメントを参考に、必要に応じて修正をお願いします。
概要
- 今回の仕様変更では、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と値を参照している場合、クエリの修正が必要です。
修正が必要なクエリをクエリ画面で開くと、「推奨されない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' %}