ワールドカップのデータベース

ワールドカップのデータベース

Pocket

ワールドカップのデータベースを公開しました。
1930年の第1回ウルグアイ大会から、最新の2014年ブラジル大会まで、全試合の日程、組み合わせ、試合結果、得失点などのデータを、Excel形式とCSV形式でダウンロードできます。(2014年ブラジル大会は、現時点では試合日程のみ。追加しました。)
また、国や地域をはじめ、すべてのデータを日本語化してあります。
QlikViewをお使いの方もそうでない方も、ぜひダウンロードしてみてください。

改訂 2014年7月14日
2014年ブラジル大会の試合結果を追加しました。


ワールドカップのデータベースのダウンロード

データは以下のZipファイルにまとめてあります。ダウンロードして解凍してください。
ワールドカップのデータベース(worldcup.zip)旧版
ワールドカップのデータベース(worldcup-20140714.zip)

以下ファイルが含まれています。
worldcup-101ワールドカップ.xlsx:Excel形式のデータです。
csvフォルダー:CSV形式のファイルが格納されています。
ロードスクリプト.txt:ワールドカップ.xlsxを、QlikViewに取り込むためのロードスクリプトです。

Excelファイルの内容
worldcup-103worldcup-104
csvフォルダーの内容
worldcup-102
「全データ(主要項目のみ)」に、主要な項目をだいたいまとめてあります。普段お使いの場合は、こちらをお使いいただくといいと思います。
また、以下のデータは含まれていませんので、あらかじめご了承ください。
  • 2014年ブラジル大会の試合結果は含まれていません。(試合日程のみ含まれています。勝敗、得失点などの試合結果は含まれていません。)
    追加しました。
  • 国ごとの成績(優勝、準優勝などの成績)は含まれていません。
  • 選手のデータ(選手の名前、誰が得点したかなど)は含まれていません。


データの出典


Open Football

試合日程、試合結果などのデータは、Open Footballがパブリックドメインで公開している以下のデータを使用しています。
Releases · openfootball/build · GitHub
Open Footballは、サッカーのデータを無償で公開しているプロジェクトです。Open Footballについて興味のある方は、最後にまとめましたのでご覧ください。
Open Footballについて

ウィキペディア

Open Footballのデータはすべて英語であるため、日本語化するにあたり、ウィキペディアにある以下のデータを使用しています。
帰属
この文書は、クリエイティブ・コモンズ・表示・継承ライセンス3.0のもとで公表されたウィキペディアの以下の項目を素材として二次利用しています。


データの説明


データの概要

大会とラウンド、試合とチームなどは、IDの項目で関連付けられるようになっています。(たとえば、大会の「大会ID」とラウンドの「大会ID」で関連付ける。)
関連付けをおこなったデータも入れてあります。
「全データ(全項目)」:すべてのデータが含まれています。
「全データ(主要項目のみ)」:主要な項目はだいたいこの中に網羅されています。

試合結果の「チームID」と「相手チームID」

試合結果の「チームID」と「相手チームID」は、両方ともチームのデータと関連付けてください。

試合結果のデータは、一試合につき二件ずつ、チームを入れ替えて二重に登録してあります。

たとえば、ブラジル対クロアチアの試合がおこなわれた場合、ブラジル対クロアチアと、クロアチア対ブラジル、二件のデータが登録されています。
もし、一試合につき一件にしたい場合(開催日程一覧を表示したい場合など)は、「試合結果の重複表示」の項目が「重複を省く」のデータに絞り込んでください。

これは、国ごとの集計を簡単にするために、あえてそうしています。こうすることで、国ごとの試合数や得点などを簡単に集計できます。
※たとえば、ブラジル対クロアチア戦でブラジルが勝ったとしたとします。この場合、ブラジルがクロアチアに勝ったというデータと、クロアチアがブラジルに負けたというデータ、二重に登録しておいた方が国ごとに成績を集計しやすくなります。

チーム名と国名

チームのデータには、以下の項目が含まれています。
チーム名:もとのデータベースにあったチーム名(英語の国名)です。
国名(当時):開催当時の国名です。たとえば西ドイツ、東ドイツなどです。
国名:現在の国名です。たとえば西ドイツと東ドイツは、両方ドイツです。


QlikViewでの使用例

ここからは、QlikViewでの使用例を簡単にまとめます。
QlikViewをお持ちでない方は、以下から無料でダウンロードできますので、ぜひこれを機にダウンロードしてみてください。(要ユーザー登録)
QlikView Personal Editionのダウンロード

データの取り込み

まずはファイルを新規に作成し、[ロードスクリプトの編集]画面を起動します。
worldcup-201
新規にデータを取り込むこともできますが、今回はあらかじめロードスクリプトを用意してあります。
カーソルが最下行に当たっていることを確認し、[挿入]メニュー→[スクリプトファイル]を選択してください。
worldcup-202
Zipファイルに入っていた「ロードスクリプト.txt」を選択します。
worldcup-203
ロードスクリプトが取り込まれました。
[OK]ボタンをクリックします。
worldcup-204
[リロード]ボタンをクリックして、データを取り込みます。
worldcup-205
ドキュメントを、Excelファイルとおなじディレクトリに保存してください。
worldcup-206worldcup-207
データが取り込まれました。
[ロードスクリプトの進捗]画面を閉じてください。
worldcup-208

