Power BI ‘ın DAX Fonksiyonları: FILTER fonksiyonu

[vc_row][vc_column][vc_column_text]Merhabalar sevgili okur! Bu yazımızda Power BI ‘ın DAX fonksiyonlarından FILTER fonksiyonunu inceleyeceğiz. Bu fonksiyon da en çok kullanılanlarından. Önceki yazılarımızda bu fonksiyon gibi çok kullanılan temel fonksiyonlardan bahsetmiştik. Onların detaylarına da  buradan ulaşabilirsiniz.

Hemen ilk etapta kullanacağımız veri setinden bahsedelim. Yine kaggle.com’dan alacağımız veri seti Spotify’daki Top 50 şarkı ve bu şarkıların detaylarını içeriyor. Buradan indirebilirsiniz.

FILTER fonksiyonu, istediğimiz koşullara göre filtrelenmiş veri setleri oluşturmamıza olanak sağlar. Fonksiyon sonucunda bize bir tablo döndürür. Bu sebeple tablo fonksiyonları arasındadır. Yalnızca FILTER fonksiyonunu kullanacaksak, başka fonksiyonların içinde kullanmayacaksak, bu fonksiyon mutlaka New Table komutuyla kullanılmalıdır. Tekrardan hatırlatalım, Power BI arayüzünü Türkçe kullansak dahi DAX fonksiyonlarını İngilizce olarak kullanma zorundayız. FILTER fonksiyonunun söz dizimi şöyledir:

=FILTER(<İşlem Yapılacak Tablonun adı> , )

Bu iki parametrede mutlaka yazılmalıdır yoksa fonksiyon hata döndürür. Yapılacak filtreme işlemini biraz açarsak şu şekilde ifade edebiliriz. “<“, “>”, “=”, “<>” gibi matematiksel ibareler kullanılarak sonucunda doğru ya da yanlış ibaresinin döndürülmesi gerekir. Daha karmaşık filtreleme işlemleri için mantıksal operatörlerde (And & Or) kullanabilirsiniz.

İşe, Power BI ‘a bu veri setini aktarmakla başlayalım. Bunun için Giriş(Home) sekmesinde Veri Al (Get Data) seçeneklerinden Text/CSV seçerek bu veri setinin yolunu gösterelim. Bu .csv formatlı dosyayı almak için OK ‘a tıkladığınızda kendisi metinler arasındaki ayracı tanıyacak otomatik sütunlara bölünmüş halini Navigasyon penceresinde gösterecek. Burada Load diyerek verinin Power BI ‘a yüklenmesini sağlıyoruz.

Bu veri setinde FILTER fonksiyonuyla 2 yeni tablo oluşturacağız. Bunun için Modelleme sekmesinin altındaki Yeni Tablo komutuna tıklıyoruz.

1-Rakamsal İfadeler Kullanarak Filtreleme İşlemi

İlk tablomuz Dans edilebilirlik kapasitesi yüksek şarkılardan oluşacak. Bunu ana tabloda sorgulamamızı sağlayacak sütun Dancebility sütunu. Bu sütunda 80’i geçen değerleri listeyeceğiz. Bu filtreleme ifadesini yazmak için “>” matematiksel operatörü kullanacağız. Bir sütundaki satırlar için filtreleme işlemi yaptığımız için o sütunun ismini yazmamız yeterli olacaktır. Yazacağımız söz dizimi şöyle olacak:

Dans 80 ustu = FILTER(top50, top50[Danceability]>80)

2-Metinsel İfadeler Kullanarak Filtreleme İşlemi

İkinci tablomuz Pop şarkılarını listelemek olacak. Bunun için Genre sütununu kullanacağız. Bu sütunda yalnızca pop ibaresi geçen satırlar bizim için doğru olan satırlar olacak.

Pop_Sarkilar = FILTER(top50,top50[Genre]="pop")

Hem metinsel hem de sayısal ifadeleri kullanarak filtre kullanmış olduk. Dikkat ettiyseniz sayısal ifadeleri kullanırken sayıları çift tırnak içine almadık. Çift tırnak yalnızca metinlerde kullanılır. Asla unutmayın ki:

İki tek tırnak, çift tırnak yapmaz!

Tek tırnaktan kastım kesme işareti. Bazen karşılaştığımız durumlarda iki adet kesme işareti yanyana kullanılarak işlemler yapılmaya çalışıyor. Bilgisayar dilinde bu iki ifadenin yeri farklı olduğu için görüntüde doğru bile gözükse fonksiyon sonucu hatayla karşılaşırsınız. O yüzden bu konuda dikkatli davranmanızı tavsiye ederim.

Tüm bu işlemlerden elde ettiğimiz yeni tabloları rapor tarafına taşıma tarafına geldik. Ben filtre uyguladığımız sütunları getirdim öncelikle. Hemen sol tarafa da hiç filtre uygulanmamış tam sırayı koydum. İsterseniz bu dosyaya buradan ulaşabilirsiniz.

spotify top 50 report Bu yazımızda Power BI DAX fonksiyonlarından Filter fonksiyonunu inceledik. Başka yazılarımızda başka fonksiyonları, çeşitli sorunları, çıkmazları, yapılabilirlikleri incelemeye devam edeceğiz. Kendinize iyi bakın!

Good game well played.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/powerbi_imza_son.gif” image_size=”full”][/vc_column][/vc_row]