Ein sauberes Star-Schema: Der Grundstein für performante Power BI Reports

Steffen Weiler – 18.08.2025

Kennst du das? Du hast wochenlang an diesem einen mega wichtigen Dashboard gearbeitet. Die Visualisierungen sind perfekt, die KPIs stimmen, das Management ist begeistert – und dann das: „Der Report lädt ewig! Das können wir so nicht verwenden.“

 

Autsch. Ich kenne dieses Gefühl nur zu gut, und ehrlich gesagt, es ist eines der frustrierendsten Dinge im BI-Alltag. Du hast inhaltlich alles richtig gemacht, aber die Performance versaut dir die ganze Show.

 

In über zehn Jahren BI-Projekten habe ich dieses Szenario unzählige Male erlebt. Deshalb zeige ich dir heute die sieben häufigsten Performance-Killer, die ich immer wieder sehe – und natürlich auch, wie du sie vermeidest.

 

Das Ziel: Du gehst mit mindestens drei konkreten Quick Wins raus, die du sofort in deinen Reports umsetzen kannst.

Performance-Killer #1: Das Datenmodell-Chaos

Der erste und wahrscheinlich größte Performance-Killer ist ein schlecht durchdachtes Datenmodell. Ich sehe das ständig: Da werden Tabellen einfach so verknüpft, wie sie gerade kommen, ohne sich Gedanken über die Beziehungen zu machen.

 

Das klassische Beispiel: Du hast eine Faktentabelle mit 2 Millionen Zeilen und verknüpfst sie direkt mit fünf verschiedenen Dimensionstabellen über komplizierte Many-to-Many-Beziehungen. Power BI muss dann bei jeder Abfrage erstmal alle diese Beziehungen auflösen – das dauert ewig.

Ein sauberes Star-Schema: Der Grundstein für performante Power BI Reports

Der Quick Win: Mach dir die Mühe und designe ein sauberes Star-Schema. Eine zentrale Faktentabelle in der Mitte, drumherum deine Dimensionstabellen mit One-to-Many-Beziehungen. Das ist nicht nur performanter, sondern auch viel einfacher zu verstehen.

 

Konkret: Wenn du eine Verkaufstabelle hast, dann sorgst du dafür, dass deine Produkt-, Kunden- und Datumstabellen jeweils nur einmal vorkommen und klar über Schlüssel verknüpft sind. Keine Doppelungen, keine unnötigen Umwege.

 

             ________________________

 

Performance-Killer #2: Berechnete Spalten statt Measures

Der zweite Killer: Berechnete Spalten für alles verwenden, was eigentlich ein Measure sein sollte. Ich sehe das immer wieder – da wird eine berechnete Spalte erstellt, um den Umsatz des Vorjahres zu berechnen, oder um komplexe Aggregationen zu machen.

 

Das Problem: Berechnete Spalten werden beim Laden des Modells für jede einzelne Zeile berechnet und gespeichert. Bei einer Tabelle mit einer Million Zeilen bedeutet das eine Million Berechnungen, die im Speicher gehalten werden müssen.

 

Der Quick Win: Verwende berechnete Spalten nur für statische Werte, die sich nicht ändern – wie kategorische Gruppierungen oder einfache Text-Transformationen. Alles, was mit Aggregationen, Zeitintelligenz oder Kontextfiltern zu tun hat, gehört in ein Measure.

 

Beispiel: Statt einer berechneten Spalte „Umsatz Vorjahr“ erstellst du ein Measure mit SAMEPERIODLASTYEAR. Das wird nur dann berechnet, wenn es auch wirklich gebraucht wird – nicht für jede Zeile im Voraus.

 

Mit gutem Requirements Engineering sicherst du den langfristigen Erfolg deiner BI Lösung

Performance-Killer #3: Visual-Overload

Performance-Killer Nummer drei: Zu viele Visuals auf einer Seite. Ich verstehe das – du willst alle wichtigen Informationen auf einen Blick zeigen. Aber jedes Visual sendet eine separate Abfrage an das Datenmodell.

 

15 Tabellen, 10 Diagramme und 20 Karten auf einer Seite? Das sind 45 separate Abfragen, die alle gleichzeitig verarbeitet werden müssen. Kein Wunder, dass der Report ewig lädt.

