Power BI Raporu Neden Yavaş Çalışır? 10 Performans Problemi ve Çözümü

Power BI raporunuz yavaş açılıyor, filtrelere geç cevap veriyor veya görsellerin yüklenmesi uzun sürüyorsa sorun yalnızca DAX kodlarında olmayabilir. Veri modeli, veri kaynağı, sorgular ve görsel tasarımı birlikte incelenmelidir.

Power BI ile hazırlanan bir rapor başlangıçta hızlı çalışırken veri miktarı arttıkça yavaşlayabilir.

Sayfalar geç açılabilir, filtrelere verilen cevap süresi uzayabilir veya bazı görsellerin yüklenmesi birkaç saniye sürebilir.

Bu durumda doğrudan DAX formüllerini değiştirmeye başlamak her zaman doğru yaklaşım değildir.

Bir Power BI raporunun performansını;

  • Veri modeli
  • DAX ölçüleri
  • Veri kaynağı
  • SQL sorguları
  • Veri miktarı
  • Power Query işlemleri
  • Görsel sayısı
  • Kullanılan bağlantı yöntemi

birlikte etkiler.

Bu yazıda en sık karşılaşılan performans problemlerini inceleyelim.


1. Gereğinden fazla veri Power BI’a aktarılıyor

Power BI modeline ihtiyaç duyulmayan milyonlarca satırın aktarılması modelin büyümesine ve sorguların yavaşlamasına neden olabilir.

Örneğin raporda yalnızca son 5 yıllık satışlar kullanılacaksa 15 yıllık geçmiş verinin modele alınması her zaman gerekli olmayabilir.

Bu nedenle veri kaynağında mümkün olduğunca erken filtreleme yapılmalıdır.

Temel prensip:

Raporda kullanılmayan veriyi modele taşımayın.


2. Veri modeli doğru tasarlanmamış olabilir

Power BI performansında veri modelinin tasarımı çok önemlidir.

Özellikle büyük modellerde yıldız şema (Star Schema) yaklaşımı tercih edilebilir.

Örneğin:

             DimTarih
                 |
DimMüşteri — FactSatış — DimÜrün
                 |
             DimMağaza

Satış tablosu bir fact table, müşteri, ürün ve tarih tabloları ise dimension table olarak tasarlanabilir.

Bu yapı hem modelin anlaşılmasını hem de ölçülerin daha sağlıklı oluşturulmasını kolaylaştırır.


3. Gereksiz kolonlar modelde tutuluyor olabilir

Bir SQL tablosunda 40 kolon bulunması, Power BI raporunda bu 40 kolonun tamamına ihtiyaç olduğu anlamına gelmez.

Özellikle büyük fact tablolarında kullanılmayan kolonların modele alınması model boyutunu artırabilir.

Örneğin:

SatışId
TarihId
MüşteriId
ÜrünId
Miktar
Tutar

rapor için yeterliyken;

Adres
Telefon
Açıklama
Not
GüncellemeKullanıcısı
LogBilgisi
...

gibi alanların modele taşınması gereksiz olabilir.


4. DAX ölçüleri gereğinden fazla karmaşık olabilir

Bazı DAX ifadeleri aynı sonucu daha yüksek maliyetle üretebilir.

Özellikle büyük veri modellerinde karmaşık iteratörler, gereksiz filtreleme ve büyük tablolar üzerinde yapılan hesaplamalar performansı etkileyebilir.

Bu nedenle bir ölçünün yalnızca doğru sonucu üretmesi değil, nasıl hesaplandığı da önemlidir.


5. Çok fazla görsel kullanmak

Bir Power BI sayfasına çok fazla grafik, kart, tablo ve slicer eklemek de sorgu sayısını artırabilir.

Örneğin tek sayfada:

10 Kart
8 Grafik
5 Tablo
7 Slicer

bulunuyorsa kullanıcı sayfayı açtığında çok sayıda sorgunun çalışması gerekebilir.

Dashboard tasarımında daha fazla görsel = daha iyi rapor anlamına gelmez.


6. SQL Server tarafı göz ardı edilmemeli

Power BI’ın performans problemi aslında SQL Server tarafındaki bir sorgudan kaynaklanıyor olabilir.

Örneğin:

Power BI
   ↓
SQL Server
   ↓
Büyük Fact Tablosu
   ↓
Karmaşık SQL Query

yapısında SQL sorgusu 20 saniyede sonuç dönüyorsa Power BI tarafında yapılacak optimizasyonların etkisi sınırlı kalabilir.

Bu nedenle özellikle kurumsal projelerde Power BI ile birlikte SQL Server ve veri altyapısının da incelenmesi gerekir.


7. Import ve DirectQuery tercihi önemlidir

Power BI’da verinin modele alınma şekli de performansı etkiler.

Import modelinde veriler Power BI modeline alınırken DirectQuery yaklaşımında sorgular veri kaynağına gönderilir.

Bu nedenle bağlantı yönteminin;

  • veri hacmi,
  • veri güncelliği,
  • kaynak sistem,
  • raporlama ihtiyacı

gibi kriterlere göre belirlenmesi gerekir.


8. Power Query’de gereksiz işlemler yapılabilir

Power Query içerisinde yapılan dönüşümlerin sırası ve niteliği de önemlidir.

Özellikle büyük veri kaynaklarında mümkün olduğunca işlemlerin veri kaynağına aktarılabilmesi (query folding) performans açısından önemli olabilir.


9. Tek bir rapor bütün ihtiyaçları karşılamaya çalışıyor olabilir

Bir raporun her şeyi yapması gerektiği düşüncesi zamanla çok büyük ve karmaşık modeller ortaya çıkarabilir.

Yönetim dashboard’u ile operasyonel detay raporunun aynı sayfada ve aynı model içerisinde çözülmesi her zaman ideal değildir.

Rapor mimarisi de performansın bir parçasıdır.


10. Performans problemi ölçülmeden çözülmeye çalışılıyor

En önemli noktalardan biri budur.

“Rapor yavaş” demek tek başına problemin nerede olduğunu göstermez.

Performans analizi sırasında;

Veri kaynağı
      ↓
Power Query
      ↓
Veri modeli
      ↓
DAX
      ↓
Görseller
      ↓
Rapor sayfası

zincirinin incelenmesi gerekir.


Sonuç

Power BI raporunuz yavaş çalışıyorsa ilk yapılması gereken rastgele DAX değişiklikleri yapmak değildir.

Öncelikle problemin kaynağı belirlenmelidir.

Veri modeli + SQL + Power Query + DAX + görsel tasarımı birlikte değerlendirilmelidir.

Özellikle kurumsal ve büyük veri içeren raporlarda performans problemleri yalnızca Power BI ekranından değil, veri altyapısının tamamından ele alınmalıdır.