身近なデータの分析 世界陸上の結果をQlikViewで分析してみよう(前編)

身近なデータの分析 世界陸上の結果をQlikViewで分析してみよう(前編)

Pocket

前々回は参議院議員選挙、前回は待機児童のデータを分析してみましたが、QlikViewの使い方を覚える際、スポーツ関係のデータを分析してみるのもお薦めです。
スポーツのデータは誰にでも分かりやすく、また興味をもって分析できます。
ちょうど先日、世界陸上が開催されましたので、今回は世界陸上の国別メダル数などをQlikViewで分析してみましょう。

この記事はQlikViewの初心者の方でも、すべてご理解いただけるように配慮したつもりですが、前々回の参議院議員選挙の記事と共通する操作があるため、先にそちらをご覧いただくことをお薦めします。
身近なデータの分析 参議院議員選挙の結果をQlikViewで分析してみよう

なお、今回も記事が長くなってしまったため、前後編の2回に分けて公開します。

改訂 2016年2月9日
Wikipediaのページの改編にあわせて説明を追加しました。



データの確認とデータロード


出典

スポーツのデータは題材としてはいいのですが、あまり無償で公開されていないのが難点です。
しかし最近は、オリンピックやワールドカップといった著名な大会については、ウィキペディアにデータが公開されています。ここではウィキペディアにある以下のデータを使用します。
帰属
この文書は、クリエイティブ・コモンズ・表示・継承ライセンス3.0のもとで公表されたウィキペディアの以下の項目を素材として二次利用しています。


ファイルのダウンロード

ここでは以下のファイルを使用しますので、ダウンロードしてください。
sekai-rikujo.zip
Zip形式ですので、ダウンロード後解凍してください。
以下ファイルが含まれています。
analyze-sekai-rikujo-101
世界陸上.xls 「大陸」シート
今回使用するデータです。
analyze-sekai-rikujo-102「大陸」シート以外のシートは、ここでは使用しません。オフライン環境でも試せるように、また色々と試せるように、今回は使用しないデータも入れてあります。


使用するデータの確認

ここではウィキペディアに公開されているデータを使用します。
また、国のデータと大陸のデータ(アジア、オセアニアなど)を紐付けるために、前述のExcelファイルを使用します。

使用するデータ
http://ja.wikipedia.org/w/index.php?title=%E4%B8%96%E7%95%8C%E9%99%B8%E4%B8%8A%E7%AB%B6%E6%8A%80%E9%81%B8%E6%89%8B%E6%A8%A9%E5%A4%A7%E4%BC%9A&oldid=48871000
analyze-sekai-rikujo-103「全体の競技結果」に国ごとの通産獲得メダル数が掲載されています。ただし、先日のモスクワ大会のデータはまだ入っていないようです。
参議院議員選挙の記事でも使用しましたが、QlikViewにはWeb上のデータを簡単に取り込む機能がありますので、今回はその機能を使用してみます。
ここでは、ひとまず取り込むデータの確認だけしておいてください。


データの取り込み

それではデータを取り込んでみましょう。
まずはファイルを新規に作成し、[ロードスクリプトの編集]画面を起動します。
analyze-sekai-rikujo-104
今回はウィキペディアのページからデータを取り込みます。
ロードスクリプトの最下行にカーソルをあわせて、画面右側の[Webページ]ボタンをクリックします。
analyze-sekai-rikujo-105
[ファイルウィザード]画面で[インターネットファイル]に以下のURLを指定します。
http://ja.wikipedia.org/w/index.php?title=%E4%B8%96%E7%95%8C%E9%99%B8%E4%B8%8A%E7%AB%B6%E6%8A%80%E9%81%B8%E6%89%8B%E6%A8%A9%E5%A4%A7%E4%BC%9A&oldid=48871000
analyze-sekai-rikujo-106
ご注意
[次へ]ボタンをクリックすると、QlikViewから指定されたURLに接続します。
ここではウィキペディアのサーバーに接続しますので、連続した実行は控えてください。またサーバーへの接続は自己責任でお願いいたします。
サーバーに接続できなかった場合は処理が停止してしまいますので、事前にブラウザなどを起動して、上記URLに正しくアクセスできるか、あらためて確認してください。

準備ができたら[次へ]ボタンをクリックしてください。

HTMLのページに接続し、データを認識できました。
QlikViewはHTMLの表(TABLEタグ)を自動で認識して、表として取り込んでくれます。

