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
Schritt 2: In Power Query laden
Schritt 3: JSON transformieren
https://api.exchangerate-api.com/v4/latest/EUR
Schritt 2: In Power Query laden
- Data → Get Data → From Other Sources → From Web
- URL eintragen: https://api.exchangerate-api.com/v4/latest/EUR
- 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
Schritt 2: URL mit Key konstruieren
Schritt 3: In Power Query parametrisieren!
- Website: openweathermap.org → Sign Up
- Nach Registrierung → API Key erhalten
- 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!)
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:
Du brauchst:
M-Code:
{
"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:
Resultat:
Setup:
- Power Query Abfrage: API aufrufen → JSON laden → Tabelle umwandeln
- Load to Excel: Sheet "Exchange Rates" mit Daten
- 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:
Analyse:
Setup:
- API: OpenWeatherMap (kostenloses Tier!)
- Daten: Temperatur, Niederschlag, Bewölkung täglich
- 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!
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
- API finden: Kostenlose API wählen (Exchange Rate!)
- API testen: Browser → URL eingeben → JSON sehen
- Power Query: "From Web" → URL → JSON laden
- JSON transformieren: In Tabelle umwandeln
- Refresh-Zeitplan: Täglich aktualisieren
- Dashboard bauen: Daten visualisieren
- Mit API-Key üben: OpenWeatherMap später
- 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