見出し画像

Power BI × Web API入門 ~複数エンドポイントからのデータ収集・統合~ (Day2)


概要(目的・背景)

現代のビジネス環境では、データは多岐にわたるソースから取得されます。例えば、ウェブサイト、APIなど、さまざまなエンドポイントから情報を収集する必要があります。これらのデータを効率的に統合・分析することは、意思決定の迅速化や業務効率の向上に直結します。しかし、各エンドポイントから個別にデータを取得し、手動で統合するのは手間がかかり、エラーの原因にもなります。そこで、Power BIを活用して複数のエンドポイントに一括でアクセスし、データを自動的に収集・統合する方法を探求します。
本記事では天気予報APIを例に、Power BIでのWeb APIの取り扱い方法を連載形式で詳しく解説します。
■GOALイメージ

読み手(誰に向けた記事か?)

この記事は、下記のような読者を想定しています。
・Power BIを日常的に使用している担当者(データ分析に興味を持つ中級者以上のユーザー)
手動でのデータ収集に限界を感じている方や、Power BIの機能をさらに深く理解し、業務の効率化を図りたいと考えている方にも適しています。

ブログの目標設定(具体的な目標)

本記事の目標は、以下の通りです。
・Power BIを使用して、複数のエンドポイントからデータを一括で取得・統合する具体的な手順を理解する。
エンドポイントを一括でアクセスする手法を学ぶことで、読者の皆様がPower BIの活用範囲を広げ、業務の生産性向上に寄与できると考えています。

方法(アプローチ・使用技術)

天気予報APIから東京の予報を取得しました。今回は、大阪、名古屋、札幌の天気情報も含め、一括で取得できるようにすることを目指します。

1.前回のPower BIファイルを開いて、Power Queryより「表示」タブから「詳細エディター」を選択する。

2."2か所"変更する。

変更前

変更後(赤線箇所を変更)

設定変更後、「完了ボタン」を押下する。

3.左メニューのスペースにて右クリックを行い、「新しいクエリ」から「空のクエリ」を選択する。

4.東京、大阪、名古屋、札幌のIDを入力する。
入力形式「= {"016010","130010","230010","270000"}」

※カンマ区切りで拠点のIDを追加することで、4都市以外の都市も追加できます。拠点IDの調べ方は、以下のリンク先より、idに設定されている6桁の数字を確認ください。

weather.tsukumijima.net/primary_area.xml

5.「変換」タブから、「テーブルへの変換」ボタンを押下する。

6.「OK」ボタンを押下する。

7.「列の追加」タブより「カスタム関数の呼び出し」ボタンを押下する。

8.以下の設定を行い、「OK」ボタンを押下する。
新しい列名:WeatherForecast
関数クエリ:WeatherForecast
Page:Column1

カスタム関数の呼び出しが本記事の肝要です。
引数を設定して、他で定義していたクエリ(WeatherForecast)を呼び出すことができます。
上記設定は、Column1(各都市のID)が引数に設定されています。

9.WeatherForecast列のタイトルの記号を選択し、「OK」ボタンを押下する。

10.展開されたことを確認する。(各拠点の本日・明日・明後日の3レコード存在すること)

11.プロパティに「EachLocation」を入力する。

12.「ホーム」タブにて「閉じて適用」ボタンを押下する。

手順は以上です。都市IDに応じた複数のエンドポイントに対して実行・データ取得することができました。


結果(成果と評価)

本記事の目標は「Power BIを使用して、複数のエンドポイントからデータを一括で取得・統合する具体的な手順を理解する」ことでした。実際に天気予報APIを活用し、東京・大阪・名古屋・札幌の4都市のデータを一括で取得・統合するプロセスを詳細に解説しました。
実施した手順により、以下の成果が得られました。
・複数のエンドポイントに一括アクセス
各都市のIDをリスト化し、Power Queryのカスタム関数を利用することで、一つの設定で複数のAPIリクエストを実行。
・データの統合と展開の自動化
取得したデータをテーブル化し、展開することで、個別に処理することなく一元管理。
・拡張性の確保
都市IDのリストを変更するだけで、対象地域を柔軟に追加可能。

まとめ(結論と今後の展望)

本記事では、Power BIを活用して天気予報APIから複数都市のデータを一括取得・統合する手法を紹介しました。このアプローチにより、手作業によるデータ取得の負担を軽減し、作業の効率化に貢献できます。
次回は、取得したデータをもとに画面設定を行います。お楽しみに!


いいなと思ったら応援しよう!

Niwa Takuya
よろしければ、応援いただけると嬉しいです。いただいたチップは、執筆のためにライセンスの購入資金に充てさせていただきます。