CALCULATE ile OR Kullanımı

DAXDAX 101

2021 Mart güncellemesi ile birlikte CALCULATE’e verebileceğimiz filtre tiplerinde OR kullanımına ilişkin bir yazım (syntax) değişikliğine gidildi. Daha önce CALCULATE ile OR kullanımıyla ilgili yazdığım yazıda şöyle örnekler vermiştim:

Aynı filtre içerisinde tek bir sütun üzerinden OR condition yazabiliriz.

Kırmızı-Mavi Ürün Satışları = 
CALCULATE( SUM( 'Satışlar'[Tutar] ) ,
    'Ürünler'[Renk] = "Kırmızı" || 'Ürünler'[Renk] = "Mavi" 
)
calculate ile OR kullanımı

Fakat farklı sütunlardan gelen condition’ları aynı filtre altında veremiyorduk!

Yani aşağıdaki gibi bir formül yazamıyorduk:

Kırmızı veya Contoso Satışları = 
CALCULATE( SUM( 'Satışlar'[Tutar] ) ,
    'Ürünler'[Renk] = "Kırmızı" || 'Ürünler'[Marka] = "Contoso"
)

“The expression contains  multiple columns , but only a  single column  can be used…” . Meali, aynı filtrede birden fazla farklı sütun kullanamazsın!

Eğer böyle bir ihtiyaç varsa bunu ancak FILTER kalıbıyla yazabiliyorduk.

Kırmızı Contoso Satışları FILTER_ = 
CALCULATE( SUM( 'Satışlar'[Tutar] )  ,
    FILTER( ALL( 'Ürünler'[Renk] , 'Ürünler'[Marka]) ,
        'Ürünler'[Renk] = "Kırmızı" || 'Ürünler'[Marka] = "Contoso"
    )
)

Güncellemeyle birlikte artık daha önce reddettiği yazıma müsade ediyor!

Burada bir uyarıda bulunmak isterim :  Sütunlar aynı tablodan geliyorsa  buna artık müsade ediyor, fakat farklı tablolardan gelen sütunlar üzerinden OR’la bağlanmış  tek bir filtre  halen syntax olarak yazamıyoruz!

Bu durum elbette çözümsüz değil, expanded tables konseptiyle, CALCULATETABLE ile ya da FILTER ile , ya da kafamız nasıl çalışıyorsa SUMMARIZE ile de yapabiliriz.

CALCULATE ve OR kullanımına ilişkin bu yazıya da göz atmanızı öneririm, IN operatörü ile de benzer hesaplamaları yapmak mümkün.

Önümüzdeki +- 6 ay – 1 yıl içerisinde DAX’ın semantiğiyle ilgili yapısal bir değişiklik yok, ama yazıma (syntax) ilişkin değişiklikler olması muhtemel. AutoExist gibi, DAX konusunda tecrübeli kişilere bile “nasıl yani” dedirtecek durumlar için de geliştirmeler olacak büyük ihtimalle.

Yazıdaki modeli -bloga üyeyseniz- indirebilirsiniz.

Sadece üyeler görebilir. Hızlı üyelik için sosyal medya hesabınızla giriş yapabilirsiniz!

Bloga sosyal medya hesabınızla hızlı üye olmak için ilgili ikonu tıklayabilirsiniz.

Yorum yapın

PowerBI İstanbul

Microsoft Power BI, Microsoft Fabric, veriyle ilgili Azure servisleri, veri analitiği, iş zekası, veri modelleme ve veri görselleştirme üzerine Türkçe bilgi içeriğine katkı sağlamayı amaçlar.

Intellect BI blog sitesidir. Intellect BI & PowerBI İstanbul, Microsoft Data Analytics ve Power BI Partneri 'dir.

Blog Yazılarına Üye Olun

Blog yazıları, eğitim ve meetup duyuruları posta kutunuza gelsin!

9,2K Üye