• ゲーム
  • Industry
  • リソース
  • コミュニティ
  • 学習
  • サポート
開発
Unityエンジン
任意のプラットフォーム向けに2Dおよび3Dゲームを構築
ダウンロードプランと価格
収益化
アプリ内課金(IAP)
ストア全体でIAPを発見し、管理する
Mediation
収益を最大化し、マネタイズを最適化する
Ad Quality
アプリのユーザーエクスペリエンスを保護する
Tapjoy
長期的なユーザーの忠誠心を構築する
すべてのマネタイズ製品
詳しく見る
詳しく見る
発見され、モバイルユーザーを獲得する
UnityベクターAI
プレイヤーを適切なゲームに接続する
Auraのオンデバイス広告
ピークエンゲージメント時にデバイス上のユーザーにリーチする
すべての成長製品
活用事例
3Dコラボレーション
リアルタイムで3Dプロジェクトを構築およびレビューする
没入型トレーニング
没入型環境でのトレーニング
顧客体験
インタラクティブな3D体験を作成する
すべての業界ソリューション
業界
製造業
運用の卓越性を達成する
小売
店内体験をオンライン体験に変換する
自動車
革新と車内体験を高める
全業界
技術ライブラリ
ドキュメント
公式ユーザーマニュアルとAPIリファレンス
開発者ツール
リリースバージョンと問題追跡
ロードマップ
今後の機能をレビューする
用語集
技術用語のライブラリ
インサイト
ケーススタディ
実際の成功事例
ベストプラクティスガイド
専門家のヒントとコツ
すべてのリソース
新機能
ブログ
更新情報、情報、技術的ヒント
お知らせ
ニュース、ストーリー、プレスセンター
コミュニティハブ
ディスカッション
議論、問題解決、つながる
イベント
グローバルおよびローカルイベント
コミュニティストーリー
Made with Unity
Unityクリエイターの紹介
ライブストリーム
開発者、クリエイター、インサイダーに参加する
Unity Awards
世界中のUnityクリエイターを祝う
すべてのレベルに対応
Unity Learn
無料でUnityスキルをマスターする
プロフェッショナルトレーニング
Unityトレーナーでチームをレベルアップ
Unity初心者向け
スタートガイド
学習を開始しましょう
Unityエッセンシャルパスウェイ
Unity は初めてですか?旅を始めましょう
ハウツーガイド
実用的なヒントとベストプラクティス
教育
学生向け
キャリアをスタートさせる
教育者向け
教育を大幅に強化
教育機関向けライセンス
Unityの力をあなたの機関に持ち込む
認定教材
Unityのマスタリーを証明する
サポートオプション
ヘルプを得る
Unityで成功するためのサポート
Success Plan
専門的なサポートで目標を早く達成する
FAQ
よくある質問への回答
お問い合わせ
私たちのチームに連絡する
プランと価格
言語設定
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
ソーシャル
通貨
購入
  • プロダクト
  • Unity Ads
  • サブスクリプション
  • Unity Asset Store
  • リセラー
教育
  • 学生
  • 教育関係者
  • 教育機関
  • 認定資格試験
  • 学ぶ
  • スキル開発プログラム
ダウンロード
  • Unity Hub
  • ダウンロードアーカイブ
  • ベータプログラム
Unity Labs
  • ラボ
  • 研究論文
リソース
  • Learn プラットフォーム
  • コミュニティ
  • ドキュメント
  • Unity QA
  • FAQ
  • サービスのステータス
  • ケーススタディ
  • Made with Unity
Unity
  • 当社について
  • ニュースレター
  • ブログ
  • イベント
  • キャリア
  • ヘルプ
  • プレス
  • パートナー
  • 投資家
  • アフィリエイト
  • セキュリティ
  • ソーシャルインパクト
  • インクルージョンとダイバーシティ
  • お問い合わせ
Copyright © 2025 Unity Technologies
  • 法規事項
  • プライバシーポリシー
  • クッキーについて
  • 私の個人情報を販売または共有しないでください

