microsoft-power-bi-dax-parameter-report

Power BI’da Değişken Kullanımı

Merhaba, iyi günler.

Bugünkü yazımda Microsoft Power BI ile oluşturacağımız “Column” (Sütun) ve “Measure”(Ölçü) öğelerine yönelik kurgulayacağımız algoritmaları daha sade ve okunması kolay bir hale getirmek adına “Variable” (Değişken) kullanımını ele almaya çalışacağım.

Önceki yazımda takvim tablosu içerisindeki işlemlerimizde oluşturduğumuz öğelere ait algoritmalar da tekrarlı kod öbekleri mevcuttu.

Bu örnekleri baz alarak bazı çözümlemeler ile çıkarımlar oluşturmaya çalışacağız.

Örnek olarak; 

BuAy/ÖncekiAy = IF(MONTH(Takvim[Tarih]) = MONTH(TODAY()) &&                    Takvim[Tarih].[Year] = YEAR(TODAY());"BU AY";
                IF(MONTH(Takvim[Tarih])+1 = MONTH(TODAY()-1) &&                Takvim[Tarih].[Year] = YEAR(TODAY());"ÖNCEKİ AY";"DİĞER"))

ifademizi ele alalım.

Burada tekrarlı alanları ifadelendirerek öbeklere ayıralım.

Ay = MONTH(Takvim[Tarih]) 
BuAy = MONTH(TODAY())
Yil = Takvim[Tarih].[Year]
BuYil = YEAR(TODAY())

Ardından bu ayırdığımız öbekleri aynı sorgu içerisinde kullanabilmemiz için bir parametre operatörü yardımı ile tekrar işleme almamız gerekmektedir.

Burada Power BI içerisinde kod öbeklerimizi adlandırılmış bir değişkene atayan ve sonrasında ilgili Column veya Measure içerisinde kullanmamızı sağlayan “VAR” operatörü işlemlerimiz için yardımcı olarak görev alıyor.

Kullanımı;

VAR <name> = <expression>  

Name (Ad)  = Değişkenin adı.(Tanımlayıcı) 

Expression  (İfade) =  Bir skaler veya tablo değeri döndüren DAX ifadesi.

NOT-1 : Name (Ad) kısmında Türkçe karakterler kullanılamaz ve boşluk bırakılarak adlandırma yapılamaz.

NOT-2 : Değişken atama işlemleri tamamlandıktan sonra “RETURN” keywordu (Anahtar Kelime) kullanılarak sorgu oluşturma işlemi gerçekleştirilir. 

Üst kısımda oluşturduğumuz öbekler ile ana sorgu iskeletimizi tekrar modellenirse;

BuAy/ÖncekiAy = 
VAR Ay = MONTH(Takvim[Tarih]) VAR BuAy = MONTH(TODAY()) VAR Yil = Takvim[Tarih].[Year] VAR BuYil = YEAR(TODAY()) RETURN IF(Ay = BuAy && Yil = BuYil; "BU AY"; IF(Ay+1 = BuAy && Yil = BuYil; "ÖNCEKİ AY";"DİĞER"))

Burada ufak bir nüans var; değişkenlerin oluşturulduğu alanlarda (RETURN öncesinde) hesaplama işlemleri gerçekleştiriliyor ve akabinde değişkenin geçtiği sorgu alanlarında değerler kullanılıyor. 

Kompleks sorgular içerisinde değişkenlerin kullanımı; olası hataların tespitini kolaylaştırıyor ve zaman kaybının bir nebze önüne geçiyor. 

İlgili kodların bulunduğu kaynak dosya ; https://github.com/miracozturk17/PowerBIChallenge

Gelecek yazılarda görüşmek üzere.

İyi çalışmalar…

, ,

İlgili Yazılar