Weiter zum Inhalt

Der umfassende Guide zu DAX LOOKUPVALUE

Beherrsche die LOOKUPVALUE-Funktion in Power BI mit einfachen Beispielen und fortgeschrittenen Kombinationen mit anderen DAX-Funktionen.
Aktualisiert 18. Sept. 2026  · 9 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

LOOKUPVALUE ist eine praktische DAX-Funktion, um Werte in anderen Tabellen zu finden und abzurufen.

Sie ersetzt zwar keine saubere Datenmodellierung in deinen Power-BI-Berichten, bietet aber viel Flexibilität bei komplexen Ausdrücken mit mehreren Bedingungen – besonders, wenn du LOOKUPVALUE mit anderen DAX-Funktionen kombinierst.

In diesem Tutorial führen wir dich durch die Grundlagen von LOOKUPVALUE, erklären, wie die Funktion arbeitet, wie du sie einsetzt (vor allem in Kombination mit anderen DAX-Funktionen) und welche Performance-Aspekte und Best Practices du in Power BI beachten solltest.

LOOKUPVALUE in Power BI ähnelt stark VLOOKUP in Microsoft Excel. Es lohnt sich jedoch, dich vorab mit DAX und Power BI vertraut zu machen. Unser Power BI Fundamentals-Lernpfad bringt dich schnell auf Kurs, und unser DAX Spickzettel ist eine hervorragende Referenz beim Arbeiten mit DAX-Funktionen.

Power BI DAX Cheat Sheet

Die Grundlagen von LOOKUPVALUE

Mit LOOKUPVALUE kannst du einen einzelnen Wert aus einer Spalte in einer anderen Tabelle auf Basis einer oder mehrerer Suchbedingungen abrufen.

Die Standardsyntax lautet:

LOOKUPVALUE (
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Wenn du neu in DAX und der Syntax bist, schau dir unseren Kurs Introduction to DAX an oder lies kurz in unser DAX-Tutorial für absolute Einsteiger rein. Zusätzlich kannst du dein DAX-Wissen mit unserem Kurs Intermediate DAX vertiefen.

Schauen wir uns die Parameter von LOOKUPVALUE genauer an:

  • result_column: Die Spalte, deren Wert du aus der Zieltabelle abrufen möchtest.
  • search_column1: Die Spalte in der Zieltabelle, die das Kriterium enthält, das abgeglichen werden soll.
  • search_value1: Der Wert, nach dem in search_column1 gesucht wird. Das kann ein fester Wert (z. B. Text), das Ergebnis eines Ausdrucks (wie min oder max) oder eine Spalte in der Quelltabelle sein, gegen die LOOKUPVALUE den Abgleich durchführen soll.
  • [search_column2, search_value2, ...]: Optionale weitere Paare aus Suchspalten und Suchwerten. So kannst du komplexere Suchbedingungen definieren.
  • [alternateResult]: Der Standard- bzw. alternative Rückgabewert. Wenn LOOKUPVALUE keinen passenden Treffer findet, wird dieser Wert zurückgegeben.

Bei jeder Suche in der Zieltabelle sollte LOOKUPVALUE genau einen eindeutigen Treffer finden. Gibt es mehrere mögliche Treffer, musst du zusätzliche Suchpaare definieren, bis LOOKUPVALUE eine eindeutige Übereinstimmung findet.

Zur Veranschaulichung sehen wir uns im nächsten Abschnitt ein Beispiel an.

Einfache LOOKUPVALUE-Beispiele

Grundlegende Verwendung

Angenommen, du hast eine Produkttabelle mit den Spalten ProductID und ProductName. Du möchtest den Namen des Produkts mit der ID 101 finden.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101)

Mehrere Suchbedingungen

Angenommen, du hast eine Sales-Tabelle mit den Spalten ProductID, Region und Revenue. Du möchtest den Umsatz für ein bestimmtes Produkt (ID 101) in einer bestimmten Region (East) ermitteln.

Product_Revenue = LOOKUPVALUE(Sales[Revenue], Sales[ProductID], 101, Sales[Region], "East")

Leere Werte behandeln

Wenn die Suchbedingungen keinen Treffer liefern, gibt LOOKUPVALUE einen leeren Wert zurück.

