Ana içeriğe atla

DAX LOOKUPVALUE için Kapsamlı Rehber

Power BI’de LOOKUPVALUE fonksiyonunu, basit örnekler ve diğer DAX fonksiyonlarıyla gelişmiş kombinasyonlarla öğrenin.
Güncel 3 Eki 2026  · 9 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

LOOKUPVALUE, diğer tablolardaki değerleri bulup getirmek için kullanışlı bir DAX fonksiyonudur.

Power BI raporlarınızdaki iyi veri modelleme uygulamalarının yerini tutmasa da, LOOKUPVALUE özellikle birden fazla koşullu karmaşık ifadeler yazarken ve LOOKUPVALUE’ı diğer DAX fonksiyonlarıyla birleştirmek istediğinizde oldukça esneklik sağlar.

Bu eğitimde, LOOKUPVALUE fonksiyonunun temellerini, nasıl çalıştığını, nasıl kullanıldığını (özellikle diğer DAX fonksiyonlarıyla birlikte), ayrıca Power BI raporlarınızda LOOKUPVALUE kullanırken dikkat etmeniz gereken performans konuları ve en iyi uygulamaları ele alacağız.

Power BI’daki LOOKUPVALUE, Microsoft Excel’deki VLOOKUP’a oldukça benzer. Ancak LOOKUPVALUE’a geçmeden önce DAX ve Power BI ile aşinalık kazanmanız iyi olur. Power BI temelleri beceri yolumuz sizi hızla hazırlayabilir; ayrıca DAX cheat sheet’imiz, DAX fonksiyonlarıyla çalışırken elinizin altında bulundurabileceğiniz harika bir başvuru kaynağıdır.

Power BI DAX Hızlı Başvuru Kağıdı

LOOKUPVALUE’ın Temelleri

LOOKUPVALUE fonksiyonunu kullanarak, bir veya daha fazla arama koşuluna bağlı olarak başka bir tablodaki bir sütundan tek bir değer getirebiliriz.

Standart söz dizimi şöyledir:

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

DAX’a ve söz dizimine hâlâ yeniyseniz, DAX’a Giriş kursumuza göz atın veya hızlıca tamamen yeni başlayanlar için DAX eğitimimizi okuyun. DAX bilginizi Orta Düzey DAX kursumuzla da derinleştirebilirsiniz.

LOOKUPVALUE parametrelerini biraz daha ayrıntılı inceleyelim:

  • result_column: Hedef tablodan getirmek istediğiniz sütundur.
  • search_column1: Eşleştirmek istediğiniz kriterleri içeren, hedef tablodaki sütundur.
  • search_value1: search_column1 içinde aranacak değerdir. Sabit bir değer (örneğin bir metin) olabilir, bir ifadenin sonucu (örneğin min veya max) olabilir ya da LOOKUPVALUE’ın eşleştirme yapması gereken kaynak tablodaki bir sütun olabilir.
  • [search_column2, search_value2, ...]: Bunlar isteğe bağlı ek arama sütunu ve değer çiftleridir. Daha karmaşık arama koşulları oluşturmak için birden fazla çift belirtebilirsiniz.
  • [alternateResult]: Varsayılan ya da alternatif sonuçtur. LOOKUPVALUE uygun bir eşleşme bulamazsa bu değeri döndürür.

LOOKUPVALUE hedef tabloda her arama yaptığında yalnızca tek bir eşleşme bulmalıdır. Birden fazla olası eşleşme varsa, LOOKUPVALUE benzersiz bir eşleşme bulana kadar ek arama çiftleri tanımlamanız gerekir.

Açıklık olması için, bununla ilgili bir örneği bir sonraki bölümde ele alacağız.

Basit LOOKUPVALUE Örnekleri

Temel kullanım

Diyelim ki ProductID ve ProductName sütunlarına sahip bir ürünler tablonuz var. ID’si 101 olan ürünün adını bulmak istiyorsunuz.

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

Birden çok arama koşulu

Bu durumda, ProductID, Region ve Revenue sütunlarına sahip bir Sales tablonuz olduğunu varsayalım. Belirli bir ürünün (ID 101) belirli bir bölgedeki (East) gelirini bulmak istiyorsunuz.

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

Boş değerlerin ele alınması

