Seçili Rapor Filtreleri

Power BITips & Tricks

Power BI ‘da kullanıcı ihtiyaçları arasında zaman zaman karşılaştığım bir durum var: Seçili rapor filtrelerini raporun bir yerinde göstermek ve seçilen filtrelerin tamamını bir anda sıfırlamak.

Rapor filtrelerini genelde “slicer” olarak (dilimleyici) ekliyoruz ve çoğunlukla da bir rapor tasarım unsuru olarak kullanıyoruz.

seçili rapor filtreleri

Rapora eklediğimiz filtreleri zaten sayfada görüyoruz diyeceksiniz -ki benzer talepler geldiğinde benim de ilk tepkim bu yönde olmuştu- fakat Nisan ayı itibariyle gelen yeni Filter panosu ile birlikte bu düşüncem biraz değişti. Çok fazla sayıda slicer ya da kırılım için rapor sayfasının kendisini kullanmak bariz şekilde yer işgal ediyor. Birkaç slicer tamam belki ama 4-5 ve üstü için bu kıymetli alanı harcamamakta fayda var. Rapor dönemi gibi çok temel kırılımlar için sayfayı kullanmaya devam edebiliriz ama fazla sayıda kırılım varsa bu özelliği kullanmayı düşünmelisiniz.

Yeni filtre panosunu kullanmak için önizleme ayarlarından bunu açmak gerekiyor,: File –> Options –> Preview Features –> New Filter Experience.

Dosyanızın durumuna göre gene opsiyonlardan Current File –> Filtering Experience seçimi işaretlenmeli.

Bu opsiyonları işaretlediğimizde tüm filtreleri – kırılımları ekleyebileceğimiz, gizlenebilir, yer işgal etmeyen bir filtre panosu ortaya çıkıyor.

Bu filtre panosunun görünümünü rapor sayfamızın tasarımıyla uyumlu hale getirmek de mümkün. “Viz” panosundaki “Filter Pane” ve “Filter Cards” bölümleri tam da bunun için var.

Kullanıcı seçimlerini yakalamanın yollarından biri SELECTEDVALUE fonksiyonunu kullanmak.

Tek Seçimli Kategori :=
SELECTEDVALUE('Ürün Kategorileri'[Kategori] ;"Çoklu Seçim ya da Herşey Seçili" )
Tek Seçimli AltKategori :=
SELECTEDVALUE('Ürün Alt Kategorileri'[Alt Kategori] ; "Çoklu Seçim ya da Herşey Seçili")
Tek Seçimli Şehir :=
SELECTEDVALUE('Mağaza'[Şehir] ; "Çoklu Seçim ya da Herşey Seçili")

Hepsini bir multi-row card görseline düşürüyorum.

Tek bir seçimin yapıldığı durumlar için istediğimiz gibi çalışıyor. SELECTEDVALUE fonksiyonun iki parametresi var:

:= SELECTEDVALUE ( Tablo[Sütun Adı] ; Alternatif Sonuç )

Verdiğimiz sütunda gördüğü filter context’te eğer sadece tek bir değer varsa bu değeri döndürüyor. Eğer gördüğü context’te birden fazla değer varsa veya bir seçim yapılmamışsa ve ikinci parametreye bir şey yazmadıysak “boş” (blank) döndürüyor.  Boş değer yerine başka bir şey dönmesini istiyorsak ikinci parametreyi kullanabiliriz. Yukarıdaki örneklerde alteranatif olarak text bir  değer döndürdük.

Sabit bir text yerine, seçili şehirlerin değerlerini birleştirmek üzere CONCATENATEX fonksiyonunu kullanacağım.

** CONCATENATEX ile ilgili daha önceki örneklere bakmak isterseniz buradan.

Şehir Seçimi :=
SELECTEDVALUE (
  'Mağaza'[Şehir];
  CONCATENATEX ( ALLSELECTED ( 'Mağaza'[Şehir] ); 'Mağaza'[Şehir]; "," )
)

Bu örnekten sonra yapabileceğimiz varyasyonlar ihtiyacın ne olduğuna göre değişebilir. Örneğin Şehir kırılımında hiçbir şey seçilmediyse (bir diğer deyişle tüm şehirler varsa) “Seçim yok” diyebiliriz.  Bir sütun üzerinde filtreler var mı yok mu anlamak için ISFILTERED fonksiyonunu kullanabiliriz.