「Unity」の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です(詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

Hero background image

SQL データエクスプローラーを使用してゲームデータを分析する方法

このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。
ここをクリックしてください。

データ探索を開始

Unity Gaming Services(UGS)データエクスプローラーを使用して、指標やイベントに基づいてデータをフィルターして使用し、プラットフォーム、国、またはバージョンでグループ化できます。

SQL(Structured クエリ Language)の基本的な知識があれば、UGS 内の SQL データ Explorer を使用して分析をレベルアップし、データを深く掘り下げることができます。この特徴を使用して、クエリをビルドおよび実行し、結果をさまざまな種類のビジュアライゼーションにプロットし、ビジュアライゼーションをカスタムダッシュボードに追加し、データをエクスポートして他の分析ツールで使用できます。Unity DashboardのUGS AnalyticsパネルでSQLデータ エクスプローラーを見つけます。

Unity のAnalyticsコンサルタントの 1 人である Russell Young 氏が、SQL データ Explorer を開始ためのヒントとアイデアを紹介します。

データ探索を開始

  • ミッションの第一歩を踏み出す
  • デフォルトの EVENTS テーブルの使用
  • クエリを制限して効率化
  • 結果をプロットする
  • ピボット ツールの使用
  • データの調整
  • 結果を見る
  • クエリスピードの向上
  • データのサンプリング
  • approximate_count_distinct の使用
  • 「Glossary」パネルを開く
  • UGS の集計テーブル
  • Using FACT_EVENT_TYPE_USERS_DAY
  • 指定条件に基づいてプレイヤーを特定
  • 新しく定義された変数を使用する
  • データからより多くのものを得る

ミッションの第一歩を踏み出す

UGSの豊富なデータを探るには、SQL Cookbookのレシピ コレクションを参照してください。UGS は SQL の Snowflake フレーバーを利用することに注意してください。

cookbook クエリの 1 つがミッション統計を参照します。このコードを応用して、私たちのゲームのミッション失敗率を簡単に見てみましょう。これは、私たちが作成したカスタム イベントを使用して、missionIDパラメーターでプレイヤーのミッションへのエンゲージメントを追跡します。

デフォルトの EVENTS テーブルの使用

デフォルトの EVENTS テーブルの使用

このクエリでは、デフォルトのEVENTSテーブルを使用します。この表には、ゲーム内で記録された各イベントの細かいデータが含まれています。

クエリを制限して効率化

クエリを制限して効率化

ここでは日付フィルターを使用してクエリを制限し、効率性を維持しています。この制限がなければ、SQL データ Explorer のデフォルトでクエリ可能な 365 日分のデータ全体にわたってクエリが実行されます。また、SELECT * を使うよりも、どの列に注目するかを指定する方が効率的です。

event_JSON:missionID::INTEGER のようなフレーズは威圧的に見えるかもしれませんが、「missionID」と入力してオートコンプリートを使用すると、SQL データエクスプローラによって JSON 構文が生成されます。これは、そのパラメーターがゲームに設定されていることが前提です。

結果をプロットする

結果をプロットする

クエリを実行した後、結果をプロットしてデータ内のストーリーを確認できます。現在、グラフは最大 2 つの Y 軸と 1 つの X 軸をサポート。軸ラベルは、SQLクエリの「as」式を使用して簡単に名前を変更できます。この例では、Y軸は定義した名前になります。「プレイヤーの失敗率」。

3 人に 1 人以上のプレイヤーが最初のミッション(missionID 0)で失敗していることがわかりました。そのため、ミッションの難易度を微調整して、よりポジティブな最初の体験をユーザーに提供することができます。

ヒント:データに null 値があり、これによって軸がおかしく見える場合は、 coalesce(yourParameter, 0) を使用して空欄を埋めます。

ピボット ツールの使用

ピボット ツールの使用

クエリを実行すると、結果の表が取得されます。クエリにプラットフォームを追加します。上の画像では、テーブルが表示されています。右側にある「ピボット」ボタンに注目してください。これは、クエリを書き換えることなくデータを再形成するのに便利です。

データの調整

データの調整

この例では、ピボット ツールを使用してデータを調整し、行にプラットフォーム、列にMISSIONIDを取得しています。

結果を見る

結果を見る

表を調整すると、プラットフォーム間でミッションの失敗にほとんど差がないことがわかります。

クエリスピードの向上

ゲームが成功を収め、プレイヤーベースが拡大するにつれて、単純なクエリでも実行にかなりの時間がかかることに気付くかもしれません。

データに対して次の基本クエリを実行するとします。

データのサンプリング

かなり高速に実行されると思われるかもしれませんが、データセットが大規模で、必ずしもそうではないこともあります。ウェアハウスの形状とユーザーIDがハッシュとして格納されるという事実を利用して、含まれるユーザーの数を減らす迅速な方法を使用してクエリのスピードを上げます。

ここでは、ユーザーを擬似的にランダムに割り当てられた番号付きの100個のバケットに分割し、バケット番号63を確認します。

このコードをシンプルなクエリに追加しても大きな違いはありませんが、計算の複雑さが増すにつれて、この方法でデータをフィルタリングすることがますます重要になっています。この仮のゲームでも、この修正版のクエリはオリジナルよりも75%高速に実行されることがわかりました。これにより、データセット全体を処理することなく、ユーザーのサンプルサブセットに関するインサイトを取得する時間とコストを節約できます。

approximate_count_distinct の使用

上記のクエリでは、count(distinct…)を使用して個々のプレイヤーの数とイベントの組み合わせを計算しました。クエリスピードを向上させる方法の 1 つとして、結果の精度を 100% にする必要がない場合は approximate_count_distinct を使用することが挙げられます。前のクエリは次のようになります。

「Glossary」パネルを開く

「Glossary」パネルを開く

これまでは、メインの EVENTS テーブルのみを使用していました。この表には、ゲーム内で実行されたすべてのイベントの詳細なデータが含まれているため、最も広範な表です。クエリを改善するために、より小さなオブジェクトを使用してクエリをより効率的に実行できます。

「Glossary」パネルで、クエリ可能な表を探ってみましょう。

UGS の集計テーブル

EVENTS の他に、クエリに使用できるすべての集計テーブルがあります。これらはすべて、UGS ですぐに利用できます。

  • USERSテーブルには、イベント数、合計プレイ時間、合計支出など、ゲーム内の生存期間の指標とともに、プレイヤーごとに1行が保持されます。
  • FACT_USER_SESSIONS_DAY には、各プレイヤーの各セッションのデータが含まれます。
  • FACT_event_TYPE_USERS_DAY は、プレイヤーが毎日送信した各イベントの行と、合計カウントで構成されます。
  • FACT_WAU_USERS および FACT_MAU_USERS には、特定の日に前の週または 1 か月以内にプレイしたユーザのプロファイル データが含まれます。

FACT_EVENT_TYPE_USERS_DAY から FACT_USER_SESSIONS_DAY までの間に、ほとんどのクエリの 80% 以上が小さなオブジェクトに対して回答できる可能性があります。

Using FACT_EVENT_TYPE_USERS_DAY

例えば、最初のクエリでは、ミッションの失敗率に注目していました。また、FACT_EVENT_TYPE_USERS_DAY を使用して、このテーブルに格納された NUMBER_OF_EVENTS の数で、日ごとの全体的な失敗率を計算することもできます。

次のクエリでも、これらのテーブルのいずれかを使用します。

指定条件に基づいてプレイヤーを特定

指定条件に基づいてプレイヤーを特定

このクエリを使用すると、特定の基準を満たすプレイヤーのイベント ストリームを確認できます。前述のユーザー表を使用すると、実行するたびに異なるユーザーが得られるため、QAやデバッグに役立ちます。

例えば、ゲームの特定のバージョンをインストールしたプレイヤーのイベントが正しく記録されていないと思われる場合は、以下のクエリを実行できます。戻ってくるのは、問題が発生していると思われるゲームバージョンを実行しているランダムプレイヤーのイベントストリームです。これを数回行うと、データ内のパターンの検出をすぐに開始できます。

ヒント:複数行をコメントアウトする場合は、キーボードショートカット CTRL+/

新しく定義された変数を使用する

Snowflake以外の言語でSQLクエリを作成することに慣れているかもしれません。例えば、以前のdeltadnaデータ マイニング ツールを使用していた場合、クエリはVerticaで作成されていたでしょう。

事前に共通のテーブル式(CTE)に変数を含めなくても、新しく定義された変数を参照できるようになりました。例えばクエリクエリタDeltaデータた。Deltadna

データからより多くのものを得る

SQL Explorer には多くの可能性があります。UGS Analyticsには、円グラフや積み上げ棒グラフなど、さまざまなグラフオプションが用意されています。Direct Accessでは、Snowflakeを通じてAnalyticsデータに直接アクセスできます。

インサイトを迅速に入手し、クエリとダッシュボードの構築に関するサポートを受けるには、お問い合わせください。

参考資料

  • UGS Analyticsドキュメント
  • SQL Cookbook
  • Funnels と SQL データエクスプローラーのご紹介
  • Snowflake SQL 関数リファレンス
  • UGS 価格