Arama koşullarının herhangi bir eşleşme döndürmediği durumlarda, LOOKUPVALUE boş döndürür.

Bu boş değerleri ele almak için iki yöntem şöyledir:

  • LOOKUPVALUE’ın alternatif sonuç parametresini kullanmak.
  • COALESCE fonksiyonunu kullanarak LOOKUPVALUE boş döndürürse alternatif bir sonuç belirtmek.

Yöntem 1: Alternatif sonuç

LOOKUPVALUE fonksiyonunda varsayılan bir değer veya alternatif sonuç belirtebilirsiniz. Bu, LOOKUPVALUE ifadesinin en sonunda yer alan isteğe bağlı bir parametredir.

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

Yöntem 2: COALESCE

İkinci olarak, COALESCE fonksiyonunu kullanabilirsiniz; bu, LOOKUPVALUE içinde alternatif bir sonuç belirtmeye neredeyse aynı şekilde çalışır.

Bununla birlikte, kullanım durumunuza ve veri kümenize bağlı olarak COALESCE daha performanslı olabilir. Hız ve performans Power BI raporunuz için önemliyse, COALESCE’i incelemeye değer.

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

Tablolarınız arasında ilişkiler tanımlamak her zaman iyi bir veri modelleme uygulamasıdır. DAX fonksiyonu LOOKUPVALUE kullanmaktan daha hızlıdır ve anlamsal modelinizin hem şimdi hem de gelecekte anlaşılmasını kolaylaştırır.

Tablolarınız arasında ilişkiler oluşturduğunuzda, RELATED fonksiyonunu kullanabilirsiniz. Çoğu durumda RELATED fonksiyonu, LOOKUPVALUE’dan daha basit ve daha doğrudandır.

RELATED fonksiyonu, kaynak tablonuzla doğrudan ilişkisi olan başka bir tablodan değer getirmeniz gerektiğinde idealdir.

Örneğin, satışlar tablosuna bir müşterinin adını eklemek istiyorsanız ve satışlar tablosu ile müşteriler tablosu arasında CustomerID üzerinde doğrudan bir ilişki varsa, şunu kullanabilirsiniz:

Customer Name = RELATED(Customers[CustomerName])

Bununla birlikte, `LOOKUPVALUE` `RELATED`’dan daha esnektir ve modelinizde mevcut doğrudan bir ilişki olmaksızın arama yapmanız gerektiğinde veya karmaşık ya da birden çok kritere dayalı değerler aramanız gerektiğinde en iyi sonucu verir. Çok yönlüdür; ancak olası performans etkileri nedeniyle aşırı kullanmamaya dikkat edin.

LOOKUPVALUE’ı Diğer DAX Fonksiyonlarıyla Birleştirme

Eşleşme bulunamadığında alternatif bir sonuç sağlamak için LOOKUPVALUE ile COALESCE’i nasıl birleştirebileceğinizi zaten gördük.

LOOKUPVALUE ile iyi eşleşen diğer DAX fonksiyonları arasında CALCULATE ve SWITCH fonksiyonları bulunur.

Bu bölümde bunların örneklerini ele alacağız.

LOOKUPVALUE & CALCULATE

LOOKUPVALUE fonksiyonunu CALCULATE ile birleştirmek, basit bir ilişki veya doğrudan bir arama yoluyla erişilemeyen bir hesaplama ya da filtre bağlamına göre başka bir tablodan değer getirmeniz gereken senaryolarda kullanışlıdır.

Bu genellikle filtre uygulamak veya hesaplamaların ayrıntı düzeyini değiştirmek için kullanılır. LOOKUPVALUE ile birleştirdiğinizde, aramanızın ölçütlerini hesaplamaların sonuçlarına göre dinamik olarak ayarlayabilirsiniz.

Örneğin: Belirli bir yıl için ürünler ve satış hedeflerinin yer aldığı bir tablonuz olduğunu varsayalım. Belirli bir ürün kimliği için, içinde bulunduğumuz yılın satış hedefini çekmek istiyorsunuz.

Bu işlemi CALCULATE ve LOOKUPVALUE fonksiyonlarını birleştirerek nasıl yapabileceğinize bakalım.

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

