Kann man ein Microsoft Fabric End-to-End-Projekt an einem Tag bauen? Genau das wollte ich ausprobieren. Mein Ziel war es, innerhalb eines Tages einen vollständigen Analytics-Workflow aufzubauen, von der Datenaufnahme und Transformation über SQL und PySpark bis zum Semantic Model und Power BI Dashboard.
Als Grundlage habe ich das Brazilian E-Commerce Dataset von Olist verwendet. Es enthält Daten zu Bestellungen, Produkten, Kund:innen, Verkäufern und Reviews und bietet damit genug Komplexität, um die verschiedenen Schritte in Fabric auszuprobieren.
Die Architektur
Für das Projekt habe ich einen einfachen End-to-End-Workflow in Microsoft Fabric aufgebaut:
CSV → Dataflow Gen2 → Lakehouse → SQL & PySpark → Semantic Model → Power BI
Dabei hatte jeder Teil eine klare Aufgabe.
1. Daten mit Dataflow Gen2 vorbereiten

Am Anfang standen mehrere CSV-Dateien mit unterschiedlichen Tabellen.
Mit Dataflow Gen2, das Power Query für die cloudbasierte Datentransformation in Microsoft Fabric nutzt, habe ich die Daten geladen, geprüft und erste Transformationen vorgenommen. Dazu gehörten zum Beispiel Datentypen, Spaltennamen und kleinere Bereinigungen.
Die aufbereiteten Daten wurden anschließend als Tabellen in einem Fabric Lakehouse gespeichert.
Damit hatte ich eine zentrale Datenbasis für die weitere Analyse.
2. Die Daten mit SQL verstehen

Bevor ich das Datenmodell gebaut habe, habe ich die Daten mit SQL untersucht und unter anderem Granularität, Eindeutigkeit, fehlende Werte und Beziehungen zwischen den Tabellen geprüft.
Besonders wichtig war die Granularität: Eine Bestellung kann mehrere Produkte enthalten. Nach der Verbindung von Orders und Order Items entspricht eine Zeile deshalb nicht mehr einer Bestellung, sondern einem einzelnen Order Item.
Diese Unterscheidung war entscheidend für das spätere Datenmodell.
3. Fact und Dimension Views erstellen

Auf Basis der Analyse habe ich anschließend SQL Views für das analytische Modell erstellt.
Im Zentrum steht vw_fact_sales mit einer Zeile pro verkauftem Order Item und Informationen zu Bestellung, Produkt, Kunde, Verkäufer, Preis, Versand, Datum und Reviews.
Ergänzt wird die Fact View durch Dimension Views für Produkte, Kund:innen und Verkäufer.
4. Reviews richtig behandeln
Eine Herausforderung waren die Reviews, da sie auf Bestellebene vorliegen, während die Sales Fact Table auf Order-Item-Ebene arbeitet. Zusätzlich können Bestellungen mehrere Reviews enthalten.
Deshalb habe ich die Reviews zunächst mit SQL auf Bestellebene aggregiert:
SELECT
order_id,
AVG(CAST(review_score AS DECIMAL(4,2))) AS avg_review_score,
COUNT(*) AS review_count
FROM dbo.olist_order_reviews_dataset
GROUP BY order_id;
Für die Produktanalyse habe ich zusätzlich eine eigene View erstellt, um Mehrfachgewichtungen zu vermeiden.
Ein gutes Beispiel dafür, warum es wichtig ist zu verstehen, was eine einzelne Zeile im Datensatz repräsentiert.
5. Eine Date Dimension mit PySpark erstellen

Für Zeitvergleiche brauchte ich eine vollständige Date Dimension.
Diese hätte ich auch mit SQL erstellen können. Ich habe mich bewusst für PySpark entschieden, um die Notebook-Funktionalität in Fabric auszuprobieren.
Das Notebook erzeugt einen vollständigen Kalender mit den benötigten Datumsattributen und speichert ihn als Delta Table im Lakehouse. Damit konnte ich anschließend die Year-over-Year-Berechnungen im Semantic Model umsetzen.
6. Das Semantic Model

Im nächsten Schritt habe ich die vorbereiteten Tabellen in einem Power BI Semantic Model verbunden. Im Zentrum steht die Sales Fact Table mit Dimensionen für Product, Customer, Seller und Date.
Anschließend habe ich die benötigten DAX Measures erstellt, darunter Revenue, Orders, Average Order Value, Items Sold, Review Scores und Year-over-Year-Vergleiche. Hinzu kamen einige Measures für dynamische Farben und Referenzwerte.
7. Das Dashboard

Am Ende baute ich ein simples Power BI Dashboard mit den wichtigsten KPIs wie Revenue, Orders, Average Order Value und Items Sold inklusive Year-over-Year-Vergleich.
Rankings zeigen die stärksten Produktkategorien und Customer States. Ein Scatterplot kombiniert Revenue, Review Score und Items Sold, um starke und schwächere Produktkategorien auf einen Blick zu erkennen.
Kann man also ein Microsoft Fabric End-to-End-Projekt an einem Tag bauen?
Für ein Projekt dieser Größe: ja.
Was mir an Fabric dabei besonders gefallen hat, ist, dass die einzelnen Schritte wirklich zusammengehören. Dataflow Gen2, Lakehouse, SQL, PySpark, Semantic Model und Power BI liegen in einer gemeinsamen Umgebung. Dadurch wird aus den einzelnen Tools schnell ein nachvollziehbarer End-to-End-Prozess.
Gleichzeitig hat das Projekt noch einmal gezeigt, wie wichtig die Grundlagen bleiben. Besonders die richtige Granularität bei Orders, Order Items und Reviews war entscheidend für ein sauberes Datenmodell.
Den vollständigen Code mit SQL Views, Data Quality Checks und PySpark findest du im GitHub Repository.