データが文字化けしていますが、これは文字コードが正しくないためです。
ウィキペディアの文字コードは、UTF-8のため[文字セット]が「日本語(シフトJIS)」のままだと文字化けしてしまいます。
analyze-sekai-rikujo-107
[文字セット]を「Unicoce(UTF-8)」に変更すると、文字化けが解消されます。
analyze-sekai-rikujo-108
今回取り込む、国別メダル数のテーブルは4番目5番目のテーブルです。
[テーブル]から「@4」「@5」を選択して[次へ]ボタンをクリックします。
2016年2月9日追記
Wikipediaのページが改編され、4番目ではなく5番目のテーブルになりました。また「順位」は「順」という表記に変更されています。画面キャプチャは撮り直していませんが、下図を参考に国ごとのメダル数のテーブルを選択するようにしてください。analyze-sekai-rikujo-109
取り込むテーブルの最下部に、合計行や空白行があるので削除しましょう。
[変換オプションを有効にする]ボタンをクリックします。
analyze-sekai-rikujo-110
最下部までスクロールします。
analyze-sekai-rikujo-111
画面右側の「1」の部分をクリックして選択します。
※画面左側の「89」ではなく画面右側の「1」をクリックしてください。
analyze-sekai-rikujo-112
[選択分を削除]をクリックします。
analyze-sekai-rikujo-113
選択した行が削除されました。
analyze-sekai-rikujo-114画面左側に上からの行数が、画面右側に下からの行数が表示されており、どちらを選択するかによって行の数え方が変わります。

つまり今回のように画面右側の「1」を選択した場合、下から1行目が削除されます。逆に画面左側の「89」を選択した場合、上から89行目が削除されます。
結果としては同じですが、最下行を削除したい場合は、中間の行があとから増えることも考慮して、今回のように指定しておいた方が柔軟です。

もう一行、空白行が残っていますので、こちらも削除しましょう。
再度画面右側の「1」を選択し、[選択分を削除]ボタンをクリックします。
analyze-sekai-rikujo-115analyze-sekai-rikujo-116
以上で設定は完了です。
[次へ]ボタンをクリックします。
analyze-sekai-rikujo-117
[終了]ボタンをクリックします。
analyze-sekai-rikujo-118
ロードスクリプトが作成されました。
analyze-sekai-rikujo-119
もし[変換]画面で89行目を選択していた場合は、ロードスクリプトは下図のようになります。
analyze-sekai-rikujo-120
「Top 89」「Top 88」はそれぞれ上から89行目、88行目という意味です。
analyze-sekai-rikujo-121
テーブル名が「@4」「@5」のままだと分かりにくいため、テーブル名を指定しておきましょう。
LOAD文の前に以下のように指定します。
国別メダル数:
analyze-sekai-rikujo-122
つづいてExcelファイルからデータを取り込みます。
ロードスクリプトの最下行にカーソルを合わせて、[テーブルファイル]ボタンをクリックします。
analyze-sekai-rikujo-123
「世界陸上.xls」を選択します。
analyze-sekai-rikujo-124
[テーブル]が「大陸$」であることを確認してください。また[列見出し]を[先頭行]に変更してください。
[終了]ボタンをクリックします。
analyze-sekai-rikujo-125
ロードスクリプトは以上で完成です。[OK]ボタンをクリックします。
analyze-sekai-rikujo-126
データを取り込んでみましょう。
[リロード]ボタンをクリックします。
analyze-sekai-rikujo-127
ファイルを保存し、[ロードスクリプトの進捗]画面を閉じてください。
analyze-sekai-rikujo-128analyze-sekai-rikujo-129analyze-sekai-rikujo-130
以上でデータの取り込みは完了です。


ユーザーインターフェースの作成


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

データが取り込めましたので、ユーザーインターフェースを作成していきましょう。
まずはテーブルボックスを追加します。
シートの余白を右クリックして[シートオブジェクトの追加]→[テーブルボックス]を選択します。
analyze-sekai-rikujo-201
画面中央の[すべて追加]ボタンをクリックします。
analyze-sekai-rikujo-202
画面右側の[ロード順]ボタンをクリックします。
項目がロードした順(もとのデータと同じ順)に並びます。
[OK]ボタンをクリックします。
analyze-sekai-rikujo-203
テーブルボックスが作成されましたが、並び順がバラバラです。
「順位」のラベルをダブルクリックして並べ替えます。
analyze-sekai-rikujo-204
下図を参考に位置やサイズを調節してください。
analyze-sekai-rikujo-205
最後に列幅を調節します。
テーブルボックスを右クリックし[データに列幅を合わせる]を選択します。
analyze-sekai-rikujo-206以上でテーブルボックスは完成です。データを見てみると、アメリカが非常に多くのメダルを獲得していますね。次いでロシア、ケニアという順位になっています。

