Online Uçtan Uca Power BI Eğitimi

Kendi temponuzda Power BI öğrenin ! Her ay canlı Q&A seanslarına katılın !

ALL, ALLSELECTED ve Rasyolar

DAXDAX 101

Power BI ‘da bize en çok lazım olan metrik gruplarından biri de rasyolar, yani yüzde hesaplamaları.

Bunun için bize lazım olan fonksiyonlar CALCULATE ile birlikte ALL ve ALLSELECTED.  Daha önce ALL ile örnekler yapmıştık. 1, 2, 3.

ALL fonksiyonuna parametre olarak ya bir sütun(lar) verebiliriz ya da bir tablo. Hangisini verdiysek, ilgili sütunu veya tabloyu filtreleyen her şeyi kaldırıp sütunun (veya tablonun) tamamını görmemizi sağlar. Bir nevi “filtreleri kaldır” işlevi görüyor.

Aşağıdaki gibi metriklerimiz var.

Satışlar := SUM ('Satışlar'[Tutar])
Tüm Renklerin Satışları:= CALCULATE( [Satışlar] ; ALL ('Ürünler'[Renk]))

Her iki metriği de matrise düşürüyorum.

all

ALL fonksiyonuna “Renk” sütununu verdiğimizden Renk ile ilgili hiçbir seçime aldırmıyor ve tüm renkleri görmeye devam ediyor. Fakat başka sütunlardan gelen filtrelere riayet edecektir.

Örneğin matrise markayı düşürdüğümüzde hesaplayacağı şey her bir markanın tüm renk satışları olacaktır.

ALL fonksiyonuna birden fazla sütun da verebiliriz. Aşağıdaki formül, marka ve renk seçimlerine kayıtsız kalacak, yani tüm markalardaki tüm renklerin satışını hesaplayacak fakat başka bir sütundan gelen filtrelere uymaya devam edecektir.

Tüm Renkler Tüm Markalar := 
CALCULATE ( [Satışlar]; ALL ( 'Ürünler'[Renk]; 'Ürünler'[Marka] ) )

ALL ‘un sonuncu formu bir tablo vermek şeklinde.

Tüm Satışlar := CALCULATE([Satışlar] ; ALL('Satışlar'))

Bu formül, Satışlar tablosunu filtreleyen hiçbir şeyi umursamayacaktır. Bir tablo üzerindeki tüm filtreleri kaldırmak için bu formu kullanabiliriz.

Her bir rengin satışının tüm satışlar içindeki payını bulmak istersek şöyle bir metrik yazabiliriz.

Rasyo_ALL := DIVIDE([Satışlar] ; [Tüm Satışlar])

En dip toplama göre rasyoyu bulmak için işimize yarıyor. Matrise Yıl bilgisini de düşürüyorum.

ALL(‘Satışlar’) parametresi satışlar tablosunu filtreleyen her şeyi kaldırdığı için, her bir rasyo, toplam satırındakiler de dahil olmak üzere en dip toplama göre oranı gösteriyor.

Her bir yıl için ilgili rengin satış içindeki payını göstermek için elbette formülü Yıl sütunu değişikliğine riayet edecek şekilde VALUES ile farklı yazabiliriz.

Rasyo ALL_VALUES :=
DIVIDE (
    [Satışlar];
    CALCULATE ( [Satışlar]; ALL ( 'Satışlar' ); VALUES ('Tarih'[Yıl] ) )
)

Yıl değişmesi durumunda çalışıyor ama ya kullanıcı Yıl haricinde başka bir şeyi seçerse, örneğin rengi seçerse?

Burada devreye ALLSELECTED fonksiyonu giriyor. Kullanıcının rapor ekranında seçtiği tüm filtreler üzerinden rasyo bulmak için ALLSELECTED() fonksiyonunu parametre vermeden kullanabiliriz.

Satışlar_ALLSELECTED := CALCULATE ( [Satışlar]; ALLSELECTED () )

ALL ile yazdığımız [Tüm Satışlar] metriği ile birlikte matrise düşürüyorum.

Herhangi bir filtre seçili değilken her iki metrik de aynı rakamı gösterse de dilimleyiciden seçim yapmaya başladığımızda aradaki fark ortaya çıkacaktır.

ALLSELECTED versiyonlu formül, kullanıcın yaptığı seçimlerin tamamını dikkate alıyor, ALL versiyonlu olan ise seçimleri hiç umursayıp en dip toplamı alıyor.

Yeni rasyomuzu yazabiliriz.

Rasyo_ALLSELECTED := DIVIDE( [Satışlar] ; [Satışlar_ALLSELECTED] )

Özetlemek gerekirse, ALL ile tüm en dip rasyoları bulabiliriz, ALLSELECTED ile de görsel -yani kullanıcı neleri seçtiyse- rasyoları bulabiliriz.

ALLSELECTED’in parametre verilmemiş hali bu işlevi görüyor. Aynen ALL fonksiyonunda olduğu gibi ALLSELECTED fonksiyonuna da sütun veya tablo verebiliriz. Fakat bu durumda işlevi biraz farklılaşıyor, bu da başka bir yazının konusu.

Yazıdaki modeli 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.

“ALL, ALLSELECTED ve Rasyolar” üzerine 3 yorum

  1. ALLSELECTED() fonksiyonunu anlamak için güzel bir makale. “ALLSELECTED versiyonlu formül, kullanıcın yaptığı seçimlerin tamamını dikkate alıyor”. Burada kullanıcının dilimleyiciye ek olarak görseller üzerindeki yaptığı seçimler de dahil midir? Örneğin bir bar chart üzerindeki bar’lardan herhangi birini tıklaması, matristeki hesaplamalarda o seçime göre filtreleme yaparak hesaplar mı? Emeğiniz ve paylaşımınız için teşekkür ederim.

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!

8,6K Üye