Berechnete Spalten (Calculated Columns)

Last modified by Dimitri Rupp on 2026/06/11 09:30

Berechnete Spalten (Calculated Columns)

Information

Topic: DAX-basierte Spalten im Power-BI-Datenmodell, die fuer jede Zeile einen Wert berechnen.
Ort der Anwendung: Datenmodell-Ansicht — nicht Power Query Editor.

Was sind berechnete Spalten?

Berechnete Spalten ermoeglichen das Hinzufuegen neuer, formelbasierter Spalten.

  • Keine „A1-Stil"-Referenzen — berechnete Spalten beziehen sich auf ganze Tabellen oder Spalten.
  • Berechnete Spalten generieren Werte fuer jede Zeile innerhalb einer Tabelle.
  • Berechnete Spalten verstehen den Zeilenkontext (Row Context) — perfekt zum Definieren von Eigenschaften basierend auf Informationen in jeder Zeile.
  • Berechnete Spalten sind im Allgemeinen unbrauchbar fuer Aggregation (SUM, COUNT, usw.).

Beispiele

Gueltiges Beispiel — Parent-Flag

In diesem Fall wurde eine Spalte mit dem Namen „Parent" hinzugefuegt, welche den Wert „Yes" hat, wenn der Wert im Feld „TotalChildren" groesser als 0 ist, und „No", wenn der Wert kleiner oder gleich 0 ist.

Parent = IF(Table[TotalChildren] > 0, "Yes", "No")

Da berechnete Spalten den Zeilenkontext verstehen, wird in jeder Zeile ein neuer Wert berechnet — basierend auf dem Wert in der Spalte [TotalChildren]. Das ist eine gueltige und richtige Verwendung von berechneten Spalten. Die neue Spalte kann zum Filtern im Datenmodell verwendet werden.

Anti-Pattern — Aggregation in berechneter Spalte

Hier wird eine Aggregationsfunktion (SUM) verwendet, um eine neue Spalte mit dem Namen „TotalQuantity" zu erstellen:

TotalQuantity = SUM(Sales[Quantity])  -- ⚠️ Anti-Pattern!
Warning

Da berechnete Spalten keinen Filter-Context verstehen, wird in jeder Zeile die gleiche Gesamtsumme zurueckgegeben. Das ist keine gueltige/richtige Verwendung von berechneten Spalten. Die Werte der einzelnen Zeile in der Spalte sind nicht filterbar.

Loesung: Hier sollte ein Measure verwendet werden, das bei Abfrage und im Filter-Context ausgewertet wird.

Row Context vs. Filter Context — der zentrale Unterschied

AspektBerechnete Spalte (Row Context)Measure (Filter Context)
AuswertungBeim Laden / RefreshBei Abfrage (Visual / Filter)
KontextZeilenkontext — fuer jede Zeile separatFilter-Context — dynamisch gefiltert
SpeicherWird physisch in jeder Zeile gespeichertBerechnet, nicht gespeichert
Aggregation❌ in der Regel keine Aggregation✅ Aggregation ist das Kernziel
Use CaseKlassifizierung, Flags, abgeleitete PropertiesSummen, Durchschnitte, KPIs
flowchart LR
    L[Daten laden / Refresh] --> RC[Row Context aktiv]
    RC --> CALC[Calculated Column
wird in jeder Zeile berechnet] CALC --> STORE[(Wert wird gespeichert)] Q[Visual / Filter Abfrage] --> FC[Filter Context aktiv] FC --> M[Measure
wird bei Abfrage berechnet] M --> SHOW[Ergebnis im Visual] classDef load fill:#e3f2fd,stroke:#1976d2,stroke-width:1px classDef calc fill:#fff3cd,stroke:#b85c00,stroke-width:1px classDef out fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px class L,Q load class RC,CALC,FC,M calc class STORE,SHOW out

Entscheidung: Berechnete Spalte oder Measure?

FrageAntwort
Benoetigst du einen Wert pro Zeile in der Tabelle?Berechnete Spalte
Soll der Wert gefiltert und aggregiert werden?Measure
Soll der Wert in einer Slicer-/Filterleiste auswaehlbar sein?Berechnete Spalte (Measures koennen nicht direkt gefiltert werden)
Wird der Wert selten oder nie veraendert?✅ Beides moeglich — berechnete Spalte spart Rechenzeit zur Laufzeit
Wird der Wert dynamisch je nach Filter benoetigt?Measure (Performance + Korrektheit)

Related pages


Verwandte Themen

Kuratiert — kann direkt im Editor ergänzt werden://

Automatisch vorgeschlagen über gemeinsame Tags (powerbi, anleitung): 


Status: Migriert — Team-Review ausstehend · Owner: (festlegen) · Letzter Review: 2026-06-11