Weniger ist mehr: Zu viele Visuals pro Seite bremsen die Performance massiv aus

 

Der Quick Win: Maximal 6-8 Visuals pro Seite. Nutze stattdessen mehrere Seiten oder Drillthrough-Funktionalität. Deine User werden es dir danken – sowohl für die Performance als auch für die bessere Übersichtlichkeit.

 

             ________________________

 

Performance-Killer #4: Ineffiziente DAX-Formeln

Kommen wir zu Performance-Killer Nummer vier – und das ist ein richtig wichtiger: Ineffiziente DAX-Formeln.

 

Hier werden oft die dicksten Performance-Brocken verschenkt, aber gleichzeitig sind hier auch die größten Gewinne zu holen.

 

Ich erkläre dir das mal an einem ganz konkreten Beispiel, das ich ständig in Projekten sehe: Du willst den Umsatz nur für Elektronik-Artikel anzeigen. Viele schreiben dann sowas hier:

CALCULATE(SUM(Sales[Amount]); FILTER(Sales; Sales[Category] = "Electronics"))

 

Klingt erstmal logisch, oder? Aber weißt du, was Power BI dabei macht? Es geht durch jede einzelne Zeile deiner Sales-Tabelle – und wenn das eine Million Zeilen sind, dann prüft es eine Million Mal: „Ist das Electronics? Ist das Electronics? Ist das Electronics?

 

Das ist, als würdest du in einem riesigen Lager jeden einzelnen Artikel anschauen, um alle Elektronik-Sachen zu finden. Total ineffizient!

DAX-Optimierung: Der Schlüssel zu blitzschnellen Berechnungen

Der erste Quick Win: Nutze die Beziehungen, die du eh schon hast. Erstell dir eine saubere Kategorie-Tabelle mit den Werten „Electronics“, „Clothing“, „Books“ – was auch immer du brauchst.

Verknüpfe die über einen Schlüssel mit deiner Sales-Tabelle. Und dann schreibst du einfach: SUM(Sales[Amount]).

Fertig.

 

Power BI nutzt dann die Beziehung und filtert automatisch. Das ist wie ein gut sortiertes Lager mit Lagersystem – du weißt genau, wo was steht.

 

Noch ein mega wichtiger Punkt: SUMX-Funktionen über große Tabellen. Ich sehe oft sowas wie: „Berechne für jede Zeile den Gewinn einzeln und summiere dann alles auf.“ Das zwingt Power BI, wirklich jede Zeile einzeln abzuarbeiten.

 

Der zweite Quick Win: Teile komplexe Berechnungen in mehrere Measures auf. Erstell dir ein Measure „Gesamtumsatz“, ein zweites für „Gesamtkosten“ und dann kombinierst du die beiden zu „Gewinn“. Power BI kann das viel besser optimieren, und du kannst die einzelnen Measures auch noch anderswo verwenden.

 

Profi-Tipp: Schau dir mal KEEPFILTERS und REMOVEFILTERS an. Diese Funktionen helfen dabei, dass deine Measures genau die Filter berücksichtigen, die sie sollen – und nicht mehr. Das kann richtig viel Performance bringen, wenn du es clever einsetzt.

 

Das Wichtigste zum Schluss: Lass Power BI die Arbeit machen, für die es gebaut wurde. Nutze Beziehungen, nutze Slicer, nutze die Engine-Optimierungen. Versuch nicht, alles in einer mega-komplexen DAX-Formel zu lösen.

 

Ich habe schon Reports gesehen, die von 15 Sekunden Ladezeit auf 2 Sekunden runter sind – nur weil wir ein paar DAX-Formeln optimiert haben. Das lohnt sich richtig!

 

             ________________________

 

Performance-Killer #5: Fehlende Aggregationen

Performance-Killer Nummer fünf: Du nutzt keine Aggregationen. Das ist besonders bei großen Datenmengen ein riesiger Punkt.

 

Wenn deine Reports immer auf der niedrigsten Granularitätsebene arbeiten müssen – also jede einzelne Transaktion betrachten – dann dauert jede Abfrage entsprechend lange.

 

