Ana Sayfa Power BI POWER BI’DA DAX KAVRAMI
Power BI

POWER BI’DA DAX KAVRAMI

Paylaş
Paylaş

Power BI’nin veri modelleme ve hesaplama dilini oluşturan DAX (Data Analysis Expressions), raporlama ve iş zekası uygulamalarında gelişmiş veri analizi yapmanızı sağlayan güçlü bir fonksiyon seti ve ifade dilidir.

DAX, Excel’deki formüllere benzer bir yapıya sahip olmakla birlikte, çok boyutlu veri modelleri üzerinde karmaşık hesaplamalar yapma olanağı tanır. Bu sayede Power BI, Excel Power Pivot, SQL Server Analysis Services (Tabular) gibi platformlarda tablolar, sütunlar ve önceden hesaplanmış ölçüler (measure’lar) üzerinden ileri düzey analitik hesaplamalar gerçekleştirebilirsiniz.

Aşağıda DAX hakkında detaylı bilgiler, kavramlar ve örnekler yer almaktadır:

DAX’ın Temel Kavramları

  1. Hesaplanmış Sütun (Calculated Column):
    Hesaplanmış sütunlar, veri modelinizde bulunan bir tabloya yeni bir sütun eklemek için DAX formüllerini kullanır. Bu sütunlar, veri yenilendiğinde otomatik olarak yeniden hesaplanır. Hesaplanmış sütunlar, her bir satır için hesaplama yaparak o satırın bağlamında çalışır.

    Örneğin, bir “Satış” tablosundaki “Toplam Tutar” sütunu, [Miktar] * [Birim Fiyat] formülüyle hesaplanabilir.
  2. Ölçü (Measure):
    Ölçüler, raporda görselleştirmeler oluşturulurken hesaplanan dinamik değerlerdir. Hesaplanmış sütunlardan farklı olarak ölçüler, satır bağlamından ziyade bir filtre veya görselleştirme bağlamında hesaplanır. Bu, aynı ölçünün farklı slicer, filtre veya görselleştirme kombinasyonları altında farklı sonuçlar vermesini sağlar.

    Örneğin, “Toplam Satış” ölçüsü, SUM(Satış[Toplam Tutar]) gibi bir DAX ifadesiyle tanımlanabilir. Bu ölçü tabloya bağlı olarak farklı ürünler, yıllar veya bölgeler için ayrı ayrı toplamları otomatik olarak hesaplar.
  3. Tablo Fonksiyonları:
    DAX, tablo döndüren fonksiyonlar içerir. Bu fonksiyonlar genellikle filtre bağlamını değiştirmek, yeni tablolara ulaşmak veya mevcut tablo verilerini dönüştürmek için kullanılır.

    Örneğin, FILTER(), belirli bir koşulu sağlayan satırları içeren bir tablo döndürür; ALL(), ilgili tablonun veya kolonun filtrelerini kaldırarak bağlamdan bağımsız bir hesaplama yapılmasına olanak tanır.
  4. Bağlam (Context):
    DAX’ta bağlam (context), bir ifadenin nasıl değerlendirileceğini belirler. İki temel bağlam vardır: satır bağlamı (row context) ve filtre bağlamı (filter context).
    • Satır bağlamı: Hesaplanmış sütunlarda veya ITERATOR fonksiyonlarında (örneğin SUMX, AVERAGEX) her bir satır için geçerli olan koşullar.
    • Filtre bağlamı: Görsellerde, dilimleyicilerde (slicers), filtrelerde veya diğer koşullarda veri alt kümelerine uygulanan sınırlamalar. Ölçüler genellikle filtre bağlamıyla etkileşim halindedir.

DAX Fonksiyon Kategorileri ve Örnekler

  1. Toplama Fonksiyonları (Aggregation Functions):
    • SUM(): Bir kolonun sayısal değerlerini toplar.
      Örnek:
      Toplam Satış = SUM(Satış[Toplam Tutar])
    • AVERAGE(): Belirtilen kolonun ortalamasını alır.
      Örnek:
      Ortalama Fiyat = AVERAGE(Urunler[Birim Fiyat])
    • MIN(), MAX(), COUNT(), COUNTROWS() gibi diğer fonksiyonlar da benzer şekilde kullanılır.
  2. Zaman Zekası (Time Intelligence) Fonksiyonları:
    Zaman zekası fonksiyonları, tarih tablolarıyla etkileşime geçerek farklı zaman dilimlerinde karşılaştırmalar yapmanızı sağlar.
    • TOTALYTD(): Yıl başından belli bir tarihe kadar olan toplamı hesaplar.
      Örnek:
      YTD Satış = TOTALYTD(SUM(Satış[Toplam Tutar]), Takvim[Tarih])
    • PREVIOUSMONTH(), SAMEPERIODLASTYEAR(), DATEADD() gibi fonksiyonlarla önceki dönemlere göre değişim oranları veya farkları hesaplanabilir.
  3. Filtre Fonksiyonları:
    Veri modelinizdeki filtre bağlamını değiştirmek veya özel koşullara göre hesaplama yapmak için kullanılır.
    • CALCULATE(): Belirli bir ifadenin filtre bağlamını değiştirerek hesaplama yapar.
      Örnek:
      Sadece Belli Ürün Satışı = CALCULATE( SUM(Satış[Toplam Tutar]), Satış[Ürün Kategorisi] = "Elektronik" )
    • ALL(), ALLEXCEPT(), VALUES(), FILTER() gibi fonksiyonlar, tablo veya kolon bazlı filtre manipülasyonları yapar.
  4. Mantıksal ve Bilgi Fonksiyonları:
    Koşullu ifadeler, hata denetimleri, tür dönüşümleri gibi amaçlarla kullanılır.
    • IF(): Koşullu hesaplama yapar.
      Örnek:
      Fiyat Kategorisi = IF( AVERAGE(Urunler[Birim Fiyat]) > 100, "Pahalı", "Uygun" )
    • ISBLANK(), ISERROR(), ERROR(), SWITCH() gibi fonksiyonlar da bu kategoridedir.
  5. Matematiksel, Metinsel ve İstatistiksel Fonksiyonlar:
    Metin birleştirmeleri (CONCATENATE), yuvarlama işlemleri (ROUND), istatistiksel dağılımlar (MEDIAN, STDDEV), tarih-saati bölme (YEAR, MONTH, DAY) gibi fonksiyonlar da DAX içerisinde bulunur.

