Tutorial: So verbindest du Power Query (Power BI & Excel) mit Notion

Melden

Dieses Tutorial zeigt dir Schritt für Schritt, wie du Daten aus Notion in Power Query (für Power BI oder Excel) importierst. Da Notion keinen nativen Button für Power BI hat, nutzen wir die Notion API.


Die Verknüpfung von Notion mit Power Query ermöglicht es dir, deine Notion-Datenbanken in professionellen Dashboards zu visualisieren und automatisch zu aktualisieren.

Voraussetzungen

  • Ein Notion-Account mit Administrator-Rechten.
  • Power BI Desktop oder Excel (mit Power Query).

Schritt 1: Eine Notion-Integration erstellen

Zuerst musst du Notion mitteilen, dass ein externes Tool auf deine Daten zugreifen darf.

  1. Gehe auf die Seite developers.notion.com.
  2. Klicke auf "+ New integration".
  3. Gib ihr einen Namen (z. B. "Power BI Connector") und wähle den Workspace aus.
  4. Klicke auf Submit.
  5. Kopiere den Internal Integration Token (du wirst ihn später brauchen). Geheim halten!

Schritt 2: Die Datenbank für die API freigeben

Standardmäßig hat die neue Integration keinen Zugriff auf deine Seiten.

  1. Öffne die Notion-Datenbank, die du exportieren möchtest.
  2. Klicke oben rechts auf die drei Punkte (...).
  3. Scrolle ganz nach unten zu "Connect to" (Verbinden mit).
  4. Suche deine eben erstellte Integration und wähle sie aus. Bestätige die Abfrage.

Schritt 3: Datenbank-ID ermitteln

Jede Notion-Datenbank hat eine eindeutige ID.

  1. Schau dir die URL deiner Datenbank im Browser an.
  2. Die ID ist der Teil nach deinem Workspace-Namen und vor dem Fragezeichen: https://www.notion.so/MEIN_WORKSPACE/DATEBANK_ID?v=...
  3. Kopiere diesen Teil (32 Zeichen lang).

Schritt 4: Verbindung in Power Query herstellen

Jetzt wechseln wir zu Power BI oder Excel.

  1. Klicke auf Daten abrufen -> Leere Abfrage.
  2. Klicke im Menüband auf Erweiterter Editor.
  3. Lösche den vorhandenen Code und ersetze ihn durch das folgende Skript (ersetze dabei die Platzhalter):
let
    // Konfiguration
    databaseId = "DEINE_DATENBANK_ID",
    secret = "DEIN_NOTION_TOKEN",

    // API Aufruf
    url = "https://api.notion.com/v1/databases/" & databaseId & "/query",
    headers = [
        #"Authorization" = "Bearer " & secret,
        #"Notion-Version" = "2022-06-28", // Oder aktuellste Version
        #"Content-Type" = "application/json"
    ],

    // Daten abrufen (POST Request)
    response = Web.Contents(url, [
        Headers = headers,
        Content = Json.FromValue([]) // Leerer Body für alle Daten
    ]),

    jsonResponse = Json.Document(response),
    results = jsonResponse[results],

    // Umwandlung in Tabelle
    table = Table.FromList(results, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    table
  1. Klicke auf Fertig.
  2. Falls Power BI nach der Berechtigung fragt: Wähle "Anonym" (da der Token bereits im Header-Code enthalten ist).

Schritt 5: Daten aufbereiten (Parsen)

Nach dem Import siehst du eine Spalte mit "Records". Notion speichert Daten in einer komplexen JSON-Struktur.

  1. Klicke auf das Erweitern-Icon (zwei Pfeile) in der Spalte Column1.
  2. Wähle das Feld properties aus.
  3. In der Spalte properties befinden sich nun deine Notion-Spalten. Du musst diese erneut erweitern, um an die eigentlichen Inhalte zu gelangen (z.B. Name -> title -> text -> content).
    • Hinweis: Je nach Datentyp (Text, Zahl, Datum) musst du dich durch 2-3 Ebenen von Records klicken.

Alternative: Drittanbieter-Tools

Wenn dir der manuelle Weg über die API zu komplex ist, gibt es "No-Code"-Konnektoren, die die Arbeit erleichtern (meist kostenpflichtig):

  • Make.com / Zapier: Synchronisiert Notion-Daten in eine Google Sheet- oder Excel-Datei, die Power BI dann ausliest.
  • Sync2one / Power BI Connector for Notion: Spezielle Dienste, die eine fertige URL für Power BI bereitstellen.

Profi-Tipp für große Datenbanken

Die Notion API gibt pro Abfrage nur 100 Datensätze zurück (Pagination). Wenn deine Datenbank größer ist, musst du in Power Query eine "List.Generate"-Funktion nutzen, um alle Seiten abzurufen. Für den Start und kleinere Projekte reicht die obige Methode jedoch völlig aus!

0