ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

BigQuery でのサッカーデータの分析

ラボ 15分 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP849

Google Cloud セルフペース ラボのロゴ

概要

このラボでは、BigQuery テーブルに保存されたデータをクエリするクエリを作成して実行し、スポーツ データ サイエンスの基礎をさらに学びます。このラボでは、データベースの仕組みを解説し、サッカーに関する以下のトピックに関連する興味深い質問に答えることに重点を置いています。

  • 総得点数最多。
  • パスの試みの回数最多。
  • ペナルティ キックの成功率が最高。

このラボで使用するデータは、次のソースから取得されます。

  • Pappalardo 他、(2019 年)A public data set of spatio-temporal match events in soccer competitions、Nature Scientific Data 6:236、https://www.nature.com/articles/s41597-019-0247-7
  • Pappalardo 他(2019 年)PlayerRank: Data-driven Performance Evaluation and Player Ranking in Soccer via a Machine Learning Approach. ACM Transactions on Intelligent Systems and Technologies(TIST)10、5、記事 59(2019 年 9 月)、27 ページ。DOI: https://doi.org/10.1145/3343172

目標

このラボでは、次の方法について学びます。

  • BigQuery でサッカーの試合のイベントデータをクエリする。
  • 複数のテーブルの情報を結合するクエリを作成して実行する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

タスク 1. BigQuery を開く

BigQuery コンソールには、テーブルに対してクエリを実行するためのインターフェースが用意されており、BigQuery が提供する一般公開データセットも利用できます。

  1. [ナビゲーション メニュー] の [Cloud コンソール] で、次のように [BigQuery] を選択します:

Cloud コンソールのナビゲーション メニューで、[BigQuery] オプションが選択されている。

