Tutorial/Power BIクイックスタート

Power Queryで為替レートをPower BIに読み込む

Power BI DesktopにMクエリを貼り付け、JSONを通貨テーブルに変換し、公開後もスケジュール更新できる形にする。

ERexchangerate.dev·Aug 5, 2026·5 min

必要なコネクタはPower BIに入っている。空のクエリでWeb.Contentsを使い、ホストは固定したままエンドポイントをRelativePathに分ける。これでPower BI Serviceが更新時にデータソースを特定できる。

Key points
詳細エディターにMコードを貼り付ける。
https://api.exchangerate.devを固定し、RelativePathを使う。
通貨ごとの行にsourceと更新時刻を追加する。
キーはヘッダーで送るため、データソース認証は匿名を選ぶ。
PBIX編集者はクエリを見られる。広く配布するならサーバー側プロキシを使う。

空のクエリを作る

無料キーを作成する。Power BI Desktopでデータを取得 → 空のクエリを選び、Power Queryエディターの表示 → 詳細エディターを開く。

Mクエリを貼り付ける

Power Query M · Advanced Editorcopy
let
    ApiKey = "exr_live_replace_with_your_key_here",
    Base = "USD",
    Symbols = "EUR,GBP,JPY",
    Response = Json.Document(
        Web.Contents(
            "https://api.exchangerate.dev",
            [
                RelativePath = "v1/latest/" & Base,
                Query = [symbols = Symbols],
                Headers = [Authorization = "Bearer " & ApiKey]
            ]
        )
    ),
    Rates = Record.ToTable(Response[rates]),
    Renamed = Table.RenameColumns(
        Rates,
        {{"Name", "currency"}, {"Value", "rate"}}
    ),
    WithBase = Table.AddColumn(Renamed, "base", each Response[base], type text),
    WithSource = Table.AddColumn(WithBase, "source", each Response[source], type text),
    WithUpdatedAt = Table.AddColumn(
        WithSource,
        "data_updated_at",
        each DateTimeZone.FromText(Response[data_updated_at]),
        type datetimezone
    )
in
    WithUpdatedAt

キーのプレースホルダーを置き換えて完了を押し、クエリ名をFxRatesにする。EUR、GBP、JPYが別々の行に表示されればよい。

データ型を確認する

currencybasesourceはテキスト、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データを扱う開発者向けの統合ガイド。

Keep reading

TutorialLive exchange rates in Excel with Power QueryRead ReferenceHistorical exchange rate APIRead TutorialGet exchange rates in n8nRead
他の比較Fixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
学ぶReading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB reference rates, explained
ライブレートEUR/USDGBP/USDUSD/JPY