Ga naar hoofdinhoud

Een uitgebreide gids voor DAX LOOKUPVALUE

Beheers de LOOKUPVALUE-functie in Power BI met eenvoudige voorbeelden en geavanceerde combinaties met andere DAX-functies.
Bijgewerkt 2 okt 2026  · 9 min lezen

Verken met AI

ChatGPTClaudePerplexity

LOOKUPVALUE is een handige DAX-functie om waarden in andere tabellen op te zoeken en op te halen.

Hoewel het geen vervanging is voor goed datamodelleren in je Power BI-rapporten, biedt LOOKUPVALUE veel flexibiliteit bij het schrijven van complexe expressies met meerdere voorwaarden, vooral als je LOOKUPVALUE wilt combineren met andere DAX-functies.

In deze tutorial nemen we je mee door de basis van de LOOKUPVALUE-functie: hoe het werkt, hoe je het gebruikt (vooral in combinatie met andere DAX-functies), en enkele prestatieoverwegingen en best practices om te volgen wanneer je LOOKUPVALUE gebruikt in je Power BI-rapporten.

LOOKUPVALUE in Power BI lijkt sterk op VLOOKUP in Microsoft Excel. Het is echter een goed idee om eerst vertrouwd te raken met DAX en Power BI voordat je met LOOKUPVALUE aan de slag gaat. Onze skill track Power BI fundamentals helpt je snel op weg, en onze DAX-cheat sheet is een handig naslagwerk tijdens het werken met DAX-functies.

Power BI DAX-cheat sheet

De basis van LOOKUPVALUE

Met de functie LOOKUPVALUE kunnen we één waarde uit een kolom in een andere tabel ophalen op basis van één of meer zoekvoorwaarden.

Dit is de standaardsyntaxis:

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

Als je nog nieuw bent met DAX en de syntaxis, bekijk dan onze cursus Introduction to DAX of lees snel onze DAX-tutorial voor absolute beginners. Je kunt je DAX-kennis ook verdiepen met onze cursus Intermediate DAX.

Laten we de parameters van LOOKUPVALUE in meer detail doornemen:

  • result_column: Dit is de kolom die je wilt ophalen uit de doeltabel.
  • search_column1: Dit is de kolom in de doeltabel die het criterium bevat waarop je wilt matchen.
  • search_value1: Dit is de waarde waarnaar gezocht wordt in search_column1. Dit kan een vaste waarde zijn, zoals tekst, of het resultaat van een expressie (zoals min of max), of het kan een kolom in de brontabel zijn waarmee LOOKUPVALUE een match moet uitvoeren.
  • [search_column2, search_value2, ...]: Dit zijn optionele extra paren van zoekkolommen en waarden. Je kunt meerdere paren opgeven om complexere zoekvoorwaarden te maken.
  • [alternateResult]: Dit is het standaard- of alternatieve resultaat. Als LOOKUPVALUE geen geschikte match vindt, retourneert het deze waarde.

Elke keer dat LOOKUPVALUE een zoekopdracht uitvoert in de doeltabel, zou het slechts één match mogen vinden. Als er meerdere mogelijke matches zijn, moet je extra zoekparen definiëren totdat LOOKUPVALUE een unieke match kan vinden.

Voor de duidelijkheid bespreken we hiervan een voorbeeld in de volgende sectie.

Eenvoudige LOOKUPVALUE-voorbeelden

Basistoepassing

Stel, je hebt een productentabel met de kolommen ProductID en ProductName. Je wilt de naam vinden van het product met ID 101.

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

Meerdere zoekvoorwaarden

Stel nu dat je een Sales-tabel hebt met de kolommen ProductID, Region en Revenue. Je wilt de omzet vinden voor een specifiek product (ID 101) in een bepaalde regio (East).

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

Omgaan met lege waarden

Als de zoekvoorwaarden geen matches opleveren, retourneert LOOKUPVALUE een lege waarde.

Hier zijn twee methoden om met deze lege waarden om te gaan:

  • Het alternatieve resultaatparameter van LOOKUPVALUE gebruiken.
  • De functie COALESCE gebruiken om een alternatief resultaat op te geven als LOOKUPVALUE leeg retourneert.

Methode 1: Alternatief resultaat

Je kunt een standaardwaarde of alternatief resultaat opgeven in de functie LOOKUPVALUE. Dit is een optionele parameter die helemaal aan het einde van de LOOKUPVALUE-expressie wordt geplaatst.

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

Methode 2: COALESCE

Ten tweede kun je de functie COALESCE gebruiken, die vrijwel op dezelfde manier werkt als het opgeven van een alternatief resultaat in de functie LOOKUPVALUE.

Afhankelijk van je usecase en dataset kan COALESCE echter performanter zijn. Als snelheid en prestaties belangrijk zijn voor je Power BI-rapport, is het de moeite waard om COALESCE te overwegen.

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

Relaties tussen je tabellen definiëren is altijd goed datamodelleringspraktijk. Het is sneller dan de DAX-functie LOOKUPVALUE gebruiken en het maakt je semantisch model nu en in de toekomst eenvoudiger te begrijpen.

Wanneer je relaties tussen je tabelen maakt, kun je de functie RELATED gebruiken. In de meeste gevallen is de functie RELATED eenvoudiger en directer dan LOOKUPVALUE.

De functie RELATED is ideaal wanneer je een waarde uit een andere tabel moet ophalen die een directe relatie heeft met je brontabel.

Als je bijvoorbeeld de naam van een klant aan de verkoopstabel wilt toevoegen, en er is een directe relatie tussen de verkoopstabel en de klantentabel op CustomerID, dan kun je gebruiken:

Customer Name = RELATED(Customers[CustomerName])