Der Quick Win: Erstelle Aggregationstabellen für häufig verwendete Zusammenfassungen. Monatliche oder wöchentliche Aggregate statt täglicher Werte, wenn das für deine Analyse ausreicht.

 

In Power BI Premium kannst du sogar automatische Aggregationen nutzen. Das System erstellt dann automatisch vorberechnete Zusammenfassungen und nutzt diese, wenn möglich.

 

             ________________________

 

Performance-Killer #6: Zu viele Unique Values

Nummer sechs: Spalten mit zu vielen einzigartigen Werten. Das klassische Beispiel ist eine Kommentar-Spalte oder Freitext-Felder, die du in dein Datenmodell importierst.

 

Power BI muss für jede Spalte eine Liste aller eindeutigen Werte erstellen und im Speicher halten. Bei einer Million verschiedenen Kommentaren wird das schnell zum Problem.

 

Der Quick Win: Importiere nur die Spalten, die du wirklich für deine Analyse brauchst. Freitextfelder und Kommentare kannst du meist weglassen oder in einem separaten Detail-Report verwenden.

 

Falls du sie doch brauchst: Nutze sie nicht als Filter oder in Slicern – das würde die Performance noch weiter verschlechtern.

 

             ________________________

 

Performance-Killer #7: Fehlende Indizierung in der Datenquelle

Und der letzte Performance-Killer: Fehlende oder schlechte Indizierung in deiner Datenquelle. Das wird oft übersehen, hat aber enormen Einfluss auf die Refresh-Performance.

 

Wenn Power BI Daten aus einer SQL-Datenbank oder einem Data Warehouse holt, dann sind die Abfragen nur so schnell wie die Datenbank sie bearbeiten kann.

 

Der Quick Win: Arbeite eng mit deinen Datenbank-Administratoren zusammen. Sorgt dafür, dass alle Spalten, die ihr für Joins oder Filterungen verwendet, ordentlich indiziert sind.

 

Besonders wichtig: Datums-Spalten und alle Fremdschlüssel. Das können oft Sekunden oder sogar Minuten Ladezeit sparen.

Die 7 Performance-Killer im Überblick

Lass uns nochmal ganz kurz den Recap machen:

 

  1. Datenmodell-Chaos → Designe ein sauberes Star-Schema mit klaren One-to-Many-Beziehungen
  2. Berechnete Spalten statt Measures → Nutze Measures für Aggregationen und Zeitintelligenz
  3. Visual-Overload → Maximal 6-8 Visuals pro Seite
  4. Ineffiziente DAX → Nutze Beziehungen statt FILTER-Funktionen
  5. Fehlende Aggregationen → Erstelle Aggregationstabellen für große Datenmengen
  6. Zu viele Unique Values → Importiere nur die Spalten, die du wirklich brauchst
  7. Fehlende Indizierung → Arbeite mit deinen DBAs zusammen für bessere Datenbank-Performance

 

Dein nächster Schritt

Also, schau dir einfach mal deinen langsamsten Report an. Erkennst du einen dieser Performance-Killer wieder? Falls ja, dann weißt du ja jetzt, was du ganz konkret verändern kannst.

 

Mein Tipp: Fang mit dem Datenmodell an – das bringt meist den größten Effekt. Und dann arbeite dich durch die Liste.

 

Du hast Themenwünsche oder Fragen zu diesem Artikel? Dann findest du mich auf LinkedIn – einfach nach Steffen Weiler suchen.

Wenn dir dieser Beitrag geholfen hat, dann teile ihn gerne mit deinen Kollegen. Jeder geteilte Artikel hilft dabei, dass mehr Controller und BI-Experten diese Tipps finden.

Dieser Artikel basiert auf über zehn Jahren Erfahrung in Business Intelligence und Data Analytics. Für weitere BI-Insights und praktische Tipps folge mir auf LinkedIn oder höre den Daten zu Taten Podcast auf Spotify.

 

Im Podcast findest du die besten Experten rund um das Thema Power BI und Datenanalysen.

👉 Hier kommst du zur Folge:
Folge 9 – Deine User beschweren sich, dass der Report zu lange lädt? Dann kommt hier die Lösung

Du möchtest prüfen, wie fortschrittlich dein Unternehmen im Bereich Datenanalyse ist?

  • All Posts
  • Allgemein
Load More

End of Content.