Bir Excel tablosunda binlerce satır veriyle uğraşırken standart formüllerin yetersiz kaldığı anı mutlaka yaşamışsınızdır. İşte tam bu noktada Excel DAX devreye giriyor. DAX (Data Analysis Expressions), Microsoft’un Power Pivot, Power BI ve Analysis Services gibi araçlarında kullanılan güçlü bir formül dilidir. Klasik Excel formüllerinden farklı olarak, DAX veri modelleri üzerinde çalışır ve milyonlarca satırı saniyeler içinde analiz edebilir.
Kısa Tanım: DAX, ilişkisel veri modelleri üzerinde hesaplama yapmanızı sağlayan, SQL ve Excel formüllerinin melezi bir dildir. Hücre bazlı değil, tablo ve sütun bazlı düşünür.
DAX Ne İşe Yarar?
Geleneksel Excel formülleri hücre referanslarıyla çalışır: A1, B2:B100 gibi. DAX ise bambaşka bir mantıkla işler. Tüm tabloyu veya sütunu bir bütün olarak değerlendirir, ardından bağlama (context) göre sonuç üretir.
DAX’ın öne çıktığı senaryolar:
- Büyük veri setleri: 100.000+ satırlık tablolarda SUMIF/COUNTIF kombinasyonları yavaşlar. DAX bu verileri optimize edilmiş şekilde işler.
- Çoklu tablo ilişkileri: Farklı tablolar arasında VLOOKUP zincirleri kurmak yerine, DAX ilişkisel modelde doğrudan hesaplama yapar.
- Dinamik hesaplamalar: Kullanıcı bir filtre değiştirdiğinde sonuçlar otomatik güncellenir.
- Zaman zekası: Geçen yılın aynı dönemi, yılbaşından bugüne toplam gibi hesaplamalar tek satır kodla yapılır.
Kilit Çıkarım: DAX, Excel’in “steroid almış” hali değil; tamamen farklı bir hesaplama paradigmasıdır.
Power Pivot ve DAX İlişkisi
Power Pivot, Excel içinde gömülü bir veri modelleme motorudur. DAX formülleri bu motor üzerinde çalışır. İkisi birbirinden ayrı düşünülemez: Power Pivot veriyi depolar ve ilişkilendirir, DAX ise bu veri üzerinde hesaplama yapar.
Power Pivot’ta DAX kullanımının iki temel yolu vardır:
| Özellik | Calculated Column (Hesaplanmış Sütun) | Measure (Ölçü) |
|---|---|---|
| Hesaplama zamanı | Veri yüklendiğinde | Rapor görüntülendiğinde |
| Depolama | Modelde yer kaplar | Sadece formül saklanır |
| Bağlam | Satır bazlı (Row Context) | Filtre bazlı (Filter Context) |
| Kullanım alanı | Kategorilendirme, gruplama | Toplamlar, ortalamalar, KPI’lar |
Pro İpucu: Mümkün olduğunca Measure kullanın. Calculated Column dosya boyutunu şişirir ve performansı düşürür.
Temel DAX Kavramları
DAX öğrenirken en çok kafa karıştıran konu “context” (bağlam) meselesidir. İki tür bağlam vardır:
Row Context (Satır Bağlamı)
Hesaplanmış sütunlarda otomatik oluşur. Formül her satır için ayrı ayrı çalışır. Excel’deki sürükleme mantığına benzer ama tablo genelinde geçerlidir.
Filter Context (Filtre Bağlamı)
PivotTable’da bir satır veya sütun seçtiğinizde oluşan filtreleme durumudur. Measure’lar bu bağlama göre sonuç döndürür. Örneğin “Toplam Satış” measure’ı, seçili ürün kategorisine göre farklı değerler gösterir.
Sık kullanılan DAX fonksiyonları:
- SUM, AVERAGE, COUNT: Temel toplama fonksiyonları
- CALCULATE: Filtre bağlamını değiştiren en güçlü fonksiyon
- FILTER: Tablo üzerinde koşullu filtreleme
- RELATED: İlişkili tablodan veri çekme
- SUMX, AVERAGEX: Satır satır iterasyon yapan fonksiyonlar
- DATEADD, SAMEPERIODLASTYEAR: Zaman zekası fonksiyonları
Basit DAX Örnekleri
Teoriden pratiğe geçelim. Aşağıdaki örnekler Power Pivot’ta doğrudan kullanılabilir:
Örnek 1: Toplam Satış Measure’ı
Toplam Satış = SUM(Satışlar[Tutar])
Bu formül, Satışlar tablosundaki Tutar sütununu toplar. PivotTable’da hangi filtre aktifse, ona göre sonuç döner.
Örnek 2: Geçen Yıl Karşılaştırması
Geçen Yıl Satış = CALCULATE([Toplam Satış], SAMEPERIODLASTYEAR(Tarih[Tarih]))
Mevcut filtredeki tarihin bir yıl öncesindeki satışı getirir. Yıllık büyüme analizleri için vazgeçilmez.
Örnek 3: Koşullu Toplam
Yüksek Değerli Satışlar = CALCULATE([Toplam Satış], Satışlar[Tutar] > 1000)
Sadece 1000 TL üzeri satışları toplar. SUMIF’in DAX karşılığı olarak düşünebilirsiniz.
Örnek 4: Yüzde Hesaplama
Kategori Payı = DIVIDE([Toplam Satış], CALCULATE([Toplam Satış], ALL(Ürünler[Kategori])))
Seçili kategorinin toplam satış içindeki payını hesaplar. ALL fonksiyonu filtre bağlamını kaldırır.
Kilit Çıkarım: CALCULATE fonksiyonunu anlamadan DAX öğrenilemez. Bu fonksiyon, filtre bağlamını manipüle etmenin anahtarıdır.
Doğru Bilinen Yanlışlar
DAX hakkında yaygın bazı yanılgılar:
- “DAX sadece Power BI içindir”: Yanlış. DAX, Excel Power Pivot’ta 2010’dan beri kullanılıyor. Power BI, Analysis Services ve Excel aynı DAX motorunu paylaşır.
- “Excel formüllerini biliyorsan DAX kolaydır”: Kısmen doğru. Sözdizimi benzer olsa da bağlam kavramı tamamen farklıdır. SUMIF mantığıyla CALCULATE yazmaya çalışmak sık yapılan bir hatadır.
- “Her hesaplama için DAX gerekir”: Hayır. Basit toplamlar ve ortalamalar için Power Pivot’un otomatik özetleme özelliği yeterlidir. DAX, karmaşık iş mantığı gerektiren durumlarda devreye girer.
Sıkça Sorulan Sorular
DAX öğrenmek ne kadar sürer?
Temel fonksiyonları birkaç günde kavrayabilirsiniz. Ancak CALCULATE ve bağlam kavramlarını özümsemek 2-4 hafta pratik gerektirir. İleri seviye zaman zekası ve performans optimizasyonu aylarca sürebilir.
Power Pivot olmadan DAX kullanılabilir mi?
Excel’de hayır. DAX, bir veri modeli gerektirir. Ancak Power BI Desktop ücretsizdir ve DAX pratiği için idealdir.
DAX mı SQL mi öğrenmeliyim?
Farklı amaçlara hizmet ederler. SQL veri çekmek ve dönüştürmek için, DAX ise analitik hesaplamalar için kullanılır. Veri analitiğiyle ilgileniyorsanız ikisini de bilmek avantaj sağlar.
Hangi Excel sürümünde Power Pivot var?
Excel 2010 Professional Plus’tan itibaren mevcuttur. Excel 2016 ve sonrasında tüm sürümlerde (Home dahil) Power Pivot eklentisi bulunur, ancak etkinleştirilmesi gerekir.
Sonuç
DAX, Excel’in sınırlarını aşmak isteyen herkes için kritik bir beceridir. Power Pivot’ta veri modelleme mantığını kavradığınızda, milyonlarca satırlık veriyi saniyeler içinde analiz edebilir, dinamik raporlar oluşturabilirsiniz.
Başlangıç için şu adımları izleyin:
- Power Pivot eklentisini etkinleştirin (Excel seçeneklerinden COM Eklentileri).
- Basit bir veri setiyle SUM ve AVERAGE measure’ları oluşturun.
- CALCULATE fonksiyonuyla filtre bağlamını değiştirmeyi deneyin.
- Zaman zekası fonksiyonlarına geçin.
DAX formülleri ilk başta karmaşık görünebilir, ancak bağlam kavramını bir kez içselleştirdiğinizde Excel’deki veri analizi yaklaşımınız tamamen değişecektir. Artık VLOOKUP zincirleri ve yavaş SUMIF’ler geride kalıyor.