İleri Düzey Power BI: Performans, Bağlam Tuzakları ve Sık Yapılan Model Hataları
Bu ders neden var?
Temel dersleri bitirdiniz: veriyi aldınız, temizlediniz, modeli kurdunuz, rapor yayımladınız. Şimdi raporun güvenilir ve hızlı kalması gerekiyor. Aşağıdaki hataların çoğu ilk bakışta fark edilmez. Rakamlar makul görünür ama yanlıştır. Bu yüzden ders, hataları tanıma, mutabakat ve ölçme üzerine kurulu.
1. Excel formülü mantığıyla DAX yazmak
Excel'de bir hücreye formül yazar, aşağı çekersiniz. DAX'te ise formül bir hücreye değil, filtrelenmiş veri kümesine uygulanır. En sık görülen hatalar:
- Hücre başvurusu düşüncesi: "Bir önceki satırın değerini al" yaklaşımı DAX'te doğrudan yoktur. Bunun yerine zaman zekâsı fonksiyonları veya filtre değiştirme kullanılır.
- Satır satır hesap, sonra toplam: Excel'de her satırda oran hesaplayıp sütunu ortalamak alışkanlıktır. DAX'te oranı ölçü olarak, pay ve paydayı ayrı ayrı toplayarak yazın. Oranların ortalaması ile toplamların oranı farklı sonuç verir.
- DÜŞEYARA alışkanlığı: Tablolar arası eşleştirme için ilişki kurun. Hesaplanmış sütunla değer çekmek modeli büyütür.
- Boş ile sıfır farkı: Excel'de boş hücre çoğu zaman 0 gibi davranır. DAX'te BLANK ayrı bir değerdir ve görsellerde satır kaybına yol açabilir.
2. Filtre bağlamı ile satır bağlamı
Satır bağlamı, hesaplanmış sütunlarda ve SUMX gibi yineleyicilerde "şu anki satır" demektir. Filtre bağlamı ise rapordaki dilimleyici, satır/sütun başlığı ve görsel filtrelerinin oluşturduğu süzgeçtir. Satır bağlamı kendiliğinden filtre oluşturmaz.
| Belirti | Olası neden | Ne yapmalı? |
|---|---|---|
| Her satırda aynı toplam görünüyor | Ölçü ilişki olmayan bir tabloya bakıyor veya filtre bağlamı kaldırılmış | İlişkiyi ve ALL/REMOVEFILTERS kullanımını kontrol edin |
| Toplam satırı, satırların toplamına uymuyor | Ölçü toplam düzeyinde farklı bağlamda çalışıyor | Yineleyici (SUMX) ile satır düzeyinde hesaplayıp toplayın |
| Hesaplanmış sütun dilimleyiciye tepki vermiyor | Sütun yenileme anında hesaplanır, rapor bağlamına göre değişmez | Ölçüye çevirin |
3. CALCULATE'ın beklenmedik sonuçları
- CALCULATE, mevcut filtreyi değiştirir. Aynı sütuna yeni filtre verirseniz, o sütundaki dilimleyici seçimi ezilir. Bu bazen istenen, bazen sürpriz olan davranıştır.
- Filtre argümanı Bölge = "Marmara" biçiminde yazıldığında arka planda tek sütunluk bir tablo filtresi olarak çalışır. Birden fazla sütunu ilgilendiren koşullar için FILTER veya ayrı argümanlar gerekir.
- KEEPFILTERS kullanılmazsa, dilimleyici seçiminizle ölçü içindeki filtre kesişmez, ölçü kazanır.
- Ölçü içinde ölçü kullanırken içteki ölçü, çağrıldığı bağlamda yeniden hesaplanır. Bunu beklemeyen kişi tutarsız sonuç görür.
Test alışkanlığı: Karmaşık bir ölçüyü, önce en sade haliyle bir karta koyun. Sonra filtreyi tek tek ekleyip her adımda sonucu kontrol edin.
4. Çok-çok ilişkiler ve çift yönlü filtre
- Çok-çok ilişki: İki tabloda da anahtar tekrar ediyorsa kurulabilir ama toplamlar şaşırtıcı çıkabilir. Çoğu durumda araya benzersiz değerli bir boyut tablosu koymak daha güvenlidir.
- Çift yönlü filtre: Kolay bir çözüm gibi görünür. Ancak belirsiz filtre yollarına, yavaşlamaya ve beklenmeyen sonuçlara yol açabilir. Varsayılan tek yön kalsın. Çift yönü yalnızca gerçekten gerekli ve test edilmiş bir durumda açın.
- Birden fazla etkin yol: İki tablo arasında birden fazla ilişki varsa yalnızca biri etkin olur. Diğerleri için USERELATIONSHIP kullanılır (örneğin sipariş tarihi ve teslim tarihi).
5. Tarih tablosu eksikliği
Otomatik tarih özelliğine veya olgu tablosundaki tarih sütununa güvenmek yanlış zaman analizlerinin ilk nedenidir. Doğru yaklaşım:
- Kesintisiz günlerden oluşan ayrı bir tarih tablosu oluşturun; ilk günden son güne boşluk olmasın.
- Tabloyu "tarih tablosu olarak işaretleyin" ve olgu tablosuna ilişki kurun.
- Ay, çeyrek, yıl ve gerekiyorsa mali dönem sütunlarını bu tabloda tutun. Ay adlarını doğru sırada göstermek için ay numarasına göre sıralayın.
- Yıl başından bugüne, önceki yıl aynı dönem gibi ölçüleri yalnızca bu tablonun tarih sütunuyla yazın.
6. Yavaşlayan modeller: sütun, kardinalite, ölçü
| Sorun | Neden yavaşlatır? | Çözüm |
|---|---|---|
| Kullanılmayan sütunlar | Bellekte yer kaplar, yenilemeyi uzatır | Power Query'de kaldırın |
| Yüksek kardinalite (örneğin saniyeye kadar zaman damgası, benzersiz kimlik) | Sıkıştırma verimi düşer | Tarih ve saati ayırın, gereksiz benzersiz sütunu atın |
| Çok sayıda hesaplanmış sütun | Değerler modele kaydedilir | Mümkünse ölçüye veya Power Query'ye taşıyın |
| Düz, geniş tek tablo | Tekrarlayan metinler büyür | Yıldız şemasına bölün |
| Bir sayfada çok fazla görsel | Her görsel ayrı sorgu çalıştırır | Görsel sayısını azaltın, sayfaları amaca göre ayırın |
Hesaplanmış sütun mu, ölçü mü? Dilimleyicide, satırda veya eksende kategori olarak kullanacaksanız sütun. Toplama, oran, karşılaştırma gibi kullanıcı seçimine göre değişecek değerler için ölçü seçin. Şüphede kalırsanız ölçü.
7. Rapor başarısını ölçme
"Rapor yayında" demek başarı değildir. Aşağıdaki göstergeleri izleyin. Hedef değerleri kendi kurumunuzun beklentisine göre belirleyin.
| Gösterge | Nereden bakılır? | Ne söyler? |
|---|---|---|
| Kullanım sıklığı | Hizmet kullanım ölçümleri, erişim listesi | Rapor gerçekten açılıyor mu, kimler kullanıyor? |
| Yenileme başarısı | Yenileme geçmişi ve hata bildirimleri | Sayılar güncel mi? |
| Rapor açılış süresi | Kullanıcıdan gözlem, Performans Çözümleyicisi | Bekleme sabrı, model ve görsel yükü |
| Kullanıcı geri bildirimi | Kısa anket, toplantı notu | Eksik metrik, kafa karıştıran görsel |
| Excel'e dönüş oranı | Kullanıcılara sorun: Raporu açtıktan sonra aynı veriyi Excel'de yeniden hazırlıyor musunuz? | Güven veya kullanılabilirlik sorunu |
Excel'e dönüş yüksekse önce sayıların tutarlılığına, sonra eksik kırılımlara bakın. Çoğu zaman sorun teknik değil, güvenle ilgilidir.
8. Excel ile mutabakat yöntemi (adım adım)
- Adım 1 – Kapsamı sabitleyin: Aynı dönem, aynı filtreler, aynı para birimi.
- Adım 2 – Toplamdan başlayın: Power BI'daki genel toplam ile Excel'deki eski rapor toplamını karşılaştırın.
- Adım 3 – Kırılıma inin: Fark varsa ay, bölge, ürün sırasıyla daraltın ve farkın çıktığı ilk kırılımı bulun.
- Adım 4 – Satır sayısı kontrolü: Kaynak dosyadaki satır sayısı ile modeldeki satır sayısını karşılaştırın. Power Query adımlarında filtre veya birleştirme nedeniyle kayıp olabilir.
- Adım 5 – Eşleşmeyen anahtarlar: Boyut tablosunda karşılığı olmayan kayıtlar (boş görünen kategori) genellikle farkın kaynağıdır.
- Adım 6 – Yinelenen kayıtlar ve veri tipi: Metin olarak gelen sayılar, tarih biçimi farkları, boşluklu anahtarlar.
- Adım 7 – Kaydedin: Mutabakat sonucunu kısa bir notla belgeleyin (tarih, karşılaştırılan dosya, fark, açıklama).
9. Modeli sadeleştirme kontrol listesi
- Kullanılmayan sütun ve tablolar kaldırıldı mı?
- Yıldız şeması: bir olgu tablosu, etrafında boyut tabloları var mı?
- Tüm ilişkiler tek yönlü mü, istisnalar belgelenmiş mi?
- Ayrı, işaretlenmiş bir tarih tablosu var mı?
- Ölçüler tek bir klasörde, anlaşılır adlarla mı?
- Gereksiz hesaplanmış sütunlar ölçüye veya Power Query'ye taşındı mı?
- Sayfa başına görsel sayısı makul mü?
- Yayımlamadan önce Performans Çözümleyicisi ile en yavaş görsel incelendi mi?
Kısa uygulama görevi
Kendi raporunuzda: (1) bir ölçüyü sade haliyle test edin, (2) bir çift yönlü ilişkiyi gözden geçirin, (3) Performans Çözümleyicisi ile en yavaş görseli bulun, (4) bir toplamı Excel ile mutabık hale getirip notunu yazın.
Bu dersi kayıt olmadan izleyebilirsin. İlerlemeni kaydetmek, sertifika almak ve puan tablosuna girmek için ücretsiz üye ol: Kayıt Ol