İş ilanlarında “Power BI bilgisi” yazar ama mülakatta sorulan çoğu zaman şudur: “Bir projeyi baştan sona nasıl yürüttün?” Bu ders o soruya cevap verebilmen için. Örnek proje: Anadolu Market satış müdürü haftalık toplantı için bir satış ve hedef panosu istiyor; süre dört hafta.
Yedi aşama
| Aşama | Soru | Çıktı |
|---|---|---|
| 1. Keşif | Kim, hangi kararı, ne sıklıkla verecek? | Rapor brifi, KPI tanımları, kabul kriterleri |
| 2. Veri değerlendirmesi | Veri nerede, erişimimiz var mı, ne kadar temiz? | Kaynak listesi, veri kalitesi notları, erişim talepleri |
| 3. Model | Olgu ve boyutlar neler, tanecik ne? | Yıldız şema, ölçüler, tarih tablosu |
| 4. Rapor | Sayfa hangi sırayla okunacak? | Sayfa taslağı, görseller, etkileşimler |
| 5. Kullanıcı kabul testi (UAT) | Rakamlar kaynakla tutuyor mu, kullanıcı işini yapabiliyor mu? | Test listesi, düzeltmeler, onay |
| 6. Canlıya alma | Kim, nereden, hangi yetkiyle erişecek? | Uygulama, erişim grupları, yenileme planı, duyuru |
| 7. Bakım | Rapor sağlıklı mı ve kullanılıyor mu? | Yenileme izleme, destek kanalı, değişiklik talepleri |
Keşif ve kabul kriterlerinin ayrıntısı “Talepten rapor brifine” dersinde; yayımlama ve yenileme “Yayımlama, yenileme ve yaşam döngüsü” dersinde; geliştirme / test / üretim ayrımı ve Git “Yaşam döngüsü” dersinde; test yöntemleri “Rapor kalitesi” konusunda.
Dört haftalık sprint planı
Küçük bir BI projesi için ağır bir Agile (çevik) kurulum gerekmez. Haftalık sprint, her hafta sonunda kullanıcıya kısa bir gösterim yeter:
| Hafta | Hedef | İşler | Hafta sonu gösterimi |
|---|---|---|---|
| 1 | Keşif ve veri | Brif görüşmesi; KPI tanımları (“net satış iptaller hariç”); kaynak erişimi; veri kalitesi taraması | Brif onayı, veri kalitesi notları |
| 2 | Model | Power Query temizliği; yıldız şema; tarih tablosu; temel ölçüler; kaynakla mutabakat | Ölçüler bir tabloda; rakamlar kaynakla karşılaştırıldı |
| 3 | Rapor | Sayfa taslağı; KPI kartları; kategori ve kanal kırılımı; detay sayfası; mobil düzen | Tıklanabilir taslak; geri bildirim listesi |
| 4 | Test ve canlı | UAT; düzeltmeler; RLS testi; uygulama yayımı; zamanlanmış yenileme; kullanıcı rehberi | Canlıya alma ve ilk toplantıda kullanım |
Risk listesi
| Risk | Belirti | Önlem |
|---|---|---|
| Veri kalitesi | Anadolu Market’te 7 müşterinin bölgesi boş; bu müşterilerin net satışı 63.852,75 ₺. Bölge raporunda “(Boş)” satırı çıkar | 1. haftada taramayı yap; kaynağa düzeltme talebi aç; raporda “Bölge belirsiz” etiketiyle göster |
| Erişim | Veritabanı izni ya da ağ geçidi 3. haftaya kadar gelmiyor | Erişim talebini 1. gün aç; geçici olarak örnek dışa aktarımla çalış |
| Kapsam kayması (scope creep) | “Bir de stok sayfası ekleyelim” istekleri | Brifteki kapsam listesi; ek istekler bir sonraki sürüme |
| Tanım çatışması | Finans ve satış farklı “net satış” kullanıyor | KPI tanımını iki tarafa imzalat; ölçü açıklamasına yaz |
| Kullanıcı ilgisi | Kullanıcı gösterimlere gelmiyor | Sponsoru gösterime davet et; ilk toplantıyı raporla yap |
RACI: kim ne yapar?
RACI her iş için dört rolü yazar: Responsible (işi yapan), Accountable (sonuçtan hesap veren, tek kişi), Consulted (görüşü alınan), Informed (bilgilendirilen).
| İş | Satış müdürü | BI geliştirici | Veri sahibi (BT) | BI ekip lideri |
|---|---|---|---|---|
| KPI tanımları | A | R | C | I |
| Veri erişimi | I | C | R | A |
| Model ve rapor | C | R | C | A |
| Kabul testi | A | R | I | C |
| Canlı sonrası destek | I | R | C | A |
Her satırda tam bir “A” olmalı. İki A varsa kimse sorumlu değildir.
Tamamlandı tanımı
Tamamlandı tanımı (definition of done), “bitti” demeden önce her işin geçmesi gereken ortak listedir:
- Toplam rakamlar kaynak sistemle mutabık (fark ve nedeni yazılı).
- Her ölçünün açıklaması (description) ve biçimi var; görünmesi gerekmeyen sütunlar gizli.
- RLS rolleri “Farklı görüntüle” ile test edildi.
- Sayfa, kabul kriterindeki sürede açılıyor (Performans Analizi ile ölçüldü).
- Erişilebilirlik: alternatif metin, sekme sırası, renk dışında işaret.
- Zamanlanmış yenileme çalışıyor ve hata bildirimi bir kişiye değil bir gruba gidiyor.
- Kullanıcı rehberi ve teknik belge güncel.
Teslim ve belgeleme
Projeyi bırakan kişi giderse rapor ölmemelidir. Teslim paketinde:
- Kullanıcı rehberi: Bir sayfa. Hangi soruya hangi sayfa cevap verir, filtreler nasıl kullanılır, kime sorulur.
- Teknik belge: Kaynaklar, yenileme planı, ağ geçidi, ölçü tanımları, RLS rolleri, bilinen veri sorunları.
- Kaynak kod: PBIP klasörü Git’te (bkz. “Yaşam döngüsü” dersi).
- Sahiplik: Çalışma alanında en az iki yönetici; anlam modelinin sahibi ve yedeği belli.
Canlı sonrası destek ve yenileme izleme
İlk iki hafta “hiper bakım” dönemidir: sorulara aynı gün cevap ver, her sabah yenilemeyi kontrol et. Sonra izlemeyi otomatikleştir. İki basit sağlık ölçüsü:
Veri tazeliği: Bir kırılımın son satış tarihi, modeldeki en son satış tarihinin kaç gün gerisinde? Anadolu Market’te Hediye kategorisinin son satışı 15 Aralık 2024; modelin son satışı 31 Aralık 2024. Fark 16 gün. Diğer kategoriler 0–1 gün geride. 16 gün Hediye için normal olabilir (az satan kategori), ama günlük satan bir kategoride alarm işaretidir.
Son Satış Tarihi =
VAR Son = MAX(Satislar[Tarih])
RETURN
IF(NOT ISBLANK(Son), FORMAT(Son, "dd.MM.yyyy"), "Satış yok")
Hiç satışı olmayan bir ürünün son satış tarihi boştur; boş tarihle gün farkı hesaplamak anlamsız sonuç verir. Bu yüzden tazelik ölçüsünü yazarken boş durumu açıkça ele al.
Tamlık: Bir sütunda boş değer ne kadar? Satislar[KargoGun] 1.620 satırın 131’inde boş. Ama boşların 121’i iptal satırı (iptal edilen sipariş kargoya çıkmaz), 10’u ise henüz kargoda. Teslim edilmiş satırlarda boş yok. Ders: boş her zaman hata değildir; tamlık ölçüsünü iş kuralına göre tanımla.
Boş Kargo Satırı = CALCULATE(COUNTROWS(Satislar), ISBLANK(Satislar[KargoGun]), Satislar[Durum] = "Teslim Edildi")
Bu ölçü sıfırdan farklı olursa veri hattında bir sorun var demektir. Service’te yenileme geçmişini izle, yenileme hatası bildirimlerini bir gruba yönlendir ve sağlık ölçülerini bir “Veri sağlığı” sayfasına koy.
Eski raporları emekliye ayırmak
Yeni pano canlıya çıkınca eski Excel ve rapor kopyaları kendiliğinden ölmez. Emeklilik süreci:
- Kullanım ölçümlerinden 30 günde açılmayan ya da yeni raporla aynı işi yapan raporları listele.
- Sahibine ve son kullanıcılarına “X tarihinde kaldırılacak, yerine şu rapor” diye haber ver.
- Raporu önce erişimden kaldır (silme), bir süre bekle; şikâyet gelmezse arşivle.
- Eski raporun anlam modeli başka içerik besliyorsa önce etki analizine bak.
Emeklilik, bakım yükünü azaltır ve “hangi rapor doğru?” sorusunu ortadan kaldırır.