microsoft-power-bi-data-veri-science-bilimi-performance-performans-report

Merhaba iyi günler.

Bugün Power BI üzerinde rapor performansına yönelik bazı hatırlatmalarda bulunuyor olacağım. 

Power BI çeşitli lisans modelleri üzerinden hizmet sunan bir raporlama aracıdır.Bu lisans modelleri üzerinde bariz olarak performans farklılıkları mevcuttur.

İlgili lisans modeli kıyaslamalarına aşağıdaki link üzerinden erişebilirsiniz.

https://miracozturk.com/power-bi-urun-tipi-fiyatlandirmasi-ve-ozellik-karsilastirmasi/

Mevcut verilerimiz boyut olarak bir hayli fazla olabilir ve bunları tek bir rapor üzerinde değerlendirmeniz istenebilir.

Peki, şirketimiz tarafından belirlenmiş kısıtlı lisans modelleri üzerinden bu işlemleri en uygun nasıl gerçekleştirebiliriz ?

Aşağıda ek üzerinde belirtmiş olduğum test verilerini baz alarak Power BI üzerinde bir takım çözümlemeler gerçekleştirmeye çalışacağım.

Dilerseniz hızlıca başlıklarımızı ele alalım.

Power BI rapor sayfası üzerinde bulunan her öğeye ait veri ön izleme işlemi için bir yükleme zamanı (süresi) mevcuttur.

Dolayısıyla rapor sayfasının içerisinde bulunan öğelerin bir performans metriği üzerinden değerlendirilmesi gerekmektedir.

Büyük Veri (Big Data) veya büyük veriye doğru yönelim içerisinde bulunan veri kümelerinin barındırdığı verileri kullanarak raporlama hizmeti sağlamak, yoğunluktan dolayı güç bir hal alabilir.

İlk çözüm olarak basit bir şekilde mantıksal veya somut tekrar içeren öğeleri yada değerleri kaldırmak göz önünde bulundurulabilir.

Örneğin; alt görselde tekdüze tabir ile Halka Grafik (Doughnut Chart) üzerinde en fazla satış gerçekleştirilmiş 5 müşteriye yönelik bir dağılım ele alınmıştır.

Bu müşterilerin birbirine yönelik yüzdesi üzerinden genele bağlı net bir çıkarım yapılamayacağı ve “Üretici Firmalara Göre Satış Sayıları” tablosu baz alınarak en fazla satış yapan “N” müşteriye ulaşılacağının çıktılarını göz önünde bulundurabiliriz.

report-raporlama-microsoft-power-bi-iszekasi-yinelenen-ogeler-degerler

Rapor içerisindeki veri ve çıkarıma bağlı tekrarlar, kullanıcı açısından amaca yönelik hizmetin dışına doğru bir sonuç oluşturabilir.

Çözüm olarak tekrarlı yapıların yerine ek çıkarım oluşturmak adına yeni bir görsel eklemek    veya veri yüküne bağlı rapor öğelerinin eş zamanlı yüklenmesi ve rapor performansını arttırma adına tekrarlı öğe-veri yapılarını kaldırmak ele alınabilir.

“Top 5 Üretici Firma Satış Dağılımı” yerine “Tipe Göre Satış Dağılımı” kullanılabilir.                   (Fikir vermesi açısından dahil edilmiş bir görsel.)

report-raporlama-microsoft-power-bi-iszekasi-yeni-ogeler-degerler

Dile getirdiğimiz performans ölçülendirmesinden varsayımsal söz ettik.                            Rasyonel olarak ele almaya çalışırsak öğeler arasındaki etkileşime yönelik ölçümlendirmeyi Performans Çözümleyicisi (Performans Analyzer) üzerinden gerçekleştirebiliriz.

Performans Çözümleyicisine;  

View(Görünüm) /Performance Analyzer (Performans Çözümleyicisi)

üzerinden erişebilirsiniz.

Performans çözümleyicisinin kayıt işlemini başlatıp rapor üzerinde herhangi bir etkileşim oluşturduğumuzda (Seçim/Filtreleme vb.)  mevcut öğelere ait tepki sürelerini bize milisaniye (ms) bazında çıktısını verecektir.

report-raporlama-microsoft-power-bi-iszekasi-performans-performance-yinelenen-ogeler-degerler

2-Hesaplama Kaynağını Belirleyin

Mevcut raporunuz içerisinde görüntülenmesi gerçekleştirilecek hesaplamaların kaynağı da performans açısından önemlidir.Bazen ilgili hesaplamalar çok kompleks olabilir.

Aşağıdaki örnek üzerinde satışların toplamına yönelik basit bir toplama işlemi MsSQL ve   Power BI üzerinde ayrı ayrı hesaplanıp aynı tip filtreler üzerinde görüntülemesi gerçekleştirilirken Performance Analyzer yardımı ile filtreleme sonucu tepki süreleri verilmiştir. 

MsSql üzerindeki işlem;

