PoradnikiSamouczki

Jak wczytać kursy walut do Power BI przez Power Query

Wklej zapytanie M w Power BI Desktop, zamień odpowiedź JSON na tabelę i przygotuj odświeżanie po publikacji, aby kursy w raportach były aktualne.

5 sie 2026 · 5 min

Power BI ma już potrzebny konektor. Utwórz puste zapytanie i użyj Web.Contents. Host pozostaw stały, a endpoint przenieś do RelativePath; dzięki temu usługa rozpozna źródło przy odświeżaniu modelu.

  • Wklej kod M w Edytorze zaawansowanym.
  • Zostaw stałe https://api.exchangerate.dev i użyj RelativePath.
  • Wynik ma jeden wiersz na walutę oraz źródło i czas aktualizacji.
  • Wybierz poświadczenia Anonimowe, bo klucz trafia do nagłówka.
  • Edytorzy PBIX mogą zobaczyć zapytanie; przy szerokiej dystrybucji użyj proxy.

Utwórz puste zapytanie

Utwórz darmowy klucz. W Power BI Desktop wybierz Pobierz dane → Puste zapytanie, a następnie Widok → Edytor zaawansowany w Power Query.

Wklej zapytanie M

Power Query M · Advanced Editor
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

Podmień przykładowy klucz, kliknij Gotowe i nazwij zapytanie FxRates. Podgląd powinien pokazać EUR, GBP i JPY w osobnych wierszach.

Sprawdź typy danych

currency, base i source ustaw jako Tekst, rate jako Liczba dziesiętna, a data_updated_at jako Data/Godzina/Strefa. Potem wybierz Zamknij i zastosuj.

Opublikuj i ustaw odświeżanie

W usłudze Power BI otwórz poświadczenia dla https://api.exchangerate.dev i wybierz Anonimowe. Zapytanie M wysyła klucz w nagłówku Authorization. Ustaw częstotliwość odpowiednią dla raportu.

RelativePath zapobiega błędowi dynamicznego źródła

Power BI musi rozpoznać stały host. Zostaw domenę w Web.Contents, a ścieżkę endpointu przenieś do RelativePath, aby odświeżanie działało po publikacji.

Parametr M nie jest sejfem

Osoba edytująca PBIX lub zapytanie może zobaczyć klucz. To wystarcza w małym, zaufanym workspace. Przy szerokiej dystrybucji użyj proxy po stronie serwera.

Kursy orientacyjne

Służą do raportów, analiz, planowania i prezentacji; nie są wykonywalną ofertą ani ceną rozliczeniową.

Pytania

Czy Power BI może bezpośrednio wywołać API walutowe?

Tak. Web.Contents pobiera JSON, a Power Query zamienia rekord rates na tabelę.

Skąd błąd dynamicznego źródła?

Host w Web.Contents musi być stały, a endpoint powinien znaleźć się w RelativePath.

Jaki typ poświadczeń wybrać?

Anonimowe, ponieważ klucz jest wysyłany przez zapytanie M w nagłówku Authorization.

Czytaj dalej

Zacznij od bezpłatnego klucza API

5 000 zapytań miesięcznie w bezpłatnym planie. Bez karty kredytowej.

Uzyskaj bezpłatny klucz