Şehir Seçimi :=
IF (
    ISFILTERED ( 'Mağaza'[Şehir] );
    SELECTEDVALUE (
      'Mağaza'[Şehir];
      CONCATENATEX ( ALLSELECTED('Mağaza'[Şehir]); 'Mağaza'[Şehir];"," )
    );
    "Seçim yok"
)

Ya da örneğin kategorilerden çok fazla seçim yapıldıysa “Çok Fazla Seçim Var”, makul sayıda seçim varsa seçili kategorileri göster diyebiliriz.

Kategori Seçimi :=
IF (
    ISFILTERED ( 'Ürün Kategorileri'[Kategori] );
    IF (
        COUNTROWS ( ALLSELECTED ('Ürün Kategorileri'[Kategori]) ) > 4;
        "Çok Fazla Seçim Var";
        SELECTEDVALUE (
            'Ürün Kategorileri'[Kategori];
            CONCATENATEX (
                ALLSELECTED ( 'Ürün Kategorileri'[Kategori] );
                'Ürün Kategorileri'[Kategori];
                ","
            )
        )
    );
    "Seçim yok"
)

Formülleri yazmanın alternatif yolları da var, ALLSELECTED yerine VALUES fonksiyonunu kullanalım. VALUES verdiğimiz sütunda gördüğü değerleri döndüren -çok işlevsel ve yaratıcılığa açık- bir fonksyion.

Kategori Seçimi_VALUES :=
VAR _SeciliKategoriler =
    CONCATENATEX( VALUES( 'Ürün Kategorileri'[Kategori]) ; 
                  'Ürün Kategorileri'[Kategori] ; "," )
VAR _KategorideFiltreVarmi =
    IF( ISFILTERED('Ürün Kategorileri'[Kategori] ) ;
    _SeciliKategoriler ;
    "Seçim Yok"
    )
RETURN
 _KategorideFiltreVarmi

Bir örnek de FILTERS (sonunda S var, sık kullandığımız diğer FILTER değil yani) fonksiyonu ile yapalım.

Kategori Seçimi_FILTERS :=
IF (
    ISFILTERED ( 'Ürün Kategorileri'[Kategori] );
    CONCATENATEX (
        FILTERS ( 'Ürün Kategorileri'[Kategori] );
        'Ürün Kategorileri'[Kategori];
        ","
    );
    "Seçim Yok"
)

FILTERS ile VALUES birbirine benziyor fakat arada ufak bir nüans var. VALUES ‘un gördüğü filter context’teki değerler, hem doğrudan hem de dolaylı (cross filter) filtrelerden etkileniyor. FILTERS ‘ın gördüğü context’te ise sadece doğrudan filtreler var. Dolayısıyla her ikisi de her zaman aynı sonucu vermeyebilir.

** Bu arada yeni filter panosunu kullanırsanız, rapora koyduğumuz görsellerin üst bandına bir de filtre ikonu ekleniyor ve görseli etkileyen filtrelerin listesini görebiliyorsunuz.

Seçili tüm filtreleri bir anda sıfırlamak için bookmark’ları kullanabiliriz. Bookmark’lar okuduğumuz bir kitaptaki önemli yerleri işaretlemek için sayfalara koyduğumuz ayraçlar gibi, görünümü kaydedip işaretliyoruz.

View tabından Bookmark’ı işaretliyorum ve panosunu açıyorum.

Sayfadaki tüm filtreleri kaldırdıktan sonra Bookmark panosundan “Add” diyerek yeni bir bookmark ekliyorum ve ismini değiştiriyorum.

Sayfaya bu bookmark’ı tetiklemek üzere Home tabındaki “İmage” menüsünü kullanarak bir ikon ekliyorum.

İkon seçili iken “Format Image” tabındaki “Action” kısmını açıyorum, Type ve Bookmark seçimlerini de aşağıdaki gibi yapıyorum.


Filtre seçimlerini artık tek tuşla sıfırlayabiliriz. İkonun çalışması için Power BI Desktop’tayken tıklamadan önce “CTRL” tuşuna basmanız lazım. Buluta çıktığınızda buna gerek kalmayacaktır.

** Animasyonu göremiyorsanız resmi tıklayın!

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.

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,6K Üye