Power Queryで為替レートをPower BIに読み込む
Power BI DesktopにMクエリを貼り付け、JSONを通貨テーブルに変換し、公開後もスケジュール更新できる形にする。
必要なコネクタはPower BIに入っている。空のクエリでWeb.Contentsを使い、ホストは固定したままエンドポイントをRelativePathに分ける。これでPower BI Serviceが更新時にデータソースを特定できる。
Key points
詳細エディターにMコードを貼り付ける。
https://api.exchangerate.devを固定し、RelativePathを使う。通貨ごとの行にsourceと更新時刻を追加する。
キーはヘッダーで送るため、データソース認証は匿名を選ぶ。
PBIX編集者はクエリを見られる。広く配布するならサーバー側プロキシを使う。
空のクエリを作る
無料キーを作成する。Power BI Desktopでデータを取得 → 空のクエリを選び、Power Queryエディターの表示 → 詳細エディターを開く。
Mクエリを貼り付ける
キーのプレースホルダーを置き換えて完了を押し、クエリ名をFxRatesにする。EUR、GBP、JPYが別々の行に表示されればよい。
データ型を確認する
currency、base、sourceはテキスト、rateは小数、data_updated_atは日時/タイムゾーンにする。その後、閉じて適用を押す。
公開して更新を設定する
Power BI Serviceでhttps://api.exchangerate.devのデータソース認証を開き、匿名を選ぶ。AuthorizationヘッダーはMクエリが送る。レポートに合う更新頻度を指定する。
RelativePathが動的データソースのエラーを防ぐ
Power BIは固定されたホストを識別する必要がある。
Web.Contentsにはドメインを残し、パスだけをRelativePathにすると、公開後の更新が通りやすい。Mパラメーターを秘密保管庫にしない
PBIXやクエリを編集できる人にはキーが見える可能性がある。少人数の社内ワークスペースなら運用できるが、ファイルを広く配布する場合はサーバー側プロキシを使う。
参考レートとして使う
レポート、分析、計画、表示向けであり、取引の約定値や決済価格ではない。
ER
exchangerate.dev
FXデータを扱う開発者向けの統合ガイド。