Power BI ‘da DAX Fonksiyonları
Power BI ‘da DAX Fonksiyonları
DAX Diline Giriş
Data Analysis Expressions ifadesinin kısaltmasından oluşan DAX, veri analizinde kullanılan önemli fonksiyonları içinde barındıran bir dildir.
DAX , veri modelimizde bulunan verilerden yeni bilgiler elde etmeye yarayan, bir veya daha fazla değeri hesaplayıp döndürmek üzere bir formülde ya da ifadede kullanılan işlevlerin, fonksiyonların bütünüdür. Bu sebepten Power BI ‘da DAX fonksiyonları oldukça sık kullanılır.
Ayrıca farklı BI (İş Zekası) ve görselleştirme araçlarında da DAX fonksiyonları kullanılmaktadır.
DAX yaygın bir modelleme dilidir.
DAX ‘ ı Öğrenmek Gerçekten Zor Mudur?
DAX dilinde bazı benzersiz programlama kavramlarının kullanılmasından dolayı bu durum DAX’ ı genel olarak anlaşılması zor bir dil haline getirmektedir. Ayrıca DAX dilinin oldukça fazla fonksiyonu içinde barındırması ve bu fonksiyonların kullanımlarının farklılık göstermesi de DAX’ ı öğrenmesi zor bir dil haline getirmektedir.
Power BI ‘ da DAX Fonksiyonları yazısını hazırlamak için araştırma yaptığımda DAX ile ilgili çok güzel bir tanımına rastladım ve bu tanımı sizinle paylaşmak istedim.
“DAX basittir ama kolay değildir.”
DAX ‘ ın karmaşıklığını en kolay yoldan anlatan tanım bence bu olmalı. Fakat bu tanım gözünüzü asla korkutmasın. Hazırlayacağımız –sizin de görüşleriniz ve yorumlarınızın katkısıyla birlikte– DAX Dili yazı dizisiyle Power BI’ da DAX Fonksiyonlarını en etkin biçimde kullanabilecek duruma geleceğiz.
Böylece DAX dilinin hem yeteneklerinin neler olduğunu, hem de ne kadar güçlü bir dil olduğunu görmüş olacağız.
Sonuç olarak Power BI’ da DAX Fonksiyonlarını kullanarak daha nitelikli, daha ayrıntılı veriler içeren detaylı raporlar tasarlayabileceğiz.
İş Zekası Uzmanları İçin DAX Neden Önemli ?
Power BI’ da raporlama yapan İş Zekası Uzmanları, DAX kodu kullanmadan belli bir standartta Power BI ’ı etkin olarak kullanabilirler.
Fakat kapsamlı raporlar hazırlanırken Power BI ‘ da DAX fonksiyonlarını mutlaka iyi bilmek gerekir. Bu sebepten DAX diline hakim bir İş Zekası Uzmanı, Power BI ‘ın yanı sıra diğer BI ve görselleştirme araçlarını kullanma konusunda daha avantajlı bir konumda olacak ve buna göre değerlendirilecektir.
DAX ile Excel Arasındaki Fark Nedir ?
Excel ’de kullanıcılar fonksiyonları kullanarak hücre içlerindeki veriler üzerinde istedikleri işlemleri yaparlar. Fakat DAX kodları bu şekilde çalışmaz.
DAX fonksiyonları tablolara (tables) dayanarak çalışırlar. Bu tablolar kolonlardan (columns) meydana gelir ve kolonlar belirli bir veri tipinden (data type) oluşur. ( Integer(64 bit), date, string vb.)
DAX fonksiyonları ile bu veri tipine ait veriler üzerinden çeşitli yeni veriler ortaya çıkarılır ve raporlarda bu yeni veriler kullanılır.
DAX Veri Tipleri (Data Types)
Sayısal Veri Tipleri (Numeric Types)
Integer (64 bit) : (8 Bayt) Ondalık basamak içermeyen sayılardan oluşur. Tamsayılar pozitif veya negatif sayılar olabilir. -9,223,372,036,854,775,808 (-2^63) için 9,223,372,036,854,775,807 (2^63 -1) arasında değerler alabilir.
Decimal (Floating point-64 bit)): (8 Bayt) Ondalık basamak içeren sayılardan oluşur. -1.79E +308 ila 2.23E -308 arasındaki negatif değerler – Sıfır – 2.23E -308 ila 1.79E + 308 arası pozitif değerlerini kapsar. Ayrıca anlamlı basamakların sayısı 15 ondalık basamakla sınırlıdır.
Currency (Money) : Para birimi veri türü, dört ondalık basamak sabit hassasiyete sahip -922,337,203,685,477,5808 (-2^63) ila 922,337,203,685,477,5807 (2^63 -1) arasındaki değerlere izin verir.
Date (Date Time) : Tarih ve saatlerden oluşan veri tipleridir. Geçerli tarih aralığı 1 Ocak 1900 ’den başlayarak devam eder.
True/False (Boolean) : Sadece True (Doğru-1) ve False (Yanlış-0) değerlerini içeren veri tipidir. Mantıksal operatörlerle yapılan işlemlerin sonucu bu veri tipinde temsil edilir.
Diğer Veri Türleri
String : Unicode karakter dizisindeki karakterlerden oluşur. Metin biçiminde temsil edilen dizeler, sayılar veya tarihler olabilir.
Blank : DAX dilindeki Blank değerinin karşılığı SQL ‘ deki NULL ‘ dır. Blank değerini kullanarak boş bir değer atayabilir bu değer ile ilgili ileride ele alacağımız ISBLANK fonksiyonunu kullanarak çeşitli işlemler yapabilirsiniz.
Power BI’ da DAX Fonksiyonları Yazı Dizisinin İçeriği
DAX Dili için Türkçe bir kaynak oluşturmayı hedeflediğim yazı dizisinin içeriğinde neler olacak?
Aşağıda başlıkların bulunduğu listeye uygun olarak yazılarımı derleyip, başlıklara da ilgili yazılara link vererek sizinle paylaşmayı düşünüyorum.
- Power BI ‘da DAX Fonksiyonları ve DAX Diline Giriş
- DAX Nedir ?
- DAX ‘ ı Öğrenmek Gerçekten Zor Mu?
- İş Zekası Uzmanları İçin DAX Neden Önemli ?
- DAX ile Excel Arasındaki Fark Nedir ?
- DAX Veri Tipleri (DAX Data Types)
- DAX Fonksiyonları
- Toplayıcı (Aggregate) Fonksiyonları
- SUM
- AVERAGE
- MIN
- MAX
- SUMX (ve diğer X işlevleri)
- Sayma (Count) Fonksiyonları
- COUNT
- COUNTA
- COUNTBLANK
- COUNTROWS
- DISTINCTCOUNT
- Mantıksal (Logical) Fonksiyonlar
- AND
- OR
- NOT
- IF
- IFERROR
- SWITCH
- IN
- Bilgi (Information) Fonksiyonları
- ISBLANK
- ISNUMBER
- ISTEXT
- ISNONTEXT
- ISERROR
- Metin (Text) Fonksiyonları
- CONCATENTATE
- REPLACE
- SEARCH
- UPPER
- FIXED
- Tarih (Date) Fonksiyonları
- DATE
- HOUR
- NOW
- EOMONTH
- WEEKDAY
- TODAY
- Toplayıcı (Aggregate) Fonksiyonları
- Power BI’ da DAX İle Calculated Column (Hesaplanmış Kolonlar) ve Measures (Ölçüler) Oluşturma
- Calculated Columns,
- Measures,
- Power BI ‘ da Oluşturulan Örnek DAX Kodları
- DAX İfadelerinde Değişken Kullanımı
- VAR Kullanımı
- DAX Tablo Fonksiyonları
- FILTER, ALL, ALLEXCEPT, ALLSELECTED
- Birden fazla filtre kullanımı
- VALUES, DISTINCT, ALLNOBLANKROW, ISEMPTY
- DAX ’da Tablolar Arası İlişkiler
- İlişki fonksiyonları, RELATED, RELATEDTABLE, USERELATIONSHIP
- Calculated Tables
- Evaluation Context Kavramı
- Filter Context
- Row Context
- Context hataları
- Context ve tablolar arası ilişkilerin etkileşimi
- CALCULATE ve çoklu filtre kullanımı
- Filter ve CrossFilter
- VAR ve evaluation context etkileşimi
- Context Transition
- Iteretor Fonksiyonların Kullanımı
- Kullanım örnekleri
- Iterator vs Aggregator
- “X” fonksiyonlar (SUMX, AVERAGEX, MINX, MAXX )
- Tarih Tablosu ve Kullanımı
- CALENDAR, CALENDARAUTO, statik tarih tabloları
- M kodu ile Tarih tablosu oluşturma
- Çoklu tarih sütunlarıyla çalışma
- Power BI Raporlarından Derlenen Çeşitli DAX Örnekleri
Umarım sizi için faydalı bir yazı olmuştur. Konu ile ilgili sorunuz, öneriniz ve spesifik Power BI ‘da kullandığınız DAX fonksiyonları örneği var ise diğer arkadaşlarımızın da yararlanması ve bilgi birikimi oluşması açısından yorum bölümüne iletmenizi çok isterim.
Bir hatamız olduysa affola…
Görüşlerinizi, önerilerinizi ve sorularınızı yorum bölümüne yazabilirsiniz. Vakit buldukça cevaplamaya çalışacağım.
Takipte kalmanız dileğiyle…
Merhaba,
Power query, Power pivot kullanmaya başladım. ilk bakışta karşıma DAX fonksiyonları çıktı. Power BI’ üzerinde çalışmaya başlamadan önce power pivotu bağlı olarak da DAX’ ı çözmem gerektiğini düşünüyorum. Bu bağlamda bana tavsiye edebileceğiniz kaynak kitap var mıdır?
Teşekkürler.
Merhaba İlker Bey,
Power BI ‘a çalışmadan önce DAX ‘ı çözmem gerekiyor bölümüne çok katılmıyorum. DAX Fonksiyonları, Power BI için çok önemli evet ama Power BI ‘a başlamak için DAX ‘ı öğrenmeyi beklemeyin derim.
Yavaş yavaş başlayın Power BI ‘ı öğrenmeye daha fazla ayrıntıya girince DAX ‘ı bilmeniz kesinlikle gerekecektir. O zamana kadar DAX ‘ı da ilerletmiş olursunuz. Bir kitap öneremem ama Udemy‘den kurslara göz atmanızı tavsiye edebilirim. Sizin için daha yararlı olacaktır. Kolay gelsin.