BigQuery テーブル¶
概要¶
BigQuery の権限が付与された後に照会できるデータセットとテーブルの種類、各テーブルの用途と主な列を確認できます。
BigQuery の権限申請と接続方法については、BigQuery 設定を参照してください。
| データセット | 説明 |
|---|---|
habq-storage.analytics_N_live | 本番環境のデータ。本番環境で権限を申請すると照会できます |
habq-storage.analytics_N_sandbox | サンドボックス環境のデータ。サンドボックス環境で権限を申請すると照会できます |
Note
BigQuery にアクセスすると、権限が付与されたデータセットのみが表示されます。N の値を別途確認する必要はありません。
テーブル一覧¶
テーブルは、用途に応じてイベントテーブルとサービステーブルに分かれます。
| 区分 | 説明 |
|---|---|
| イベントテーブル | 指標のデータソースとなるテーブルと分離テーブル。データを分析・確認する際に直接照会するテーブルです |
| サービステーブル | イベントテーブルを作成したり、コンソールや分析機能をサポートしたりするために生成されるテーブル。直接照会する必要はなく、参考用に提供されます |
イベントテーブル¶
| テーブル | 説明 |
|---|---|
t_raw_event_log | (指標データソース)すべてのイベントログがまとめて保存される元テーブル |
t_raw_event_log_rescue | 転送ルールに違反して t_raw_event_log に保存できなかったログをそのまま保管する分離テーブル |
t_aggregation_index | (指標データソース)累積指標を別途提供するための最終集計結果 |
サービステーブル¶
サービステーブルは直接照会するためのものではありません。データがどのように作成されるかを理解するための参考用に提供されます。
| テーブル | 説明 |
|---|---|
t_aggregation_login_master | t_aggregation_index を作成するための中間集計テーブル。ログインした各ユーザー(userId)が初めて確認された日付を記録(累積ユーザーの集計に使用) |
t_aggregation_terms_master | t_aggregation_index を作成するための中間集計テーブル。利用規約に同意した各デバイス(deviceId)が初めて確認された日付を記録(累積インストールの集計に使用) |
t_aggregation_buyer_master | t_aggregation_index を作成するための中間集計テーブル。決済した各ユーザー(userId)が初めて確認された日付を記録(累積購入者の集計に使用) |
t_aggregation_prerelease_revenue | ゲームの正式リリース日より前に発生した売上を、日付・条件別にあらかじめ計算したテーブル(リリース前の売上がある場合のみデータあり) |
tmp_aggregation_stg_* | 集計処理中にのみ存在する一時テーブル(作成から 1 日後に自動削除) |
system_custom_event_user_state | t_raw_event_log にデータを反映するための中間集計テーブル。ユーザー・イベントごとに最初と最後の発生時刻と属性を保存 |
system_derived_event_* | 派生イベント生成ジョブの進行状況を記録する内部処理用テーブル |
meta_event | 保有しているイベントの一覧 |
meta_event_dimension | イベントごとの属性定義(属性名、データ型、ソース) |
meta_event_dimension_value | 属性で実際に収集された値(文字列型は値の一覧、数値・時間型は最小~最大の範囲) |
meta_event_latest_date | イベントごとの最終データ日付 |
system_attribute_raw | meta_event_dimension_value を作成するための元の属性一覧。パイプラインで生成される hiveAttributes を除いた attributes JSON のすべての属性と値、および各値の収集回数と最初・最後の収集時刻 |
segment_* / snapshot_* | コンソールで作成したセグメント・スナップショットの結果({type}_{number}_{datetime}_{random} 形式。作成のたびに新しいテーブルを生成) |
テーブル詳細¶
イベントテーブル¶
t_raw_event_log¶
ゲームから送信されたすべてのイベントログが保存されるテーブルです。各行は「誰が(userId)/ どのデバイスで(deviceId)/ どのゲームで(appIdGroup)/ いつ(dateTime)/ どの属性で(attributes)/ 何をしたか(eventName)」を表します。
列構造と attributes JSON の詳細属性については、イベント保存構造を参照してください。
t_raw_event_log_rescue¶
t_raw_event_log に保存できなかったログをそのまま保管する分離テーブルです。t_raw_event_log と同じ列に加えて、元の文字列(rawData)、分離理由(errorReason)、詳細内容(errorStackTrace)を保存します。
- 分離されたログがある場合にのみ作成されます。
- 不正な値も保管する必要があるため、
dateTimeは TIMESTAMP ではなく STRING で保存されます。 t_raw_event_logでデータが確認できない場合は、まずこのテーブルを確認してください。
分離理由と対処方法については、イベント保存構造のデータ分離を参照してください。
t_aggregation_index¶
累積指標を別途提供するために、元ログを集計して保存するテーブルです。t_raw_event_log とともに指標のデータソースとなります。累積ユーザーのようにユニーク人数を数える指標は、中間集計テーブルの結果に基づいて保存されます。各行は「あるゲーム / ある日付 / ある期間タイプ / ある指標 / ある条件」の値 1 つを表します。
| 列 | 説明 | 例 |
|---|---|---|
appIdGroup | ゲーム識別子 | com.sample.test |
dateTime | 対象日付 | 2026-10-04 |
periodType | 期間タイプ。day(当日)、cumulative(全期間の累積) | day |
aggName | 指標グループ。agg_users(ログイン)、agg_sales(売上)、agg_terms(インストール) | agg_sales |
dimKey | 条件軸。* はその軸の全体を意味します | country=*\|market=*\|serverId=* |
attributes | 実際の指標値が保存される JSON(measure の下に指標ごとの値) | measure.au、measure.revenue、measure.pu |
checksum | 行を識別するためのハッシュ値 |
指標値は列ではなく attributes JSON の中にあるため、JSON_VALUE で照会します。
SELECT JSON_VALUE(attributes, '$.measure.revenue') AS revenue
FROM `habq-storage.analytics_N_live.t_aggregation_index`
WHERE aggName = 'agg_sales'
AND periodType = 'cumulative'
AND appIdGroup = 'com.sample.test' -- 実際に使用している appIdGroup
AND dimKey = 'country=*|market=*|serverId=*' -- 全体合計
AND DATE(dateTime) = '2026-10-04'
Warning
同じ日付・同じ指標でも、dimKey に応じて「全体」「韓国」「韓国 × Google Play」のように複数の行が存在します。全体合計は、すべての軸が * である 1 行のみを照会してください。複数の行を合計すると重複して集計されます。
サービステーブル¶
サービステーブルは参考用に提供されており、直接照会する必要はありません。
t_aggregation_*_master¶
t_aggregation_index を作成するための中間集計テーブルで、各ユーザーまたはデバイスが初めて確認された日付のみを記録します。累積ユーザーのように日付ごとに合算できないユニーク人数を集計するために使用され、集計結果は t_aggregation_index に保存されます。
| テーブル | 対象 | 指標 |
|---|---|---|
t_aggregation_login_master | ログインしたユーザー(userId) | agg_users 累積ユーザー |
t_aggregation_terms_master | 利用規約に同意したデバイス(deviceId) | agg_terms 累積インストール |
t_aggregation_buyer_master | 決済したユーザー(userId) | agg_sales 累積購入者 |
| 列 | 説明 |
|---|---|
appIdGroup | ゲーム識別子 |
userId / deviceId | 対象識別子 |
country、market(serverId) | 初めて確認された時点の国・マーケット(t_aggregation_buyer_master はサーバーも含む) |
firstSeenDate / firstSeenAt | 初めて確認された日付 / 時刻 |
updatedAt | 行が最後に更新された時刻 |
Note
これらのテーブルは、新しいユーザーやデバイスを追加するだけで、削除することはありません。また、集計時点より後に遅れて到着したデータは反映されません。そのため、これらのテーブルに基づく累積指標は、元ログから再計算した値と異なる場合があります。
system_custom_event_user_state¶
t_raw_event_log にデータを反映するための中間集計テーブルです。ユーザー・イベントごとに 1 行で、最初と最後の発生時刻と属性を保存します。
| 列 | 説明 |
|---|---|
userId | アカウント基準のユーザー識別子 |
deviceId | デバイス基準のユーザー識別子 |
appIdGroup | ゲーム識別子 |
eventName | イベント名 |
firstEventTime、firstAttributes | 最初の発生時刻とその時点の属性 |
lastEventTime、lastAttributes | 最後の発生時刻とその時点の属性 |
meta_event¶
保有しているイベントの一覧です。各行は 1 つのイベントを表します。
| 列 | 説明 |
|---|---|
eventName | イベント名 |
dataSource | イベントが流入した経路(custom_server、custom_sdk など) |
tableName | イベントデータが保存されるテーブル名 |
meta_event_dimension¶
イベントごとの属性定義です。各行はイベントの属性 1 つを表します。
| 列 | 説明 |
|---|---|
eventName | イベント名 |
dimensionName | 属性名 |
dataType | 属性のデータ型 |
attributeSource | 属性が保存される領域(hiveAttributes または eventAttributes) |
meta_event_dimension_value¶
属性で実際に収集された値です。文字列型は値の一覧を、数値・時間型は最小~最大の範囲を保存します。
| 列 | 説明 |
|---|---|
key | 属性名 |
value | 収集された値(数値・時間型は最小値と最大値) |
dataType | 属性のデータ型 |
valueType | 値の保存方式(値の一覧または最小~最大の範囲) |
meta_event_latest_date¶
イベントごとの最終データ日付です。
| 列 | 説明 |
|---|---|
lastDataDate | データがある最後の日付 |
sourceTable | 日付を確認した元テーブル |
system_attribute_raw¶
meta_event_dimension_value を作成するための元の属性一覧です。パイプラインで生成される hiveAttributes を除いた、attributes JSON のすべての属性と値をまとめています。
| 列 | 説明 |
|---|---|
eventName、appIdGroup | イベントとゲーム |
key、value | 属性名と収集された値 |
dataType | 属性のデータ型 |
valueCount | 値が収集された回数 |
firstTime、lastTime | 最初・最後の収集時刻 |
attributeSource | 属性が保存される領域(hiveAttributes または eventAttributes) |
dataSource | イベントが流入した経路 |
注意事項 & Tips¶
t_raw_event_logとt_aggregation_indexはdateTimeを基準に日別でパーティション分割されています。クエリ費用を抑えるため、日付条件も併せて指定してください。