DAX (Data Analysis Expressions) Nedir?
Sözlük

DAX (Data Analysis Expressions) Nedir?

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

DAX, Power BI, Power Pivot ve Analysis Services'te hesaplama yazmak için kullanılan formül dilidir. Ölçü, bağlam ve örnek formülle açıklanır.

DAX nedir?

DAX, Data Analysis Expressions sözcüklerinin kısaltmasıdır. Microsoft'un Analysis Services, Power BI ve Excel'deki Power Pivot içinde kullandığı bir formül ifade dilidir. İşlevlerden, işleçlerden ve değerlerden oluşur; tablo biçimli veri modellerindeki tablolar ve sütunlar üzerinde hesaplama ve sorgu yazmanızı sağlar.

Excel formüllerine benzer görünür, fakat tek hücre yerine tablo ve sütunlarla çalışır. Bu yüzden DAX bir programlama dili olmaktan çok, veri modelinin üstüne yazılan bir hesaplama dilidir: raporda bir sayıyı, o sayının hangi filtrelerle hesaplanacağını belirleyerek tanımlarsınız.

DAX nerelerde kullanılır?

Microsoft'un dokümantasyonuna göre DAX formülleri şu yerlerde yaşar:

  • Ölçüler (measure): Rapordaki filtrelere göre sonucu değişen dinamik hesaplamalar. Toplam satış, ortalama sepet tutarı gibi.
  • Hesaplanan sütunlar (calculated column): Mevcut bir tabloya eklenen ve her satır için hesaplanıp veri modelinde saklanan sütunlar.
  • Hesaplanan tablolar (calculated table): Formülle üretilen ve modelde diğer tablolar gibi ilişki kurulabilen tablolar.
  • Satır düzeyi güvenlik (row-level security): Bir role hangi satırların görünür olacağını belirleyen doğru/yanlış koşulları.

Bunların dışında DAX sorguları, SQL Server Management Studio ve DAX Studio gibi araçlarda tablo döndüren EVALUATE ifadeleriyle de yazılır.

Küçük bir örnek

Satışlar tablosunda Tutar sütunu olduğunu varsayalım. En basit ölçü şöyle yazılır:

Toplam Satış = SUM(Satışlar[Tutar])

Bu ölçüyü rapora koyduğunuzda tek bir sayı görmezsiniz; tabloda ürün kategorisine, grafikte aya, dilimleyicide seçtiğiniz bölgeye göre her hücre için ayrı hesaplanır. Formül aynıdır, değişen şey bağlamdır.

Bir adım ileri gitmek için CALCULATE işlevi kullanılır. Bu işlev, bir ifadeyi değiştirilmiş filtrelerle hesaplar. Örneğin yalnız belirli bir bölgenin satışını ya da bütün filtreler kaldırıldığında genel toplamı bulmak için kullanılır. Ölçülerin çoğu önce SUM ve COUNT gibi toplulaştırma işlevleriyle başlar, sonra CALCULATE ve zaman zekası işlevleriyle genişler.

Bağlam: DAX'ı anlamanın anahtarı

DAX'ta sonuç, formülün hangi bağlamda hesaplandığına bağlıdır. Microsoft'un anlatımıyla satır bağlamı, sorgu bağlamı ve filtre bağlamı vardır.

Satır bağlamı "geçerli satır" demektir; hesaplanan sütunlarda her satır kendi değerleriyle işlenir. Filtre bağlamı ise sütunlarda hangi değerlerin geçerli olduğunu belirler. Rapordaki dilimleyiciler, satır ve sütun başlıkları ve formülün içindeki filtre ifadeleri bu bağlamı oluşturur.

Bir ölçünün neden beklediğiniz sayıyı vermediğini çoğunlukla bağlam açıklar. Öğrenmeye basit formüllerle başlamak ve bağlamın nasıl değiştiğini görmek en sağlam yoldur.

DAX, SQL ve Excel formüllerinden nasıl ayrılır?

Excel formülü hücre ve aralıklarla çalışır; DAX ise yalnızca tablolar ve sütunlarla çalışır, tek tek hücreye ya da aralığa başvurmaz. Bir DAX işlevi her zaman bütün bir sütunu ya da tabloyu işaret eder, belirli değerler için filtre eklersiniz.

SQL veriyi veritabanından çekmek ve birleştirmek için kullanılır. DAX ise veriyi modele aldıktan sonra, ilişkilerle bağlı tablolar üzerinde rapora dönük ölçüm tanımlar. Veriyi temizleyip dönüştürmek için Power Query kullanılır, o hesaplama DAX'ın işi değildir. İkisi birlikte çalışır: Power Query veriyi hazırlar, model ilişkileri kurar, DAX ölçüleri tanımlar.

Mindset programlarında DAX

Mindset kataloğunda DAX müfredatta açıkça yer alır. Power BI İleri Düzey ve DAX programında "DAX Diline Derinlemesine Giriş", "CALCULATE ve Filtre Bağlamında Ustalaşmak" ve "Zaman Zekası ve Dönem Analizi" modülleri bulunur. Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı'nda "DAX Analiz Dili ve Kullanımı", Excel Power Query ve Power Pivot programında ise "DAX Temelleri Power Pivot İçin" başlığı vardır. Power BI ile Proje Raporlama programı da "DAX ile Proje Metrikleri" modülünü içerir.

İlgili Mindset programı

Power BI İleri Düzey ve DAX

Sık sorulanlar

Sık sorulan sorular

DAX bir programlama dili midir?

Teknik olarak formül ifade dilidir. Döngü yazıp uygulama geliştirmezsiniz; tablolar ve sütunlar üzerinde ölçü, hesaplanan sütun, hesaplanan tablo ve güvenlik kuralı tanımlarsınız. Yine de işlevler, değişkenler ve bağlam kavramı nedeniyle yazılım mantığına yakın düşünmeyi gerektirir. Excel formüllerini bilmek öğrenmeyi kolaylaştırır ama bağlam kavramı yeni bir bakış ister.

Yalnız Power BI'da mı kullanılır?

Hayır. Microsoft dokümantasyonuna göre DAX, Analysis Services, Power BI ve Excel'deki Power Pivot'ta ortak kullanılan dildir. Ürüne göre desteklenen işlevler değişebilir, bu yüzden kullandığınız ürünün kendi belgelerine bakmak gerekir. Örneğin satır düzeyi güvenlik Excel'deki Power Pivot'ta bulunmaz.

Ölçü ile hesaplanan sütun arasındaki fark nedir?

Hesaplanan sütun, formül girildiğinde her satır için hesaplanır ve veri modelinde saklanır; veri yenilenene kadar sabittir. Ölçü ise raporda her hücrenin bağlamına göre o anda hesaplanır ve sonucu filtrelerle değişir. Toplam, oran ve karşılaştırma gibi raporlama hesapları genelde ölçü olarak yazılır.

DAX'a hangi bilgiyle başlanmalı?

Tablo, sütun ve ilişki kavramlarını anlamak yeterli bir başlangıçtır. Önce SUM ve COUNT gibi basit toplulaştırmalarla ölçü yazın, ardından CALCULATE ile filtreleri değiştirmeyi deneyin. Kendi Power BI Desktop dosyanızda küçük bir veri modeliyle çalışmak, örnekleri okumaktan daha hızlı öğretir.

DAX Nedir? Power BI Formül Dilinin Tanımı