data-science-report-raporlama-microsoft-power-bi-iszekasi-performans-performance-source-kaynak-calculation-hesaplamasi

Hesaplamalar aşağıdaki gibi etiketler üzerinde görselleştirilmiştir.

Filtreleme işleminin ardından Performace Analyzer üzerindeki tepki süresi çıktı ise aşağıdaki gibidir. 

report-raporlama-microsoft-power-bi-iszekasi-performans-performance-karsilastirma

3-Tablo İlişkilerini Düzenleyin

Power BI içerisinde aralıklı olarak sayıca fazla tablo üzerinde çalışmamız gerekebilir, ek olarak bu tablolar çıkarım yada raporlama oluşturmamız için birbirileri ile anahtar sütünlar üzerinden bağlantılı olabilir. 

Örneğin; Genel Satışlar, Detay Satışlar, Satış Harekeleri vb. çoğaltılabilir ana bir harekete bağlı alt hareketlerin detaylarının yer aldığı ek tablolar.

Mevcut ilişkili yapı üzerinde verilere ulaşırken ara tabloların sayısı sonuca ulaşmamız için geçen süreyi arttırmaktadır.Bu sonuçta rapor içerisindeki görsellerin tepki süresini arttırmaktadır.

Ara tablolar içeren örnek bir hiyerarşik yapı;

microsoft-power-bi-data-veri-science-bilimi-low-performance-performans-schema

Aslında bu genel manada veri mimarisine yönelik mantıksal bir sorundur.Performans açısından ziyade anlaşılması ve yönetilmesi zor bir yapı içermektedir.

Raporlama işlemine başlamadan bu kurgunun iyi planlanması gerekmektedir.

Bunun için ise çözüm olarak Yıldız Şeması (Star Schema) yapısı önerilmektedir.

Yıldız Şeması (Star Schema) örnek yapısı;

power-bi-iszekasi-data-science-star-schema

Burada amaç ana (merkez) bir tablo etrafında alt (ek) tablolar kullanarak bir yapı oluşturmaktır. Bu yapı performans açısından daha etkili ve kullanımı/yönetilmesi kolay bir yapıdır.   

Yıldız Şeması (Star Schema) detaylı yapısı için popüler veri bilimcisi Reza Rad’ın yazısını ek olarak inceleyebilirsiniz.

 Link : https://radacad.com/power-bi-basics-of-modeling-star-schema-and-how-to-build-it

4-Veri Kümenizi Optimize Edin

Oluşturduğunuz veri kümesi içerisinde gereksiz tekrarlı alanlar (sütunlar) veya ek tablo bağlantı işlemlerinden yapınızı arındırın.

Bu ek işlemler mevcut yapınızın performansını düşüreceği gibi tekrarlı alanların bulunması da veri boyutunu arttıracaktır.

Veri kümesi yapınızı ilk adım olan veri analizi aşamasının ardından planlamanız gerekmektedir.  

Gerçekleştirdiğiniz analizin akabinde yapınızı optimum veri kümesini (talep edilen rapor içeriği nezdinde) baz alacak şekilde kurgulamanız gerekmektedir.

5-Varsayılan Mod Kullanın

Son olarak ise (bariz bir çözüm sayılmamakla birlikte) rapor paylaşımından önce rapor ön izlemesinin hızlı bir şeklide görüntülenmesi için (rapor kullanıcısının bekleme süresini düşürmek adına) ortak bir varsayılan filtreleme üzerinden paylaşım gerçekleştirilmesi.

Amaç; doğrudan hızlı bir ön izleme oluşturmak.

Örneğin; aşağıda belirtildiği gibi 2018-2019 yılları baz alınarak ortak bir rapor paydası oluşturulmuş ve paylaşım gerçekleştirilmiştir.  

microsoft-power-bi-data-veri-science-bilim-varsayılan-mod

Performance Analyzer yardımı ile 2017-2019 yıllarına ait ortak filtrelemede ki öğe tepki süreleri; 

microsoft-power-bi-data-veri-science-bilim-varsayılan-mod-non-selected-secili-değil

2018-2019 yıllarına ait ortak filtrelemede ki öğe tepki süreleri; 

microsoft-power-bi-data-veri-science-bilim-varsayılan-mod-selected-secili

Aradaki farklar bariz bir şekilde milisaniye bazında olsa dahi büyük veri içeren raporlar içerisinde ek çözüm oluşturacak bir yöntem olarak göz önünde bulundurulabilir. 

Bu hatırlatmaların dışında; veri kaynağı üzerinde indekslemeler, verileri sıralı bir şekilde rapor içerisine almak (ORDER BY ASC-DESC vb.), zaman kavramlarına yönelik formatları gerektiği ölçüde ele almak (saat-dakika-saniye gerekli değil ise kullanmamak), sayısal ifadelerde virgülden sonra gereksiz olan basamakları formatlamak vb. ek çözümlerde düşünülebilir.

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

İyi çalışmalar…

, , , ,

İlgili Yazılar