KI-Agenten wie Claude Code oder GitHub Copilot verändern, wie wir mit Code arbeiten. Doch können sie auch helfen, eine gewachsene BI-Codebase zu verstehen und Data Lineage sichtbar zu machen? In diesem Beitrag gehe ich dieser Frage in einem Selbstversuch mit unserer Codebase nach.
Was ist Data Lineage?
Data Lineage zeigt den Lebensweg von Daten. Dieser beginnt beim Bezug ab der Quelle. Danach folgen alle Schritte, die die Daten verändern. Am Ende steht die Nutzung der Daten, bei uns vielfach eine Kennzahl in einem Dashboard.
Für Data Lineage existieren drei Typen: Die Business Lineage zeigt den Fluss von Geschäftskonzepten in Glossarbegriffen und geschäftlichen Regeln – verständlich in der Sprache der Fachabteilung. Die Technical Lineage geht ins Detail und zeigt Quelltabellen, Spalten, Jobs, SQL-Code und deren Abhängigkeiten. Ergänzt wird dies durch die Operational Lineage, welche festhält, was tatsächlich gelaufen ist: Job-Instanzen, Ausführungszeiten, Inputs, Outputs und Ergebnisse. In diesem Beitrag konzentriere ich mich auf die Frage, ob wir die technische Lineage automatisieren können. Doch bevor wir loslegen, ein kleiner Exkurs in unser Setup bei der Spitex Zürich.
Unsere BI-Architektur ist hybrid aufgebaut. Die gesamte Datenaufbereitung erfolgt On-Premises mittels Qlik-Skripten, die alle Datenobjekte als QVD-Dateien (dem qlikeigenen Format) bereitstellen. Die Qlik Cloud nutzen wir gezielt für ausgewählte Dashboards.
Obwohl wir kein klassisches Enterprise Data Warehouse betreiben, orientiert sich unser Schichtenmodell an bewährten Architekturmustern (angelehnt an Medallion/Data Vault):
-
Extract-Schicht: Extraktion der Rohdaten aus den Quellsystemen.
-
Core-Schicht: Strukturierung nach Data Vault 2.0 (Hubs, Links, Satelliten) zur strikten Trennung von Business-Objekten, Beziehungen und Attributen.
-
Data Marts: Bereitstellung der Daten für die Endanwendung, optimiert als One Big Table (OBT) oder in einem klassischen dimensionalen Modell für Dashboards.
Unser Problem: Qlik kann Data Lineage, aber nur in der Cloud
Die Qlik Cloud bietet eine gute technische Lineage. Sie funktioniert allerdings nur für Daten, die Qlik in der Cloud aufbereitet. Wir verarbeiten unsere Daten On-Premises. Für uns fällt dieses Feature also weg.

Bild: Beispiel einer Data Lineage innerhalb der Qlik Cloud (https://www.qlik.com/us/data-management/data-lineage)
Mein Plan
Ich will wissen: Kann Claude Code die Lineage direkt aus unserem Code erstellen? Da wir Claude Code bereits containerisiert für die Codeerstellung verwenden, war der Schritt hierzu nicht mehr gross. Als Testfall wählte ich die Kennzahl «Kunden ohne Leistungsbezug». Sie steht in unserem Dashboard zu den Zuweisungen aus unserem Partnernetzwerk.
Die aktuelle Definition sieht folgendermassen aus:
Count({<Kunde.MitLeistungsbezug.Sum={0}>} distinct [%Key_Kunde])
Das Resultat
Claude Code las selbständig elf Dateien aus unserer Codebasis und verfolgte die Kennzahl über alle Schichten zurück. Am Ende lieferte er eine saubere, recht ausführliche Dokumentation:
- Ein Diagramm vom Quellsystem bis zum Dashboard.
- Eine Tabelle mit jedem Schritt im Data Mart und seiner Wirkung auf die Kennzahl.
- Die genaue Herkunft des entscheidenden Flags (Kunde.MitLeistungsbezug.Sum), inklusive Zeilennummern im Code.
- Eine Liste aller Quellen, auch der Excel-Datei mit Korrekturen für den Ausschluss von Testkundinnen und -kunden.

Bild: Diagramm vom Quellsystem bis zum Dashboard der Kennzahl «Kunden ohne Leistungsbezug» von Claude Code als Mermaid-Diagramm erstellt
Besonders wertvoll fand ich die fachlichen Hinweise. Claude Code erkannte zum Beispiel:
- Die Kennzahl zählt nur Kundinnen und Kunden mit einem Zuweisungsformular.
- Zuweisungen ohne Zuweisungsdatum fallen unterwegs weg.
- Eine Kundin oder ein Kunde gilt als «ohne Leistungsbezug», wenn in den letzten fünf Jahren kein Arbeitsrapport vorliegt.
- Für das Altsystem gibt es im Code keine Ladestrecke. Diese Daten liegen als statische Dateien vor.
Solche Details stecken tief im Code. Von Hand hätte ich sie mühsam zusammensuchen müssen und mit Sicherheit auch nicht alle gefunden.
Mein Fazit
Für mich als BI-Analysten ist das ein starkes Werkzeug. Die Lineage hilft mir enorm. Ich verstehe schneller, welche Systeme und Skripte zu einer Kennzahl beitragen. Fragen aus dem Fachbereich kann ich dadurch fundierter und schneller beantworten.
Für das Business ist es zu technisch. Die Fachabteilungen brauchen eine Business Lineage in ihrer Sprache. Mit Skriptnamen und Hash-Keys können sie wenig anfangen.
Der Zugang bleibt eingeschränkt. Wer die Lineage erstellen will, braucht Claude Code und Zugriff auf die Codebasis. Heute können das nur wir BI-Analystinnen und -Analysten, damit bleibt das Business-Intelligence- & Analytics-Team der Flaschenhals für diese Form von Information.
Dieser Blogbeitrag wurde mit Unterstützung von KI für Struktur und Textentwurf, sprachliche Korrekturen sowie die Bildgenerierung erstellt.
