Donnerstag, 15. Januar 2026

Power Query: Web-APIs anbinden – Daten aus dem Internet automatisiert importieren (z. B. Wechselkurse)

Web-APIs sind die Goldgrube für Live-Daten! Wechselkurse, Wetter, Aktienkurse – alles automatisiert in Excel!

Das Problem: Du brauchst Live-Daten, aber:

  • Manuell Websites scrapen = Horror!
  • Copy-Paste von Daten = fehleranfällig!
  • Daten ändern sich täglich = ständig manuell updaten?
  • Keine API Kenntnis = zu komplex?

Die Lösung: Power Query + Web API! Ein Setup einmal → Dann täglich automatisch aktualisiert!

In diesem Tutorial lernst du: Wie du Web-APIs in Power Query anbindest für Live-Daten automatisch!


1. Web-APIs verstehen – Die Grundlagen

Konzept Was es ist Beispiel
API (Application Programming Interface) Schnittstelle um Daten zu holen Wechselkurs-API, Wetter-API
REST API Daten via HTTP URL abrufen GET https://api.example.com/rates
JSON Format wie Daten gesendet werden {"EUR": 0.92, "GBP": 0.87}
API-Key Authentifizierung (Passwort für API) Manche APIs brauchen Keys
Das Wichtige: Power Query kann REST APIs aufrufen → JSON Daten laden → In Tabellen umwandeln!

2. Einfache Web API – Keine API-Key nötig

Beispiel: Wechselkurse von Open Exchange API

Schritt 1: API URL finden
https://api.exchangerate-api.com/v4/latest/EUR

Schritt 2: In Power Query laden
  1. Data → Get Data → From Other Sources → From Web
  2. URL eintragen: https://api.exchangerate-api.com/v4/latest/EUR
  3. OK!

Schritt 3: JSON transformieren
  • JSON wird geladen
  • Power Query fragt: Welches Element?
  • "rates" auswählen
  • In Tabelle konvertieren

3. Authentifizierung – Mit API-Key

Viele APIs brauchen einen API-Key (eindeutige Kennung für dich)!

Beispiel: OpenWeatherMap API

Schritt 1: API-Key holen
  1. Website: openweathermap.org → Sign Up
  2. Nach Registrierung → API Key erhalten
  3. Key speichern!

Schritt 2: URL mit Key konstruieren
https://api.openweathermap.org/data/2.5/weather?q=Berlin&appid=YOUR_API_KEY&units=metric

Schritt 3: In Power Query parametrisieren!
let ApiKey = "dein_api_key_hier", City = "Berlin", Url = "https://api.openweathermap.org/data/2.5/weather?q=" & City & "&appid=" & ApiKey & "&units=metric", Source = Json.Document(Web.Contents(Url)) in Source
⚠️ Wichtig: API-Keys NICHT öffentlich machen! Nicht in GitHub hochladen, nicht in Sharepoint teilen!
Best Practice: Parameter nutzen (die können beim Sharepoint versteckt werden!)

4. JSON parsing – Daten extrahieren

APIs sendet JSON, aber du brauchst eine Excel-Tabelle!

Praktisches Beispiel:

JSON Response von API:
{ "rates": { "USD": 1.08, "GBP": 0.92, "JPY": 160.5 }, "base": "EUR", "date": "2026-01-15" }

Du brauchst:
Currency Rate
USD 1.08
GBP 0.92
JPY 160.5

M-Code:
let Source = Json.Document(Web.Contents("https://api.exchangerate-api.com/v4/latest/EUR")), Rates = Source[rates], Expanded = Record.ToTable(Rates), Renamed = Table.RenameColumns(Expanded, {{"Name", "Currency"}, {"Value", "Rate"}}) in Renamed

5. Fallstudie 1: Wechselkurs Dashboard (Live!)

Szenario: Internationales Unternehmen braucht täglich EUR/USD/GBP Kurse

Setup:
  1. Power Query Abfrage: API aufrufen → JSON laden → Tabelle umwandeln
  2. Load to Excel: Sheet "Exchange Rates" mit Daten
  3. Dashboard: Pivot Table + Charts zeigen aktuelle Kurse

Resultat:
  • Täglich automatisch neue Kurse
  • Keine manuellen Updates nötig!
  • Dashboard immer aktuell!

6. Fallstudie 2: Wetter-Daten für Geschäftsbericht

Szenario: Retail-Unternehmen möchte Verkäufe mit Wetter korrelieren

Setup:
  1. API: OpenWeatherMap (kostenloses Tier!)
  2. Daten: Temperatur, Niederschlag, Bewölkung täglich
  3. Power Query: API aufrufen → Mit Sales-Daten kombinieren

Analyse:
  • Korreliertdie Temperatur mit Umsatz?
  • Regentage = weniger Verkäufe?
  • Insights generieren!

7. Best Practices für Web-APIs

Tipp 1: API-Rate Limits beachten!

Viele APIs haben Limits (z.B. 100 Calls/Monat kostenlos!)
Lösung: Refresh-Schedule planen → Nicht zu oft aufrufen!

Tipp 2: Error Handling nutzen!

Was wenn API Down ist?
try Web.Contents(Url) otherwise null

Tipp 3: Daten cachen (nicht Live aufrufen jedesmal!)

Statt täglich API aufrufen → 1x pro Tag speichern in Excel → Schneller!

Tipp 4: API-Keys parametrisieren!

Nicht hard-coded! Parameters nutzen für Sicherheit!

Tipp 5: JSON Struktur zuerst verstehen!

Browser F12 → Network → API aufrufen → JSON sehen → Verstehen!

8. Kostenlose Web-APIs zum Üben

API Daten API-Key nötig? URL
Exchange Rate API Wechselkurse Nein exchangerate-api.com
OpenWeatherMap Wetter Ja (kostenlos) openweathermap.org
REST Countries Länder-Daten Nein restcountries.com
CoinGecko Kryptokurse Nein coingecko.com/api
JSONPlaceholder Dummy Daten (Test!) Nein jsonplaceholder.typicode.com

9. Häufige Fehler & Lösungen

❓ F: Fehler 403 "Forbidden"!
A: API-Key falsch oder Request Header nötig:
  • Prüfe: API-Key korrekt?
  • Prüfe: Authorization Header nötig?
  • Lösung: Web.Contents(Url, [Headers=[Authorization="Bearer " & Token]])
❓ F: JSON Struktur zu komplex (nested objects!)
A: Schrittweise navigieren:
  • Source[field1] → Get first level
  • Source[field1][field2] → Get nested
  • Oder: Record.ToTable() → In Tabelle umwandeln!
❓ F: API hat Rate Limit überschritten!
A: Zu oft aufgerufen:
  • Lösung 1: Refresh-Schedule reduzieren (1x/Tag statt stündlich!)
  • Lösung 2: Daten cachen (API → Excel → Nutzen)
  • Lösung 3: Bezahlte Plan upgraden wenn wichtig
❓ F: API ist Down – Fehler beim Refresh!
A: Error Handling:
try Json.Document(Web.Contents(Url)) otherwise [error="API Down"]
So wird nicht alles rot wenn API temporary Down ist!

10. Deine nächsten Schritte

  1. API finden: Kostenlose API wählen (Exchange Rate!)
  2. API testen: Browser → URL eingeben → JSON sehen
  3. Power Query: "From Web" → URL → JSON laden
  4. JSON transformieren: In Tabelle umwandeln
  5. Refresh-Zeitplan: Täglich aktualisieren
  6. Dashboard bauen: Daten visualisieren
  7. Mit API-Key üben: OpenWeatherMap später
  8. Error Handling: Fehlerhafte Responses handhaben

Checkliste für Web-API Integration

  • Ich verstehe API & REST Konzepte
  • Ich kenne JSON Format
  • Ich kann REST API URL konstruieren
  • Ich kann "From Web" in Power Query nutzen
  • Ich kann JSON laden & transformieren
  • Ich verstehe API-Keys & Authentifizierung
  • Ich kann Web.Contents() mit Headers nutzen
  • Ich kann JSON.Document() parsen
  • Ich implementiere Error Handling
  • Ich baue Live-Daten Dashboards mit APIs

Mit Web-APIs bringst du Live-Daten direkt in Excel! 🌐📊

Keine Kommentare:

Kommentar veröffentlichen

Power Query Praxisreihe – Von Datenimport bis zu komplexen Transformationen

Power Query: Daten laden, bereinigen, transformieren – alles automatisiert! Das Problem: Datenchaos ohne Power Qu...