Power BI Nedir ve Neden Tercih Edilir?

Power BI, Microsoft'un bulut destekli iş zekası platformudur. Excel kullanıcılarından veri mühendislerine kadar geniş bir kitleye hitap eden Power BI, interaktif dashboardlar ve self-servis raporlama imkânı sunar. Dünya genelinde milyonlarca kullanıcıya sahip olan platform, Gartner Magic Quadrant raporlarında yıllardır lider konumdadır.

Power BI'ın öne çıkan güçlü yanları:

  • Uygun fiyat: Pro lisans aylık $10, Premium kapasite ile büyük ölçekli dağıtım
  • Microsoft ekosistemi: Excel, Teams, SharePoint, Azure ile doğal entegrasyon
  • DAX dili: Güçlü ve esnek hesaplama motoru
  • Zengin görselleştirme: 100+ yerleşik ve marketplace görselleri
  • AI özellikleri: Copilot, Q&A, akıllı anlatılar

Power BI Mimarisi

Power Query: Verinin Mutfağı

Power Query, verilerinizi temizlediğiniz ve dönüştürdüğünüz katmandır. M dili ile yazılır ama çoğu işlem görsel arayüzden yapılabilir.

Power Query M
// Power Query M - Satış verisini temizleme örneği
let
    Kaynak = Sql.Database("sunucu", "VeriAmbari"),
    SatisTablosu = Kaynak{[Schema="dbo", Item="Satis"]}[Data],
    FiltreTarih = Table.SelectRows(SatisTablosu, each [Tarih] >= #date(2024, 1, 1)),
    TemizMiktar = Table.TransformColumns(FiltreTarih, {"Miktar", each if _ < 0 then 0 else _}),
    YeniSutun = Table.AddColumn(TemizMiktar, "Gelir", each [Miktar] * [BirimFiyat])
in
    YeniSutun
💡Power Query adımlarını her zaman anlamlı şekilde isimlendirin. "Changed Type" yerine "Tarih Kolonu Düzeltme" gibi isimler kullanmak, 6 ay sonra kodu anlamanızı kolaylaştırır.

DAX Formülleri: Power BI'ın Kalbi

DAX (Data Analysis Expressions), Power BI'da hesaplamalar oluşturmak için kullanılan formül dilidir. İki tür DAX ifadesi vardır:

Calculated Columns vs Measures

| Özellik | Calculated Column | Measure |

|---|---|---|

| Hesaplama zamanı | Veri yüklendiğinde | Sorgu sırasında |

| Bellek kullanımı | Yüksek (her satırda depolanır) | Düşük |

| Filtre bağlamı | Row context | Filter context |

| Kullanım | Gruplama, sıralama | KPI, toplam, yüzde |

Temel DAX Formülleri

DAX
// Toplam Satış - Basit toplam
Toplam Satış = SUM(Satış[Tutar])

// Önceki Yıl Satışı - Zaman zekası
Önceki Yıl Satış = 
    CALCULATE(
        [Toplam Satış],
        SAMEPERIODLASTYEAR(Takvim[Tarih])
    )

// Yıllık Büyüme Oranı
YoY Büyüme = 
    VAR OncekiYil = [Önceki Yıl Satış]
    VAR BuYil = [Toplam Satış]
    RETURN
        IF(
            NOT ISBLANK(OncekiYil),
            DIVIDE(BuYil - OncekiYil, OncekiYil)
        )

// Running Total - Kümülatif toplam
Kümülatif Satış = 
    CALCULATE(
        [Toplam Satış],
        FILTER(
            ALL(Takvim[Tarih]),
            Takvim[Tarih] <= MAX(Takvim[Tarih])
        )
    )
⚠️CALCULATE fonksiyonu DAX'ın en güçlü ve en kafa karıştırıcı fonksiyonudur. Filter context'i nasıl değiştirdiğini anlamak, DAX ustalığının anahtarıdır.

İleri Seviye DAX Desenleri

DAX
// ABC Analizi - Pareto sınıflandırma
ABC Sınıfı = 
    VAR ToplamSatis = [Toplam Satış]
    VAR KumulatifYuzde = 
        DIVIDE(
            CALCULATE(
                [Toplam Satış],
                FILTER(
                    ALL(Ürün),
                    [Toplam Satış] >= ToplamSatis
                )
            ),
            CALCULATE([Toplam Satış], ALL(Ürün))
        )
    RETURN
        SWITCH(
            TRUE(),
            KumulatifYuzde <= 0.80, "A",
            KumulatifYuzde <= 0.95, "B",
            "C"
        )

Veri Modelleme Best Practices

Power BI Star Schema Modeli
FACTSatış TablosuDIMÜrünDIMMüşteriDIMZamanDIMMağaza

Etkili bir Power BI raporu, doğru veri modeliyle başlar. Star Schema kullanmak Power BI'da altın standarttır:

  • Fact tabloları ortada: Satış, Sipariş, Stok Hareketi
  • Dimension tabloları etrafta: Müşteri, Ürün, Zaman, Mağaza
  • Tek yönlü ilişkiler: Dimension → Fact (çoğu zaman)
  • Ayrı tarih tablosu: CALENDARAUTO() veya özel takvim
DAX
// Otomatik tarih tablosu oluşturma
Takvim = 
    ADDCOLUMNS(
        CALENDARAUTO(),
        "Yıl", YEAR([Date]),
        "Ay", MONTH([Date]),
        "Ay Adı", FORMAT([Date], "MMMM"),
        "Çeyrek", "Ç" & QUARTER([Date]),
        "Hafta", WEEKNUM([Date]),
        "Gün Adı", FORMAT([Date], "dddd")
    )

Dashboard Tasarım İlkeleri

Etkili bir dashboard tasarlamak, sadece veri göstermek değil — hikaye anlatmaktır. İşte temel ilkeler:

KPI Dashboard Örneği
Toplam Satış₺2.4M▲ %12Müşteri Sayısı1,842▲ %8Ortalama Sipariş₺1,305▼ %3Dönüşüm%4.2▲ %1.5
  • 5 saniye kuralı: Kullanıcı dashboarda baktığında 5 saniyede ana mesajı anlamalı
  • Bilgi hiyerarşisi: En önemli KPI'lar sol üstte, detaylar aşağıda
  • Renk tutarlılığı: Yeşil = iyi, kırmızı = kötü, gri = nötr
  • Beyaz alan: Görseller arasında nefes aldıran boşluk
  • Etkileşim: Cross-filter ve drill-through ile derinleme imkânı

Performans Optimizasyonu

Power BI raporları yavaşladığında kontrol edilecek alanlar:

💡Performance Analyzer aracını kullanarak her görselin ne kadar sürede render edildiğini ölçün. 1 saniyenin üzerindeki görselleri optimize edin.

Sonuç

Power BI, doğru kullanıldığında kuruluşunuzun veri kültürünü dönüştürebilecek güçlü bir araçtır. Power Query ile verinizi hazırlayın, Star Schema ile modelleyin, DAX ile hesaplayın ve etkili dashboard tasarımı ile hikayenizi anlatın. Performans optimizasyonunu ihmal etmeyin — yavaş bir rapor, kullanılmayan bir rapordur.