Ana içeriğe geç
Kesit Power BI
Orta · Yönetim ve Güvenlik

Veri yenileme: türler, zamanlama, sınırlar ve hata teşhisi

Yenilemenin altı türü ve depolama moduna göre hangisinin geçerli olduğu; zamanlama, lisans sınırları, zamanlamanın neden kendiliğinden kapandığı; yenileme geçmişini okumak ve tazelik ölçüleri.

Uygulamada aç, 9 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Sabah 09:00. Genel müdür dünkü satışı soruyor, rapor üç gün öncesini gösteriyor. Yenileme “başarılı”, kimse e-posta almadı. Sorun nerede? Power BI’da tek bir yenileme yoktur; altı farklı şey aynı adla anılır. Doğru teşhis önce hangisinden söz ettiğini ayırmakla başlar.

Yenilemenin türleri

TürNe yapar?Dikkat
Veri yenilemeKaynaktan veriyi Import modele alırDirectQuery ve canlı bağlantıda yoktur
OneDrive yenilemesi.pbix, .xlsx, .csv dosyasıyla eşitler; yaklaşık saatte birAsıl kaynaktan veri çekmez
Sorgu önbelleğiKapasitede sorgu sonuçlarını saklarHer veri yenilemesi geçersiz kılar
Kutucuk yenilemePano kutucuklarını güncellerImport’ta veriyle birlikte; DirectQuery’de yaklaşık saatte bir
Görsel yenilemeRapor görsellerini yeniden sorgularCanlı bağlantı için geçerlidir
Şema yenilemeSütun ekleme, silme, ad değişikliğini alırImport, DirectQuery ve Direct Lake’te
ModVeri yenileme“Güncel” ne demek?
ImportZamanlanmış, isteğe bağlıSon yenileme anı
DirectQueryYokSorgu anı; kutucuklar saatlik
Canlı bağlantıYokKaynak modelin tazeliği
Direct LakeÇerçeveleme (framing)Delta’nın işaret edilen sürümü; “Fabric’te anlam modeli” dersi

Yenileme yolları

Sınırlar

Pro (paylaşılan)PPU, Premium, Fabric
Zamanlanmış yenilemeGünde 8Günde 48
API ile tetikleme8’e dahilSabit sayı yok; kapasiteye bağlı, kuyruğa girebilir
Şimdi yenile8’e dahil değilKapasiteye bağlı
Süre2 saat5 saat (XMLA ile aşılabilir)
BaşlamaSeçilen saatten en fazla 5 dk önce, hedef 15 dk içinde; kaynak azsa 1 saate kadar gecikebilir

Tam yenileme bellekte modelin yaklaşık iki katını ister, çünkü sorgulara hizmet için eski kopya durur. 1 GB’ı aşan ya da saatler süren modelde “Büyük modeller” dersindeki artımlı yenilemeyi düşün. Günde 48 slotunu doldurmak iyi bir hedef değildir: veri sık değişiyor ve kaynak dayanıyorsa DirectQuery daha doğru olabilir.

Zamanlama neden kendiliğinden kapanır?

OlaySonuçNe yapılır?
Art arda 4 hata ya da süresi dolmuş kimlik bilgisiZamanlama kapanırKök nedeni çöz, zamanlamayı yeniden aç. Eşik değiştirilemez.
2 ay görüntülenmemeZamanlama duraklar, sahibe e-posta giderRaporu aç ya da Şimdi yenile

Hata e-postasını kişisel kutuya değil ekip listesine yönlendir; biri izne çıktığında rapor sessizce eskir.

Yenileme geçmişini okumak

Anlam modeli ayarları → Yenileme geçmişi. Tür, başlangıç, bitiş, durum ve hata iletisi burada. Teşhis sırası:

BelirtiKök nedenÇözüm
Kimlik bilgileri geçersizParola değişti, OAuth süresi dolduVeri kaynağı kimlik bilgilerini güncelle, zamanlamayı aç
Veri kaynağı tanımlı değil, ağ geçidi çevrim dışıBağlantı eşleşmemiş, makine kapalı“On-premises data gateway” dersi
Sütun bulunamadıKaynak şeması değiştiPower Query adımını düzelt, yeniden yayımla
Zaman aşımıModel büyük, katlama yokSütun azalt, katlamayı koru, artımlı yenileme
Bellek hatasıKapasite dolu, eşzamanlı yenilemeSaatleri yay, gereksiz sütun çıkar
Başlangıç gecikiyorKapasite yük altındaSaatleri kaydır, “Kullanım ve izleme” dersi
“Başarılı” ama eski veriÜst adım bitmeden çalıştı ya da kaynak eskiOlaya bağlı zincir, tazelik göstergesi

En tehlikelisi son satırdır: yenileme başarılıdır ve veri yine eskidir. “Son yenileme” zaman damgası yanlış güven verir. Doğru sinyal, olgu tablosundaki en son iş tarihidir:

Veri Gecikmesi (gün) =
DATEDIFF(CALCULATE(MAX(Satislar[Tarih]), REMOVEFILTERS()), DATE(2024, 12, 31), DAY)

Uygulama verisi 2024 sonunda bittiği için referans tarih sabit; gerçek modelde TODAY() yazılır. Eşiği sıfır yapma. Gece yenilenen modelde en son iş tarihi dündür: fark her sabah 1 çıkar, kart hep kırmızı kalır ve sürekli yanan alarma kimse bakmaz. Kabul edilen gecikmeyi işin sahibiyle konuş. Her gün satış olan ve günlük yenilenen modelde fark 1’den büyükse kırmızıya çevir. Hafta sonu satış yoksa Pazartesi farkı 3 olur: eşiği buna göre ver ya da iş günü takvimiyle say. Az satan kategoride daha geniş eşik gerekir; “Bayat Rapor” vakasında 7 gün kullanılıyor.

Tazelik Rengi =
VAR Gecikme = DATEDIFF(CALCULATE(MAX(Satislar[Tarih]), REMOVEFILTERS()), DATE(2024, 12, 31), DAY)
RETURN IF(Gecikme > 1, "#C0392B", "#2E7D32")

Geçmişi sayıya çevirmek

Yenileme geçmişi REST API ile alınabilir, bir tabloya yazılabilir. Elde edince “hangi model kaç kez düştü?” bir DAX sorgusu olur:

EVALUATE
VAR Gecmis =
    DATATABLE("Model", STRING, "Durum", STRING, "Dakika", INTEGER, {
        {"Satış", "Başarılı", 12}, {"Satış", "Başarılı", 14}, {"Satış", "Hata", 2},
        {"Stok", "Başarılı", 41}, {"Stok", "Hata", 120}, {"Stok", "Hata", 120}
    })
RETURN
    GROUPBY(Gecmis, [Model], "Hata", SUMX(CURRENTGROUP(), IF([Durum] = "Hata", 1)), "Süre", SUMX(CURRENTGROUP(), [Dakika]))

Pro’da 120 dakikayı gören Stok modeli büyük olasılıkla süre sınırına çarpıyor. Bu tablo gerçek değil, sorgunun kalıbını göstermek için yazıldı.

Kontrol listesiHangi tür yenilemeden söz edildiği belli mi? · Kimlik bilgisi kişiye değil, kurumsal hesaba mı bağlı? · Hata bildirimi ekip listesine gidiyor mu? · Saatler zirve dışına yayıldı mı? · Yenileme sırası (veri akışı → model) olaya mı bağlı? · Raporda iş tarihi gösteren tazelik kartı var mı? · Gizlilik düzeyi Service’te yeniden verildi mi?
Alıştırmalara geç (9)