Detaylı Örnekler

  1. Hesaplanmış Sütun Örneği:
    Veri modelinizde bir “Satış” tablosu olduğunu varsayalım. Bu tabloda “Miktar” ve “Birim Fiyat” kolonları olsun. Yeni bir hesaplanmış sütunla her satırın toplam satış tutarını hesaplayalım.
    Toplam Tutar = Satış[Miktar] * Satış[Birim Fiyat] Bu hesaplanmış sütun her satırda ilgili ürünün adet başına fiyatını miktarla çarpar.
  2. Ölçü Örneği:
    Yukarıdaki “Toplam Tutar” değerlerini toplayarak genel toplam satış ölçüsünü oluşturalım. Bu sayede raporda farklı filtreler uygulandığında toplam satış dinamik olarak değişecektir.
    Toplam Satış = SUM(Satış[Toplam Tutar]) Bu ölçü bir karta, tabloya veya grafiğe yerleştirildiğinde seçilen filtrenin geçerli olduğu kategori, tarih aralığı veya coğrafi bölgeye göre güncellenen değerler elde edersiniz.
  3. Time-intelligence Örneği:
    Toplam satışların bir önceki yıla göre farkını hesaplamak istediğinizi düşünelim. Bir “Takvim” tablonuz ve “Tarih” kolonunuz olduğunu varsayalım. Öncelikle geçen yılın aynı dönemine ait satışları hesaplayalım:
    Geçen Yılın Satışı = CALCULATE( [Toplam Satış], SAMEPERIODLASTYEAR(Takvim[Tarih]) ) Ardından farkı bulmak için:
    Yıl Bazlı Fark = [Toplam Satış] - [Geçen Yılın Satışı]
  4. Filtre Manipülasyonu Örneği:
    Belirli bir ürün kategorisinin toplam satışını, diğer filtrelerden bağımsız olarak hesaplamak isterseniz ALL fonksiyonu kullanabilirsiniz:
    Elektronik Toplam Satış (Filtre Bağımsız) = CALCULATE( SUM(Satış[Toplam Tutar]), ALL(Satış), Satış[Ürün Kategorisi] = "Elektronik" ) Burada ALL(Satış) ifadesi, mevcut filtreleri kaldırarak hesaplamanın tüm “Satış” tablosu üzerinden yeniden yapılmasını sağlar ve ardından “Ürün Kategorisi = Elektronik” filtresi uygulanır.

Sonuç

DAX, Power BI ve benzeri platformlarda veri modelinizi zenginleştirerek karmaşık hesaplamalar, zaman bazlı karşılaştırmalar, kategorik özetler ve koşullu analizler yapmanızı mümkün kılar. DAX dilini iyi anlamak, veri modelleme prensiplerini kavramak ve bağlam kavramını özümsemek; raporlarınızı daha etkili, dinamik ve interaktif hale getirir. Zamanla pratik yaparak, DAX fonksiyonlarının gücünü farklı senaryolarda kullanmayı öğrenebilir ve daha gelişmiş iş zekası çözümlemeleri üretebilirsiniz.


🟢Eğitim talepleri için bizimle buradan iletişime geçebilirsiniz. 👉 https://ecv.microsoft.com/VC3RPPTT4U

🟢Linkedin Power BI Grubu
👉 https://www.linkedin.com/groups/9504703/

Paylaş
Yazar
İnan TUNC

Uzun yıllar üniversite, meslek lisesi, halk eğitim merkezi, kurs merkezi, eğitim akademisi gibi farklı kurumlarda eğitmen, öğretmen, yönetici ve teknik personel olarak çalıştım. Eğitim ve bilişim firmalarında e-ticaret, yazılım destek ve bilgi işlem uzmanı pozisyonlarında görev aldım. FMV Işık Üniversitesi'nde ve Ayvansaray Üniversitesi'nde öğretim görevlisi, eğitim uzmanı, uzaktan eğitim merkezi sorumlusu ve eğitim koordinatörü olarak görev yaptım. Şu anda Este Bilişim'de yolculuğuma devam ediyorum. Eğitim-Bilişim ile bağlantılı her çalışma benim için özeldir.

Bir yorum bırak

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar
Power BI

POWER BI’YA ALTERNATİF İŞ ZEKÂSI ARAÇLARI

Power BI gibi iş zekâsı, veri analizi ve görselleştirme amaçlarıyla kullanılan pek...

Power BI

POWER BI’DA KULLANILAN EN İYİ 10 EKLENTİ

Power BI raporlarınızı zenginleştirmek ve veri görselleştirme deneyiminizi bir üst seviyeye taşımak...

Power BI

POWER BI’DA VERİ ALMA KAYNAKLARI

Power BI’da Veri Alma Kaynakları Power BI, birçok farklı veri kaynağından veri...

Power BI

POWER BI’DA EN ÇOK KULLANILAN 10 DAX İŞLEVİ

Power BI‘da en çok kullanılan 10 DAX işlevini, argüman listelerini ve kullanım...