Hier sind zwei Möglichkeiten, damit umzugehen:

  • Den alternativen Ergebnisparameter von LOOKUPVALUE verwenden.
  • Die Funktion COALESCE nutzen, um einen Alternativwert festzulegen, falls LOOKUPVALUE leer zurückgibt.

Methode 1: Alternatives Ergebnis

Du kannst in LOOKUPVALUE einen Standard- oder Alternativwert angeben. Das ist ein optionaler Parameter, der ganz am Ende des LOOKUPVALUE-Ausdrucks steht.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101, "Not Found")

Methode 2: COALESCE

Alternativ kannst du die Funktion COALESCE verwenden, die nahezu identisch funktioniert wie das Angeben eines alternativen Ergebnisses direkt in LOOKUPVALUE.

Je nach Anwendungsfall und Datensatz kann COALESCE jedoch performanter sein. Wenn Geschwindigkeit und Performance für deinen Power-BI-Bericht wichtig sind, lohnt sich ein Blick auf COALESCE.

Commission Rate = 
COALESCE( 
     LOOKUPVALUE(
          'CommissionRates'[Rate],
          'CommissionRates'[SalespersonID], SELECTEDVALUE('Sales'[SalespersonID])
     ), 
     0.05 
)

Beziehungen zwischen deinen Tabellen zu definieren, ist immer gute Datenmodellierungspraxis. Das ist schneller als die DAX-Funktion LOOKUPVALUE zu nutzen und macht dein semantisches Modell jetzt und in Zukunft leichter verständlich.

Erstellst du Beziehungen zwischen deinen Tabellen, kannst du die Funktion RELATED verwenden. In den meisten Fällen ist RELATED einfacher und direkter als LOOKUPVALUE.

Die Funktion RELATED ist ideal, wenn du einen Wert aus einer anderen Tabelle abrufen willst, die in direkter Beziehung zur Quelltabelle steht.

Beispiel: Du möchtest den Kundennamen zur Sales-Tabelle hinzufügen, und es gibt eine direkte Beziehung zwischen Sales und Customers über die CustomerID. Dann kannst du Folgendes verwenden:

Customer Name = RELATED(Customers[CustomerName])

LOOKUPVALUE ist allerdings flexibler als RELATED und eignet sich am besten, wenn du Nachschlagen ohne bestehende direkte Beziehung im Modell durchführen musst oder wenn die Kriterien komplex bzw. mehrfach sind. Die Funktion ist vielseitig, sollte aber nicht überstrapaziert werden, da dies die Performance beeinträchtigen kann.

LOOKUPVALUE mit anderen DAX-Funktionen kombinieren

Wir haben bereits gesehen, wie du LOOKUPVALUE mit COALESCE kombinierst, um ein alternatives Ergebnis zu liefern, wenn kein Treffer gefunden wird.

Weitere DAX-Funktionen, die gut mit LOOKUPVALUE harmonieren, sind zum Beispiel CALCULATE und SWITCH.

In diesem Abschnitt zeigen wir dir entsprechende Beispiele.

LOOKUPVALUE & CALCULATE

Die Kombination aus LOOKUPVALUE und CALCULATE ist hilfreich, wenn du Werte aus einer anderen Tabelle abrufen musst, basierend auf einem Berechnungs- oder Filterkontext, der nicht einfach über eine direkte Beziehung oder ein simples Lookup zugänglich ist.

Oft wird das genutzt, um Filter anzuwenden oder die Granularität von Berechnungen zu ändern. In Kombination mit LOOKUPVALUE kannst du die Lookup-Kriterien dynamisch an die Ergebnisse deiner Berechnungen anpassen.

Ein Beispiel: Angenommen, du hast eine Tabelle mit Produkten und deren Umsatzzielen für ein bestimmtes Jahr. Für eine gegebene ProductID möchtest du das Umsatzziel für das aktuelle Jahr abrufen.

So könntest du das mit CALCULATE und LOOKUPVALUE umsetzen:

Product Sales Target = 
VAR SpecificProductID = 123
VAR CurrentYear = YEAR(TODAY())
RETURN
    CALCULATE(
        LOOKUPVALUE(
             SalesTargets[SalesTarget], 
             SalesTargets[ProductID], 
             SpecificProductID, 
             SalesTargets[Year], 
             CurrentYear
        ),
        ALL(SalesTargets)
    )

LOOKUPVALUE & SWITCH