こんどはリストボックスを追加してみましょう。
シートの余白を右クリックし[リストボックスの追加]を選択します。
analyze-sekai-rikujo-207
「大陸」と「計」を画面右側の領域に追加します。
[OK]ボタンをクリックします。
analyze-sekai-rikujo-208「計」の項目は国ごとの獲得メダル数の合計です。(金、銀、銅の合計。)

リストボックスが作成されました。
下図を参考に位置やサイズを調節してください。
analyze-sekai-rikujo-209
「計」の項目を複数列で表示します。
「計」のリストボックスを右クリックして[プロパティ]を選択します。
analyze-sekai-rikujo-210
[プレゼンテーション]タブで[1列]のチェックを外します。
[OK]ボタンをクリックしてください。
analyze-sekai-rikujo-211
下図を参考に、「計」のリストボックスの高さを調節してください。
analyze-sekai-rikujo-212
以上でリストボックスは完成です。

すこしデータを確認してみましょう。
「大陸」から「アジア」を選択します。
analyze-sekai-rikujo-213
合計メダル数「31」が最大のようです。「31」をクリックしてみましょう。
analyze-sekai-rikujo-214
「中国」に絞り込まれました。
中国は金銀銅の数がそれぞれ、10、10、11ですので、かなりまんべんなくメダルを獲得しているようです。
analyze-sekai-rikujo-215
一旦選択を解除して、二番目に大きい「21」をクリックしてみましょう。
analyze-sekai-rikujo-216
「日本」に絞り込まれました。
analyze-sekai-rikujo-217
あらためて、アジアのデータを確認してみましょう。
合計メダル数を見ると、日本は中国に次いで二位ですが、バーレーンの方が順位が上になっています。
今回使用しているデータでは、金メダルの数が多い方が上位にきているようです。
日本は合計メダル数は多いものの、金メダルの数はあまり多くないようですね。
analyze-sekai-rikujo-218
他の大陸のデータも見てみてみましょう。
たとえば、アフリカではケニアのメダル数が非常に多く、全体の順位でも三位につけていますね。
analyze-sekai-rikujo-219
オセアニアはオーストラリアの一強と言えそうです。
analyze-sekai-rikujo-220
南アメリカを見ると、ブラジルが日本とおなじような状況になっていますね。
analyze-sekai-rikujo-221


円グラフの作成

ここまでで国ごとの順位や、各大陸の上位国などが確認できましたが、たとえば一位のアメリカは全体に対して、どのぐらいのメダル数を占めているでしょうか。
また、ヨーロッパ、北アメリカなどの大陸別で見たときはどうでしょうか。

ここからは、大陸別、国別に獲得メダル数の割合を確認してみましょう。
単純にストレートテーブルを使用してもいいのですが、今回は円グラフを使用してみます。

シートの余白を右クリックして[シートオブジェクトの追加]→[チャート]を選択します。
analyze-sekai-rikujo-301
[円グラフ]を選択して[次へ]ボタンをクリックします。
analyze-sekai-rikujo-302
軸項目に「大陸」を設定し[次へ]ボタンをクリックします。
analyze-sekai-rikujo-303
以下の数式を入力し、[OK]ボタンをクリックします。
Sum(計)
analyze-sekai-rikujo-304
[数式]画面で[次へ]ボタンをクリックします。
analyze-sekai-rikujo-305
今回はY軸値の大きい順に並べ替えます。
[Y-軸値]にチェックを入れます。
以上で円グラフは完成です。[完了]ボタンをクリックしてください。
analyze-sekai-rikujo-306
円グラフができました。大陸別のメダル数の割合が確認できます。
これを見ると、大陸別ではヨーロッパのメダル数が一番多く、全体の約半数を占めています。
また、上位三大陸(ヨーロッパ、北アメリカ、アフリカ)が、大部分(80%~90%程度?)を占めていそうです。
analyze-sekai-rikujo-307
こんどは国別でも見てみましょう。
いま作成した円グラフを右クリックして[複製]を選択します。
analyze-sekai-rikujo-308
円グラフが複製されるので、下の方に移動してください。
analyze-sekai-rikujo-309
下の方に移動した円グラフを編集します。
下の円グラフを右クリックして[プロパティ]を選択します。
analyze-sekai-rikujo-310
軸項目を「国・地域」に変更します。
[OK]ボタンをクリックしてください。
analyze-sekai-rikujo-311
国別の円グラフもできました。
一位のアメリカが全体の15%程度、アメリカとロシアの合計で全体の25%程度。
上位七ヶ国(アメリカからソビエト連邦)ぐらいまで含めると、全体の半数程度を占めていそうです。
analyze-sekai-rikujo-312以上で、ひとまず円グラフは完成です。
円グラフを作成することで、大まかな割合が確認しやすくなりました。


ドリルダウングループの作成

ここまでで、大陸別と国別の円グラフができました。
しかし、大陸と国には親子関係があるため(ある国はかならずある一つの大陸に属しているため)、チャートが無意味になってしまう場合があります。

たとえば、アジアの中で日本が占めるメダルの割合を確認したかったとします。
「大陸」から「アジア」を選択してください。
このように大陸を一つに絞り込んでしまうと、大陸の方の円グラフは無意味になってしまいます。
analyze-sekai-rikujo-401
これにうまく対応するために、ドリルダウンという機能を使用してみましょう。
チャートのプロパティを開きます。
analyze-sekai-rikujo-402
[軸]タブで画面左下の[グループの編集]ボタンをクリックします。
analyze-sekai-rikujo-403
[新規作成]ボタンをクリックします。
analyze-sekai-rikujo-404
[グループ名]に「国グループ」と入力します。
ここでは変更しませんが、画面右側で[ドリルダウングループ]が選択されていることを確認しておいてください。
analyze-sekai-rikujo-405もう一方の[サイクリックグループ]も後編で使用します。

[使用項目]に「大陸」と「国・地域」を下図の順番で設定します。
[OK]ボタンをクリックしてください。
analyze-sekai-rikujo-406ドリルダウングループでは、ここに配置する順番が重要です。親の項目を上に配置してください。

[OK]ボタンをクリックしてください。
analyze-sekai-rikujo-407
ドリルダウングループが作成されました。
軸項目を「大陸」から、いま作成した「国グループ」に差し替えてください。
以上で設定は完了です。[OK]ボタンをクリックしてください。
analyze-sekai-rikujo-408
軸項目の表示は「大陸」のままですが、項目名の左側に黄色い上矢印が追加されています。
analyze-sekai-rikujo-409
下のグラフは不要なため削除します。
下の円グラフを右クリックして[削除]を選択します。
analyze-sekai-rikujo-410
[OK]ボタンをクリックします。
analyze-sekai-rikujo-411
円グラフを一つ削除できました。
analyze-sekai-rikujo-412
ドリルダウンの動きを確認してみましょう。
「大陸」から「アジア」を選択すると、軸が自動的に「国・地域」に切り替わります。
analyze-sekai-rikujo-413これがドリルダウンの機能です。ドリルダウンは親の項目の値が一つに絞り込まれると、自動的に軸項目を子の項目に切り替えます。

もちろん、チャートの中で値を選択することも可能です。
一度選択状態をクリアして、円グラフの中の「ヨーロッパ」をクリックします。
analyze-sekai-rikujo-414
ヨーロッパに絞り込まれると同時に、軸項目が「国・地域」に切り替わります。
ドリルダウンはこのように、親から子へ情報を掘り下げて分析していくための機能です。
analyze-sekai-rikujo-415これを見ると、ヨーロッパは突出した国があるわけではなく、多くの国がメダルを獲得しているようです。

今度は北アメリカを見てみます。
北アメリカはヨーロッパとは逆で、一部の国が、とくにアメリカが大量のメダルを獲得しているようです。
analyze-sekai-rikujo-416
なお、ドリルダウングループは[ドキュメントプロパティ]からでも設定できます。
analyze-sekai-rikujo-417
[ドキュメントプロパティ]の[グループ]タブで設定できます。
analyze-sekai-rikujo-418
以上でドリルダウンの設定は終了です。
ドリルダウンは、今回の大陸と国のように親子関係を持つデータがあるときに便利な機能です。
たとえば、会社の組織(事業部→部→課)、商品の分類(大分類→中分類→小分類)、地域(地区→都道府県→市区町村)などの項目で使用してみてください。


前編はここまでで終了とします。
作成したドキュメントは後編でも使用しますので、そのまま保管しておいてください。
後編では、今回使用しなかったサイクリックグループや、トレリスチャートといった機能を使用して、データの見せ方や使い勝手を工夫していきます。

お疲れ様でした。