リストボックスとテーブルボックスの作成

それでは、リストボックスとテーブルボックスを作成してみましょう。
シートの余白を右クリックして[リストボックスの追加]を選択します。
worldcup-301
「国名」と「大会名」を選択して[追加]ボタンをクリックします。
worldcup-302
[OK]ボタンをクリックします。
worldcup-303
つづいて、テーブルボックスを作成してみましょう。
シートの余白を右クリックして[シートオブジェクトの追加]→[テーブルボックス]を選択します。
worldcup-304
見たい項目を追加して、[OK]ボタンをクリックしてください。
worldcup-305ここでは以下の項目を選択しています。
テーブル項目
大会大会名
ラウンドラウンド名
チーム国名
相手チーム相手国名
試合結果勝敗
試合結果得点
試合結果失点

リストボックスとテーブルボックスが作成されました。
位置やサイズは適宜調節してください。
worldcup-306
それでは、今回のワールドカップにおける、日本の試合を確認してみましょう。
「大会名」から「2014年ブラジル」を選択します。
「国名」の右上にある検索ボタンをクリックして、日本を検索します。
worldcup-307
今大会の日本の全試合を表示できました。
worldcup-308
「大会名」から「2014年ブラジル」を再度選択して、選択を解除してください。
日本の歴代の試合結果が表示できます。
worldcup-309
チャートを使用することで、国ごとの得点ランキングなども作成できます。
worldcup-310
数式を作成すれば、得失点差や勝率、1試合当たりの平均得点なども確認できます。
worldcup-311機会があれば、さらに詳細な分析方法もこのブログで紹介したいと思います。


最後に…

以前、このブログで世界陸上のデータについて取り上げましたが、そのときも自由に利用できるデータがあまり見つからず、苦労した覚えがあります。

しかしサッカーのデータについては、Open Footballの方々のおかげで、データベース化されたデータが簡単に手に入りました。
Open Footballのデータは順次増えていっているようで、いま開催中の2014年ブラジル大会の結果も、今後追加されていくと思います。
ここに公開したデータベースも順次、追加/変更していく予定ですのでご期待ください。

お疲れ様でした。


補足説明


QlikView上級者の方へ

本編の内容はQlikViewとあまり関係ない内容でしたが、データベースを作成する部分で、実はQlikViewの機能を多用しています。

Open Footballで公開されているデータは、もともとSQLite形式のデータベースです。
また、データ構造も複雑で、すぐに分析に使えるようなものではなく、当然ながらすべて英語のデータです。

このデータを整形したり、項目名やデータを日本語化したりする作業は、すべてQlikViewでおこなっています。
このとき使用したロードスクリプトも、以下にアップロードしておきます。
こういったデータの整形作業が簡単にできるのも、QlikViewの(とくにロードスクリプトの)特長だと思いますので、ぜひ参考になさってください。
worldcupdb.zip

以下の3つのファイルが含まれています。
worldcup.db:Open Footballが公開しているデータベースです。(2014年5月18日版)
翻訳.xlsx:ウィキペディアのデータをもとに、こちらで作成した翻訳用のファイルです。
ロードスクリプト.txt:データを整形するためのロードスクリプトです。

実際に使用する際は、SQLiteのODBC(OLE DB)ドライバを設定してください。
SQLiteのODBCドライバや設定方法は、Googleなどで検索すればすぐに見つかると思います。
Googleで「SQLite ODBC」を検索する

ODBCドライバを設定します。ここではデータソース名を「worldcupdb」としています。
worldcup-401worldcup-402
QlikViewで新規にドキュメントを作成し、「ロードスクリプト.txt」の内容を挿入します。
ドキュメントを「翻訳.xlsx」とおなじディレクトリに保存して、リロードすれば整形されたデータが取り込まれるはずです。


Open Footballについて

Open Footballについてはあまり情報がないのですが、2013年5月ごろからGitHub上で活動しているようです。
football.db · GitHub
これを見ると、Open Footballは世界中のサッカーに関するデータを、無償で(パブリックドメインで)公開することを目的としているプロジェクトのようです。

Open Footballのデータはもともとテキスト形式のデータで、これをデータベース化するには独自にビルドする必要があります。
しかし、以下のページからビルド済みのデータベースがダウンロードできます。SQLite形式(.db)のデータベースです。
Releases · openfootball/build · GitHub

以下、情報を収集する上で参考にしたページをまとめておきます。
Open Football内のワールドカップのページです。
openfootball/world-cup · GitHub

Open Footballの使い方について解説しているスライドです。
無くなってしまったようです。(2014年9月2日追記)
Using Open Football Data – Get Ready for the World Cup in Brazil 2014 w/ Ruby

Open Footballのサイトです。
Welcome – football.db – Open Football Data
上の方を見ると「beer.db」という姉妹プロジェクトもあるようですね。

Open Footballのデータの成り立ちなどが解説されています。
Using open football data – Get ready for the World Cup in Brazil 2014 – Open Knowledge Foundation Labs

Stack Exchangeに挙がった「ワールドカップのオープンなデータはないか?」という質問です。
Any Open Data Sets for the (Football) World Cup (in Brazil 2014)? – Open Data Stack Exchange