はじめに
Microsoftチュートリアルに沿って学習する第1回目としてのPower Query 、Power Pivot 入門(1)では、主に次のことを学びました。
- Power Pivotとは?
- Power Pivotのアドインの追加
- Power QueryによるAccessデータベースの読み込み
- ピボットテーブルの作成
今日のPower Query 、Power Pivot 入門(2)では、次のことを学習します。
- 新たなExcelファイルの表からのインポート
- Webページ内の表からのインポート
- 読み込んだデータと前のデータとのリレーションシップの一つの仕方
- リレーションシップした結果のピボットテーブルの整形
パソコンOS : Windows10 Pro
Windowsバージョン : 21H1
Excel バージョン : 2107
新たなExcelファイルの表からのインポート
MicrosoftのPower Pivotのチュートリアルで用意しているフExcelファイル(OlympicSports.xlsx)を読み込みます。
これらのファイルは、次のサイトからダウンロードすることができます。
それでは、早速、Excelファイルを読み込み、中の表をインポートしていきます。
Power Query 、Power Pivot 入門(1)で作成したExcelファイル(ここでは、Microsoft-pwerpviot-tutorial.xlsxとします。)をダブルクリックして起動します。
上部リボンの「データ」⇒「データの取得」⇒「ファイルから」⇒「ブックから」を順に選択しクリックします。
データ取り込み画面が表示されますので、読み込むExcelファイル(OlympicSports.xlsx)を選択し、「インポート」をクリックします。
ナビゲータウインドウが表示されますので、読み込んだファイル(OlympicSports.xlsx)内の「Sheet1」を選択し、「データの変換」をクリックします。
Sheet1 - Power Query エディターが立ち上がり、読み込んだ「OlympicSports.xlsx」の「Sheet1」が表示されますが、1行目のデータは表の列の見出しなので、リボンの「ホーム」⇒「1行目をヘッダーとして使用」をクリックします。
「ホーム」⇒「閉じて読み込む▼」の「▼」をクリックし、「閉じて次に読み込む…」をクリックします。
データのインポートウインドウが表示されるので、「接続の作成のみ」と「このデータをモデルに追加する」にチェックを入れ、「OK」をクリックします。
Excelの右の「クエリの接続」に「Sheet1」のクエリが作成されていますが、名前を変更しておきます。
Sheet1を選択後、右クリックして表示されるメニューで「名前変更」をクリックします。
「Sheet1」から「Sports」に名前を変更して、クリックするとクエリ名の変更ウインドウが表示されるので、「名前の変更」をクリックします。
Webページ内の表からのインポート
続いて、Webページにある表をExcelのクエリでインポートします。
Microsoftチュートリアルでは、Web上にある表を新たに起動したExcel Bookにコピーして、それを表として整形してから保存して、そのファイルを読み込んで表をインポートする方法を紹介していますが、ここでは、Web読み込みによる表のインポートを紹介したいと思います。
インポートする表はオリンピックの開催都市、開催の国、開催年、開催のシーズンなどが表になったもので次のURLの文書内に表があります。
これを読み込んでいきます。
Excelのリボンの「データ」⇒「データの取得」⇒「その他のデータソースから」⇒「Webから」を順に選択クリックしていきます。
Webからのウインドウが表示されるので、URL欄に先ほどの表が書かれたURLをコピー&ペーストして張り込み、「OK」をクリックします。
ナビゲータウインドウが表示され、左に読み込んだURLが表示され、その下に「Dcument」と「コピーと張り付けてを使用してデータをインポートする」の2つのデータがあり、「コピーと張り付けてを使用してデータをインポートする」をクリックすると、読み込みたい表データであることがわかるので、それを選択して右下の「データ変換」をクリックします。
Power Query エディターが立ち上がり、「コピーと張り付けてを使用してデータをインポートする」の表が表示されます。
各列のデータ型に間違いがなければ、前に述べた操作と同様の操作を行います。
上述の操作 1 ~ 4 の部分は、前のExcelブックの表をインポートする所で書いていますので、詳細な図などは省略します。
現時点でクエリの接続には7個のクリエが存在することになります。
読み込んだデータと前のデータとのリレーションシップの一つの仕方
読み込んだ表の中で「Sports」の「SportID」と「Disciplines」の「SportID」が同じ項目を含んでいるので、この間でリレーションシップを作成します。
右にピボットテーブル フィールドが表示されていない場合は、ピボットテーブル内のどこでも良いのでクリックすると、上部のリボンのメニューに「ピボットテーブル分析」が表示されますので、それをクリックし、「表示」⇒「フィールドリスト」をクリックすれば、「ピボットテーブル フィールド」が右に表示されるようになります。
右のピボットテーブフィールドのすぐ下の「すべて」タブをクリックし、検索欄の下に表示されるデータ欄に今回インポートした表の「Hosts」と「Sports」があることを確認してください。
「Hosts」や「Sports」が前の名前「コピーと張り付けてを使用してデータをインポートする」や「Sheet1」になっている場合は、「データ」⇒「すべて更新」をクリックしてください。
それでも、名前が前の状態であれば、一旦Excelファイルを保存して、再度読み込んでください。
ピボットテーブルのフィールドの「> Sports」をクリックして展開し、「Sport」を右クリックすると表示されるメニューで「行ラベルに追加」をクリックします。
「テーブル間のリレーションシップが必要である可能性があります。」と表示されますので、「作成...」をクリックします。
「リレーションシップの作成画面」が表示されますので、4つの欄に次のように設定し、「OK」をクリックします。
列(外部) : SportIDを選択
関連テーブル : データモデルのテーブルSportsを選択
関連列(プライマリ) : SportIDを選択
リレーションシップした結果のピボットテーブルの整形
この結果が、ピボットテーブルに反映されますが、よく見ると行ラベルの順序が逆になっていることがわかります。
この順序を変更するのは簡単で、ピボットテーブルのフィールドの行の順序を変えればよいので、「Sports」をドラッグして、「Disciplines」の上に持っていってドロップしてやればOKです。
ピボットテーブルを整形した結果は次のようになります。
おわりに
如何だったでしょうか?
新たなExcelファイルの表からのインポート、Webページ内の表からのインポート、読み込んだデータと前のデータとのリレーションシップの一つの仕方、リレーションした結果のピボットテーブルの整形などについて解説してきました。
この記事が少しでもあなたにとって役に立てればこれほど嬉しいことはありません。
以上です。
コメント