DAX Serisi #2 – FILTER() Fonksiyonu: Veride Detaylara İnmek

Power BI’da verileri analiz ederken sadece genel toplamları değil, belirli koşullara göre süzülmüş bilgileri de görmek isteriz. İşte burada devreye DAX’ın en esnek araçlarından biri olan FILTER()
fonksiyonu giriyor.
📌 FILTER() Nedir?
FILTER()
fonksiyonu, bir tabloyu satır bazında süzmek için kullanılır.
Diğer DAX fonksiyonlarıyla birlikte kullanılarak veri modeline özel koşullu hesaplamalar yapmanızı sağlar.
🎯 Ne İşe Yarar?
FILTER()
, genellikle CALCULATE()
içinde kullanılır ve şöyle çalışır:
🧠 “Bu tabloyu şu koşula göre süz ve sadece o verilerle hesap yap.”
🧪 Basit Bir Örnek
Diyelim ki bir Sales
tablonuz var ve sadece tutarı 1000 TL’den büyük satışları toplamak istiyorsunuz:
High Value Sales =
CALCULATE(
SUM(Sales[Amount]),
FILTER(Sales, Sales[Amount] > 1000)
)
Burada ne yaptık?
FILTER()
fonksiyonu,Sales
tablosunu süzdü.CALCULATE()
süzülen veriye göre toplamı yeniden hesapladı.
⚙️ FILTER() Söz Dizimi
FILTER(<table>, <expression>)
<table>
: Üzerinde işlem yapılacak tablo (örneğinSales
)<expression>
: Her satır için geçerli olacak koşul (örneğinAmount > 1000
)
🔍 Gerçek Hayat Senaryosu
Bir mağaza zinciri, sadece indirimli satışların toplamını görmek istiyor.
Discounted Sales =
CALCULATE(
[Total Sales],
FILTER(Sales, Sales[Discount] > 0)
)
Aynı şekilde, sadece İstanbul’daki mağazaların satışlarını görmek için:
Istanbul Sales =
CALCULATE(
[Total Sales],
FILTER(Sales, Sales[City] = "İstanbul")
)
🎛️ Neden FILTER() Kullanalım?
Bazı durumlarda Sales[Amount] > 1000
gibi filtreleri doğrudan CALCULATE()
içinde yazabiliriz.
Ama eğer:
Birden fazla koşul varsa
İç içe hesaplamalar gerekiyorsa
Koşulun dinamik olması gerekiyorsa
işte o zaman FILTER()
fonksiyonu kaçınılmaz hale gelir.
🧠 İleri Seviye: FILTER() + ALL()
Toplam içindeki payları hesaplamak istediğinizde ALL()
fonksiyonu ile birlikte kullanılır:
Sales % =
DIVIDE(
[Total Sales],
CALCULATE(
[Total Sales],
ALL(Sales)
)
)
Bu formülde, toplam satış tüm filtreler kaldırılarak hesaplanır. Yüzdelik pay elde edilir.
✍️ Sonuç
FILTER()
, DAX’ın detaycı yüzüdür. Satır bazında kontrol sağlar ve özellikle karmaşık hesaplamalarda büyük esneklik sunar.
📌 Eğer verinizin sadece belirli bir kısmını analiz etmek istiyorsanız, FILTER()
ile tanışmadan olmaz.
👉 Serimizin bir sonraki bölümünde ALL()
fonksiyonu ile filtre kaldırmayı öğreneceğiz.
Verinin gücüne hükmetmek için takipte kalın.
Power BI’ı sadece görselleştirme değil, analiz aracı olarak kullanmak isteyen herkes için bu seriyi hazırlıyoruz.
Subscribe to my newsletter
Read articles from Barış Cihan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