[Cloud Console の BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスには、クイックスタート ガイドとリリースノートへのリンクが表示されます。

  1. [完了] をクリックします。

BigQuery コンソールが開きます。

BigQuery コンソール(エディタ セクションとエクスプローラ ペインを含む)。

注: データセットとテーブルを作成するプロセスについては、BigQuery サッカー データの取り込みラボで説明しています。このラボでは、情報をクエリする方法を学習することに重点を置きます。

テーブルが作成されると、次のように表示されます。

[エクスプローラ] ペイン。固定されたプロジェクトのリストで soccer ファイルがハイライト表示されている。

次のセクションでは、BigQuery でクエリを作成する際の基本を学びます。

タスク 2. 最多得点試合

このセクションでは、サッカーのデータが記載された複数のテーブルを結合するクエリを作成します。利用可能な情報に基づいて、両チームが試合で獲得した総得点数(特定のリーグで)など、いくつかの基本的な分析を行うことができます。

  1. クエリエディタで、[+](SQL クエリを作成)をクリックします。
  2. クエリエディタに次のクエリをコピーします。
SELECT date, label, (team1.score + team2.score) AS totalGoals FROM `soccer.matches` Matches LEFT JOIN `soccer.competitions` Competitions ON Matches.competitionId = Competitions.wyId WHERE status = 'Played' AND Competitions.name = 'Spanish first division' ORDER BY totalGoals DESC, date DESC

クエリの処理内容は次のとおりです。

  • matches テーブル(最終スコアを含む)を competitions テーブルと結合します。
  • 「スペイン 1 部」の試合のみにフィルタする。
  • ある試合での総得点数を表す計算フィールドで並べ替える。
  1. [実行] をクリックします。

結果はクエリ ウィンドウの下に表示されます。

複数の結果がリストされている [クエリ結果] ページ。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

クエリが実行されたことを確認する

このセクションでは、サッカーの情報を表示するクエリを定義する方法を説明するために BigQuery を使用しました。このクエリは、特定のリーグの試合に関する特定の情報を表示するフィルタを作成し、定義されたフィールドで情報を分類できるようにします。

タスク 3. パス数が多い選手

このセクションでは、サッカーのデータが記載された複数のテーブルを結合するクエリを作成します。利用可能な情報に基づいて、選手別の合計パス数などの基本的な分析を行うことができます。

  1. クエリエディタで、[+](SQL クエリを作成)をクリックします。
  2. 次のクエリをクエリの [エディタ] に追加します。
SELECT playerId, (Players.firstName || ' ' || Players.lastName) AS playerName, COUNT(id) AS numPasses FROM `soccer.events` Events LEFT JOIN `soccer.players` Players ON Events.playerId = Players.wyId WHERE eventName = 'Pass' GROUP BY playerId, playerName ORDER BY numPasses DESC LIMIT 10

このクエリは次の処理を行います。

  • events テーブル(すべてのパスの記録を含む)と players テーブルを結合して、選手の ID から選手名を取得する
  • 選手別にグループ化
  • それぞれのパスの数をカウントする
  • 選手をパス数が多い順に並べ替える
  1. [実行] をクリックします。結果はクエリ ウィンドウの下に表示されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

クエリが実行されたことを確認する

このセクションでは、BigQuery を使用して、選手情報を表示するクエリを定義する方法を説明しました。このクエリは、playerId に関する特定の情報を表示する結合を作成し、定義されたフィールドで情報を分類できるようにします。

次のセクションでは、既存のデータセットについて詳しく学び、それを使用して選手のペナルティ キック成功率を求める方法を検討します。

タスク 4. ペナルティ キックの成功率を求める

このセクションでは、サッカーのデータが記載された複数のテーブルを結合するクエリを作成します。利用可能な情報に基づいて、各選手のペナルティ キックの成功率などの分析を行うことができます。

  1. クエリエディタで、[+](SQL クエリを作成)をクリックします。
  2. 次のクエリをコピーして、クエリの [エディタ] に貼り付けます。
SELECT playerId, (Players.firstName || ' ' || Players.lastName) AS playerName, COUNT(id) AS numPKAtt, SUM(IF(101 IN UNNEST(tags.id), 1, 0)) AS numPKGoals, SAFE_DIVIDE( SUM(IF(101 IN UNNEST(tags.id), 1, 0)), COUNT(id) ) AS PKSuccessRate FROM `soccer.events` Events LEFT JOIN `soccer.players` Players ON Events.playerId = Players.wyId WHERE eventName = 'Free Kick' AND subEventName = 'Penalty' GROUP BY playerId, playerName HAVING numPkAtt >= 5 ORDER BY PKSuccessRate DESC, numPKAtt DESC

このクエリは、選手ごとのペナルティ キックの試行回数と成功回数を集計し、ペナルティ キックの試行回数が 5 回以上の選手をフィルタしてから、成功率で並べ替えます。

注: 上記のクエリでは、events テーブル(この場合はペナルティ キックのみにフィルタリング)と players テーブルを結合して、ID から選手名を取得しています。

イベント テーブルのタグフィールドでは、BigQuery の配列機能が使用されています(1 つのイベントに複数のタグを保存できます)。そのため、キックが成功したかどうかを判断するには、ネストを解除する必要があります(tags2name テーブルを使用して、タグ 101 がゴール成功を表していることを確認できます)。
  1. [実行] をクリックします。結果はクエリ ウィンドウの下に表示されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

クエリが実行されたことを確認する

このセクションでは、BigQuery を使用して、ペナルティ キックに関する選手情報を表示するクエリを定義する方法を説明しました。このクエリは、playerId に関する特定の情報を表示する結合を作成し、より詳細な情報を表示できるようにします。

タスク 5. 理解度テスト

このラボで扱ったトピックに関する短い問題に答えて、BigQuery の理解度をテストしてください。

お疲れさまでした

これで完了です。このラボでは、BigQuery テーブルに保存されたデータを分析するクエリを記述して実行することに成功しました。また、複数のテーブルの情報を結合して、サッカーに関する興味深い質問に答える方法も学びました。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 1 月 25 日

ラボの最終テスト日: 2024 年 1 月 25 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。