LOOKUPVALUE is echter flexibeler dan RELATED en is het best te gebruiken wanneer je opzoekingen moet uitvoeren zonder een bestaande directe relatie in je model of wanneer je waarden moet opzoeken op basis van complexe of meerdere criteria. Het is veelzijdig, maar wees voorzichtig met overmatig gebruik vanwege mogelijke prestatie-impact.

LOOKUPVALUE combineren met andere DAX-functies

We hebben al gezien hoe je LOOKUPVALUE kunt combineren met COALESCE om een alternatief resultaat te bieden wanneer er geen match wordt gevonden.

Er zijn andere DAX-functies die goed combineren met LOOKUPVALUE, zoals de functies CALCULATE en SWITCH.

In deze sectie lopen we voorbeelden hiervan door.

LOOKUPVALUE & CALCULATE

Het combineren van de functie LOOKUPVALUE met de functie CALCULATE is handig in scenario’s waarin je waarden uit een andere tabel moet ophalen op basis van een berekenings- of filtercontext die niet direct toegankelijk is via een eenvoudige relatie of rechttoe rechtaan lookup.

Dit wordt vaak gebruikt om filters toe te passen of de granulariteit van berekeningen te wijzigen. In combinatie met LOOKUPVALUE kun je de criteria voor je lookup dynamisch aanpassen op basis van de resultaten van berekeningen.

Hier is een voorbeeld: Stel dat je een lijst met producten en hun verkoopdoelen voor een specifiek jaar in een tabel hebt. Voor een gegeven product-ID wil je het verkoopdoel voor het huidige jaar ophalen.

Laten we doornemen hoe je dit kunt doen door de functies CALCULATE en LOOKUPVALUE te combineren.

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

Het combineren van de functie LOOKUPVALUE met de functie SWITCH werkt goed wanneer je dynamisch waarden uit een andere tabel moet opzoeken en verschillende resultaten wilt retourneren op basis van meerdere mogelijke matches.

Als je niet vertrouwd bent met de SWITCH-functie, hebben we een tutorial die je er stap voor stap doorheen leidt.

Hier is een voorbeeld: Stel dat je een verkoopdataset en een aparte tabel met provisietarieven hebt. Het provisietarief dat een medewerker ontvangt, wordt bepaald door zijn of haar verkooplevel, dat niet direct is opgeslagen maar kan worden berekend op basis van het totale verkoopbedrag.

Je wilt een berekende kolom maken in de Sales-tabel die het provisietarief voor elke verkoop aangeeft op basis van het verkooplevel.

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 deze DAX-expressie gebruiken we de SWITCH-functie om het verkooplevel te bepalen en gebruiken we dit resultaat vervolgens in LOOKUPVALUE om het bijbehorende provisietarief voor dat level op te halen.

Prestatieoverwegingen en best practices

1. Gebruik waar mogelijk relaties

Het verdient de voorkeur om waar mogelijk directe relaties tussen tabellen te gebruiken. Relaties zijn geoptimaliseerd voor prestaties in Power BI, en functies zoals RELATED zijn vaak veel efficiënter dan LOOKUPVALUE.

Deze aanpak profiteert ook van de interne optimalisaties van Power BI, wat belangrijk is als je de laadtijd van je rapporten wilt minimaliseren.

2. Minimaliseer gebruik in berekende kolommen

Hoewel LOOKUPVALUE kan worden gebruikt in berekende kolommen, is het over het algemeen beter dit niet te veel te doen. Berekende kolommen worden tijdens het vernieuwen van gegevens berekend en kunnen dit proces vertragen, vooral bij grote datasets.

Overweeg in plaats daarvan LOOKUPVALUE te gebruiken in metingen (measures), waarbij berekeningen tijdens querytijd worden uitgevoerd en kunnen profiteren van queryoptimalisaties.

3. Ga zorgvuldig om met lege resultaten

LOOKUPVALUE retourneert een leeg resultaat als er geen match wordt gevonden. Zoals we eerder bespraken, is het belangrijk om de juiste methode te kiezen om hiermee om te gaan in je rapporten. Je kunt bijvoorbeeld een functie zoals COALESCE gebruiken of de optionele parameter voor een alternatief resultaat van LOOKUPVALUE om standaardwaarden te bieden wanneer LOOKUPVALUE leeg retourneert.

4. Datatypen en hoofdlettergevoeligheid

Zorg ervoor dat het zoekwaarde-type en het type van de doorzochte kolom overeenkomen, en wees je bewust van hoofdlettergevoeligheid. Verschillen in datatypes of hoofdletters kunnen leiden tot onverwachte resultaten of fouten in de functie LOOKUPVALUE.

Conclusie

Kortom, LOOKUPVALUE geeft je veel extra mogelijkheden bij het zoeken en ophalen van waarden uit andere tabellen. Het is vooral krachtig in combinatie met andere DAX-functies. Het is echter geen vervanging voor goed datamodelleren, en het is aan te raden om eerst te proberen relaties tussen tabellen te definiëren in je Power BI-rapporten.

Als je overweegt om een carrière als Power BI-ontwikkelaar te starten, bekijk dan onze stap-voor-stapgids om Power BI-ontwikkelaar te worden. We raden je aan je Power BI-ontwikkeling voort te zetten door onze volledige Data Analyst in Power BI-carrièretrack te verkennen, die je alles leert wat je nodig hebt om Power BI in de praktijk te gebruiken.


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

Zet vandaag je Power BI-reis voort!

Cursus

Introductie tot DAX in Power BI

3 uur
185.6K
Verbeter je Power BI-kennis door de basisprincipes van Data Analysis Expressions (DAX) te leren, zoals berekende kolommen, tabellen en metingen.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken