PLZ zu Ort, Landkreis & Bundesland: So mappt du Postleitzahlen in D-ACH

Wenn du im deutschsprachigen Raum arbeitest – also in Deutschland, Österreich oder der Schweiz – kommt früher oder später die Frage: „Welche Gemeinde / welcher Bezirk gehört zu welcher PLZ?“
Eine Mapping-Tabelle, die Postleitzahl auf Ort, Landkreis und Bundesland abbildet, ist in vielen Datenprojekten unerlässlich. In diesem Beitrag zeige ich dir, wie du solche Mapping-Tabellen sinnvoll aufbaust, welche Fallstricke es gibt und wie du sie effizient in deinen Projekten nutzt.

Warum ein PLZ-Mapping wichtig ist

  • Geografische Analysen: Umsatz nach Bundesland auswerten, regionale Trends identifizieren
  • Datenharmonisierung: Wenn du Daten aus unterschiedlichen Quellen zusammenführst
  • Reporting & Filterungen: Steuerung via Bundesland / Bezirk in Dashboards

Besonderheiten in DACH: Deutschland, Österreich, Schweiz

  • In Deutschland gibt es Landkreise, kreisfreie Städte, Stadtbezirke – manche PLZ sind Firmen-PLZ oder P.O. Boxen, die keinem Ort zugeordnet sind
  • In Österreich und Schweiz sind administrative Strukturen unterschiedlich: z. B. Gemeinden, Kantone, Bezirke
  • PLZ können mehrfach vergeben sein (mehrere Orte), führende Nullen müssen konsistent gehandhabt werden

So baust du eine Mapping-Tabelle

  1. Quellen nutzen
    Verwende öffentliche Datensätze (Statistikämter, Open Data Portale) oder etablierte Projekte (z. B. OpenPLZ, Bundesländerlisten).
  2. Spalten definieren
    Typische Spalten:
    • PLZ (als Text, damit führende Nullen erhalten bleiben)
    • Ort
    • Landkreis / Bezirk / Kanton / Bezirk
    • Bundesland / Kanton / Land
  3. Datenkonsistenz sicherstellen
    • Einheitliche Schreibweisen (z. B. „München“ vs. „Muenchen“)
    • Duplikate prüfen
    • Nullen bei PLZ sicherstellen
  4. Integration in dein Datenmodell
    Verknüpfe deine PLZ-Spalte in Quelltabellen mit der Mapping-Tabelle über einen Join oder DAX/Funktionsaufruf (z. B. RELATED in Power BI).

Beispiel in SQL / Power BI

In SQL:

SELECT q.*,
       m.Ort, m.Landkreis, m.Bundesland
FROM Quelle q
LEFT JOIN Mapping m
  ON q.PLZ = m.PLZ;

In Power BI / DAX:

Ort = RELATED(PLZ_Mapping[Ort])

Dein Modell muss natürlich eine Beziehung zwischen deiner Quelltabelle und der Mapping-Tabelle haben.

Fallstricke & Tipps

  • PLZ, die keinem Ort zugeordnet sind (z. B. Firmen-PLZ)
  • In Excel oder CSV kann führende Null verschwinden
  • Änderungen in Verwaltungsgrenzen (z. B. Gebietsreformen)
  • Performance bei großen Mapping-Tabellen – nutze Indizes oder Filter

Interne Links auf datenanalyst.com

  • Mapping zweier Tabellen mit RELATED
  • Power BI Grundlagen & Datenmodell
  • Datenbereinigung in SQL
  • Excel Tipps für geografische Daten