Die Kombination aus LOOKUPVALUE und SWITCH eignet sich gut, wenn du Werte aus einer anderen Tabelle dynamisch nachschlagen und – je nach möglichem Ergebnis – unterschiedliche Rückgaben liefern möchtest.

Falls du mit der SWITCH-Funktion noch nicht vertraut bist, findest du in unserem Tutorial eine ausführliche Einführung.

Ein Beispiel: Du hast einen Sales-Datensatz und eine separate Tabelle mit Provisionssätzen. Der Provisionssatz eines Mitarbeiters hängt von seiner Verkaufsklasse ab, die nicht direkt gespeichert ist, sich aber aus dem gesamten Verkaufsbetrag berechnen lässt.

Du möchtest in der Sales-Tabelle eine berechnete Spalte erstellen, die den Provisionssatz für jeden Verkauf basierend auf der Verkaufsklasse angibt.

Commission Rate = 
VAR SalesAmount = Sales[TotalSalesAmount]
VAR SalesTier = 
    SWITCH(
        TRUE(),
        SalesAmount <= 500, "Low",
        SalesAmount <= 2000, "Medium",
        "High"
    )
RETURN 
    LOOKUPVALUE(
        CommissionRates[CommissionRate],
        CommissionRates[SalesTier], 
        SalesTier
    )

In diesem DAX-Ausdruck definieren wir mit SWITCH die Verkaufsklasse und verwenden dieses Ergebnis anschließend in LOOKUPVALUE, um den passenden Provisionssatz für diese Klasse abzurufen.

Performance und Best Practices

1. Beziehungen nutzen, wo es geht

Verwende nach Möglichkeit direkte Beziehungen zwischen Tabellen. Beziehungen sind in Power BI für Performance optimiert, und Funktionen wie RELATED sind oft deutlich effizienter als LOOKUPVALUE.

Dieser Ansatz profitiert zudem von internen Optimierungen in Power BI – wichtig, wenn du die Ladezeiten deiner Berichte minimieren willst.

2. Einsatz in berechneten Spalten minimieren

LOOKUPVALUE kann in berechneten Spalten verwendet werden, sollte dort aber sparsam eingesetzt werden. Berechnete Spalten werden beim Daten-Refresh berechnet und können den Prozess, insbesondere bei großen Datensätzen, verlangsamen.

Nutze stattdessen eher Measures, in denen Berechnungen zur Abfragezeit erfolgen und von Query-Optimierungen profitieren können.

3. Leere Ergebnisse sorgfältig behandeln

LOOKUPVALUE gibt einen leeren Wert zurück, wenn kein Treffer gefunden wird. Wie oben beschrieben, ist es wichtig, die passende Methode zur Behandlung in deinen Berichten zu wählen. Du kannst zum Beispiel COALESCE oder den optionalen Alternativparameter von LOOKUPVALUE einsetzen, um Standardwerte bereitzustellen.

4. Datentypen und Groß-/Kleinschreibung

Achte darauf, dass Suchwert und gesuchte Spalte kompatible Datentypen haben, und berücksichtige Groß-/Kleinschreibung. Abweichungen bei Datentypen oder der Schreibweise können zu unerwarteten Ergebnissen oder Fehlern in LOOKUPVALUE führen.

Fazit

Zusammengefasst eröffnet dir LOOKUPVALUE viele Möglichkeiten, Werte aus anderen Tabellen zu finden und abzurufen – besonders in Kombination mit anderen DAX-Funktionen. Sie ersetzt jedoch keine solide Datenmodellierung. Definiere nach Möglichkeit zuerst Beziehungen zwischen Tabellen in deinen Power-BI-Berichten.

Wenn du eine Karriere als Power-BI-Entwickler anstrebst, schau dir unsere Schritt-für-Schritt-Anleitung zum Power-BI-Developer an. Setze dein Power-BI-Lernen am besten mit unserem kompletten Data Analyst in Power BI-Karrierepfad fort – dort lernst du alles, was du für den praktischen Einsatz von Power BI brauchst.


Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Themen
Power BI

Starte heute weiter mit deiner Power-BI-Reise!

Kurs

Einführung in DAX in Power BI

3 Std.
183.5K
Erweitere dein Wissen zu Power BI und lerne Grundlagen von Data Analysis Expressions (DAX), z. B. berechnete Spalten, Tabellen und Formeln.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow