
本記事は、Power BI入門者を対象としたシリーズの第3回です。 前回の記事では、 無料版と有料版 の違いや料金プラン、デスクトップ版のインストール方法などについて触れてきました。
今回は、Power BIで野球データをどのように取り込み、Power Queryを用いてどのようにデータ加工を行うかを紹介します。
野球は統計と深い関わりを持つスポーツであり、データから選手の様々な特徴をつかむことができます。本記事では、Power BIを活用して野球データを分析し、レポートを作成する方法をハンズオン形式でご紹介します。
野球データソースとレポートの概要
下画面は、今回作成するPower BIレポートの完成イメージです。

架空の大学に関する、野球の打撃成績を200人分のサンプルデータを作成し、打席、出身、大学名、既定打席、その他さまざまな指標を用いて分析します。
サンプルデータはこちらからダウンロードください。
このレポートは、指定の条件に基づいた成績をランキング形式で瞬時に確認できるものです。野球という身近なテーマを用いて、Power BIの基本操作を学びながらレポート作成の手順を学んでいきましょう。
Power BI作成の概要
まず、今回のPower BI作成の全体の流れを説明します。

上図のように、ローカル上に保存したExcelファイルをPower Queryに取り込み、Power Query上で取り込みやすいようにデータを変換、最後にPower BIでレポートを作成します。
今回の記事では、ExcelファイルをPower Queryに取り込み、Power Query上でデータを変換するところまで進めます。
野球データの取り込み
はじめにPower BIを用いて野球データを取り込みます。
今回は、データソースとしてExcelを取り込む場合を想定して説明します。
1. 「ホーム」タブを開き、「データを取得」からドロップダウンメニューを選び、「Excelブック」をクリックします。

2. 取り込むExcelを選択します。
対象のExcelファイルのパスまで遷移し、「サンプルデータ_野球」を選択してから「開く」をクリックします。

3. 「ナビゲーター」画面で取り込むデータのテーブルを選択します。
今回は「Sheet1」にチェックを入れ、「データの変換」をクリックします。

4. ExcelファイルをPower Queryに取り込み終わると、 下のような画面に遷移します。

Power Queryによるデータ加工
Power Queryエディターを使用して、取り込んだデータを分析に適した形に加工します。 クエリ名を 「打撃成績一覧」 に変更し、指標テーブルの作成を行います。 指標テーブルは、各種指標を用いて横棒グラフの切り替えを行えるようにする際に用います。
5. クエリ名の変更
画面左上に「Sheet1」というクエリ名が設定されていることを確認します。
クエリ名とは、データベースからデータを操作するための処理の命令文のことです。

「Sheet1」ではわかりにくいため、今回はクエリ名を「打撃成績一覧」に変更します。「Sheet1」を右クリックして表示されるメニューの「名前の変更」から変更をします。

7. 「打撃成績一覧」テーブルを複製します。
「打撃成績一覧」テーブルを右クリックし、「複製」をクリックします。

8. 複製したテーブルのクエリ名を変更します。
「打撃成績一覧(2)」を右クリックし、「名前の変更」をクリックします。
クエリ名を「指標一覧」に変更します。

9. 列名自体を一つの列として格納します。
Ctrlキーを押しながら、「名前」以外の列名をクリックします。

「変換」タブの「任意の列」セクション内にある「列のピボット解除」をクリックします。

列が3列に変わり、列名が「属性」列の値として格納されていることを確認します。

10. 今回は、指標名のみが必要なため「名前」列と「値」列を削除します。
Ctrlキーを押しながら、「名前」の「値」列をクリックし、Delキーを押します。

11. 属性列に各指標がひとつずつ存在すれば良いので、重複行の削除をします。「ホーム」タブの「行の削減オプション」の「行の削減」を選択し、「重複の削除」をクリックします。

12. 業に対して項番を振っていきます。
「列の追加」タブの「全般」セクション内にある「インデックス列」をクリックします。

下画像のように列が追加されたことを確認します。

13. 次に列名の変更を行います。
「属性」列を右クリックし、「名前の変更」を選択して列名を「指標」に変更します。「インデックス」列も同様に「項番」に変更します。

14. 最後にPower Queryで加工したデータをPower BIに取り込みます。
画面左上の「閉じて適用」を選択してください。

まとめ
以上でPower Queryへの野球データの取り込みと、Power Queryによるデータ加工、Power BIへのデータ取り込みが終了となります。

次回の記事では、Power BI上での表示設定とグラフ作成についてご紹介します。ぜひ引き続きお読みいただき、Power BIについての知識を深めてください!