SQL, bilindiği üzere ilişkisel veritabanları üzerinde hüküm süren bir dil olarak karşımıza çıkar. Tablolar arasında dolaşarak veri almak, ekleme, güncelleme ve silme gibi işlemleri gerçekleştirmek için kullanılır. Büyük veri setlerini işlemek ve veritabanları arasında bağlantılar kurmak için idealdir.
Öte yandan, DAX daha spesifik bir alana odaklanmıştır. Microsoft’un Power BI, Excel ve SQL Server Analysis Services gibi iş zekası ve veri analizi araçları için geliştirilmiştir. Özellikle çok boyutlu veri modellerinde hesaplamalar yapmak ve özetlemeler oluşturmak için tercih edilir. DAX’ın sözdizimi SQL’e benzer olsa da, çalışma alanı farklıdır; tablo ve sütunlar üzerinde değil, veri modelindeki özellikler üzerinde işlem yapar.
Dax bir dil değil, işlevlerden işleçlerden oluşan ve elimizde olan verilerden bilgiler elde etmemizi sağlayan bir koleksiyondur aslında.
Bir örnek üzerinden bu farkı daha iyi anlayabiliriz. Diyelim ki bir mağazanın satış verilerini ele alalım ve bu verileri kullanarak bir rapor oluşturmak isteyelim. İşte burada SQL ve DAX’ın farklı yaklaşımlarını görebiliriz.
SQL’de, bir mağazanın ürün kategorilerine göre toplam satışları bulmak için aşağıdaki gibi bir sorgu kullanabiliriz:
sql örneği
SELECT ProductCategory, SUM(SalesAmount) AS TotalSales
FROM Sales
GROUP BY ProductCategory;
DAX ise Power BI veya Excel gibi araçlar için tercih edilen bir koleksiyon olduğundan, aynı sonucu elde etmek için farklı bir yöntem izler:
dax örneği
SUMMARIZECOLUMNS(
Sales[ProductCategory],
"TotalSales", SUM(Sales[SalesAmount])
)
Her iki sorgu da aynı sonucu üretecektir. Ancak buradaki kilit fark, SQL sorgusunun genel amaçlı olması ve herhangi bir SQL uyumlu veritabanında kullanılabilir olmasıdır. Diğer yandan, DAX sorgusu genellikle Microsoft’un iş zekası araçlarında kullanılır ve çok boyutlu veri analizi için optimize edilmiştir. Bu nedenle, hangisini kullanacağınız, hangi platformda çalıştığınıza ve hangi tür veri analizi işlemleriyle uğraştığınıza bağlı olacaktır.
Serdal Aydoğmuş
https://www.saydogmus.com/