LOOKUPVALUE fonksiyonunu SWITCH ile birleştirmek, başka bir tablodan dinamik olarak değer arayıp birden fazla olası eşleşmeye göre farklı sonuçlar döndürmeniz gerektiğinde oldukça iyi çalışır.

SWITCH fonksiyonuna aşina değilseniz, sizi ayrıntılı olarak yönlendirecek bir eğitimimiz var.

Örneğin: Bir satış veri kümeniz ve ayrı bir komisyon oranları tablonuz olduğunu varsayalım. Bir çalışanın aldığı komisyon oranı, doğrudan saklanmayan ancak toplam satış tutarından hesaplanabilen satış kademesine göre belirlenir.

Satış tablosunda, her satış için satış kademesine göre komisyon oranını belirten hesaplanmış bir sütun oluşturmak istiyorsunuz.

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

Bu DAX ifadesinde, satış kademesini tanımlamak için SWITCH fonksiyonunu kullanıyoruz ve ardından bu sonucu, ilgili kademe için eşleşen komisyon oranını getirmek üzere LOOKUPVALUE içinde kullanıyoruz.

Performans Hususları ve En İyi Uygulamalar

1. Mümkün olduğunda ilişkileri kullanın

Mümkün olduğunda tablolar arasında doğrudan ilişkiler kullanmak tercih edilir. Power BI’da ilişkiler performans için optimize edilmiştir ve RELATED gibi fonksiyonlar çoğu zaman LOOKUPVALUE’dan çok daha verimlidir.

Bu yaklaşım, rapor yükleme sürelerini en aza indirmeye çalışıyorsanız önemli olan Power BI’ın dahili iyileştirmelerinden de yararlanır.

2. Hesaplanmış sütunlarda kullanımını en aza indirin

LOOKUPVALUE hesaplanmış sütunlarda kullanılabilse de, genellikle aşırıya kaçmamak en iyisidir. Hesaplanmış sütunlar veri yenileme sırasında hesaplanır ve özellikle büyük veri setlerinde bu süreci yavaşlatabilir.

Bunun yerine, sorgu zamanında hesaplanan ve sorgu iyileştirmelerinden yararlanabilen ölçülerde LOOKUPVALUE kullanmayı düşünün.

3. Boş sonuçları dikkatle ele alın

LOOKUPVALUE, eşleşme bulunamazsa boş bir sonuç döndürür. Daha önce tartıştığımız gibi, raporlarınızda bunu ele almak için doğru yöntemi seçmek önemlidir. LOOKUPVALUE boş döndürdüğünde varsayılan değerler sağlamak için COALESCE gibi bir fonksiyonu veya LOOKUPVALUE’ın isteğe bağlı alternatif sonuç parametresini kullanmayı düşünebilirsiniz.

4. Veri türleri ve büyük/küçük harf duyarlılığı

Arama değeri ile arama yapılan sütunun veri türlerinin eşleştiğinden emin olun ve büyük/küçük harf duyarlılığının farkında olun. Veri türleri veya harf duyarlılığı uyumsuzlukları, LOOKUPVALUE fonksiyonunda beklenmeyen sonuçlara veya hatalara yol açabilir.

Sonuç

Özetle, LOOKUPVALUE diğer tablolardan değer bulma ve getirme konusunda size çok daha fazla seçenek sunar. Özellikle diğer DAX fonksiyonlarıyla birleştirildiğinde güçlüdür. Ancak iyi veri modelleme uygulamalarının yerine geçmez ve Power BI raporlarınızda önce tablolar arasında ilişkiler tanımlamayı denemeniz önerilir.

Power BI geliştiricisi olarak bir kariyere geçmeyi düşünüyorsanız, Power BI geliştiricisi olma adım adım rehberimize göz atın. Power BI öğreniminize, uygulamada Power BI kullanmaya başlamanız için gerekli her şeyi öğretecek kapsamlı Power BI’da Veri Analisti kariyer yolumuzu keşfederek devam etmenizi öneririz.


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

Power BI Yolculuğunuza Bugün Devam Edin!

Kurs

Power BI'de DAX'e Giriş

3 sa
185.4K
Hesaplanan sütunlar, tablolar ve ölçüler gibi Veri Analizi İfadelerinin (DAX) temellerini öğrenerek Power BI bilgilerinizi geliştirin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör