DAX işlevleriyle çalışma
DAX işlevi kitaplığı, her biri belirli bir amaca yönelik olarak tasarlanmış olan yüzlerce işlevden oluşur.
DAX'ın çıkış noktası, Microsoft Excel 2010'daki Power Pivot eklentisi olduğundan Excel'de de bulunan 80'den farklı işlev mevcuttur. Bu, Microsoft tarafından Excel kullanıcılarının kısa sürede DAX ile verimli çalışabilmesi için bilinçli olarak izlenen bir tasarım stratejisidir.
Ancak veri modellemeye özgü oldukları için Excel'de bulamayacağınız birçok işlev de vardır:
- İlişki gezinti işlevleri
- Filtre bağlamı değiştirme işlevleri
- Yineleyici işlevler
- Akıllı zaman gösterimi işlevleri
- Yol işlevleri
İpucu
DAX işlevleriyle ilgili belgelere ulaşmak için web üzerinde arama yaparken DAX anahtar sözcüğünü ve ardından işlev adını girin.
Daha fazla bilgi için bkz. DAX işlev başvurusu.
Excel'den alınan işlevler
Sonraki bölümlerde Excel'de de kullanıldığı için aşina olabileceğiniz birçok farklı işleve yer verilmiştir.
DAX işlevi, IF
ilk bağımsız değişken olarak sağlanan bir koşulun karşılanıp karşılanmadığını test eder. Koşul TRUE ise değerlerden birini, FALSE ise diğer değeri döndürür. İşlevin söz dizimi şu şekildedir:
IF(<logical_test>, <value_if_true>[, <value_if_false>])
İpucu
Belgelerde köşeli ayraç içinde gösterilen işlev bağımsız değişkenleri isteğe bağlıdır.
logical_test sonucu FALSE ise ve value_if_false sağlanmadıysa işlev BLANK sonucunu döndürür.
, , COUNT
, AVERAGE
MIN
MAX
ve diğerleri gibi SUM
birçok Excel özetleme işlevi kullanılabilir. Tek fark, DAX'ta bir sütun başvurusu geçirmeniz, Excel'de ise bir hücre aralığı geçirmenizdir.
Excel'de bulunan çoğu matematik, metin, tarih ve saat, bilgi ve mantıksal işlev de mevcuttur. Örneğin, DAX'ta kullanılabilen excel işlevlerinin küçük bir örneği , , ROUND
, SQRT
, LEN
, LEFT
, RIGHT
, UPPER
, DATE
, , YEAR
, MONTH
, , NOW
FALSE
NOT
ISNUMBER
TRUE
AND
OR
ve IFERROR
işlevlerini içerir.ABS
Excel'den alınmayan işlevler
Modellemeye özgü olmayan ve Excel'den kaynaklanmayan iki kullanışlı DAX işlevi ve DIVIDE
işlevleridirDISTINCTCOUNT
.
DISTINCTCOUNT işlevi
Sütundaki DISTINCTCOUNT
ayrı değerlerin sayısını saymak için DAX işlevini kullanabilirsiniz. Bu işlev özellikle analiz çözümlerinde önemli fayda sağlar. Müşteri sayısının ayrı müşteri sayısından farklı olduğunu düşünün. Ayrı müşteri sayısı, yinelenen müşterileri hesaba katmaz ve bu durumda "Kaç müşteri?" sorusu yerine "Kaç farklı müşteri?" sorusu yanıtlanmış olur.
DIVIDE işlevi
Bölme elde DIVIDE
etmek için DAX işlevini kullanabilirsiniz. Pay ve payda ifadelerini geçirmeniz gerekir. İsteğe bağlı olarak alternatif sonucu temsil eden bir değer geçirebilirsiniz. İşlevin DIVIDE
söz dizimi:
DIVIDE(<numerator>, <denominator>[, <alternate_result>])
DIVIDE
işlevi otomatik olarak sıfıra bölme işlemini işler. Alternatif sonuç geçirilmediğinde ve payda sıfır veya BLANK olduğunda işlev BLANK sonucunu döndürür. Alternatif bir sonuç geçirildiğinde BLANK yerine bu sonuç döndürülür.
Bu işlev, ifadenizin öncelikle payda değerini test etmesi gereksinimini ortadan kaldırdığından kolaylık sunar. İşlev ayrıca payda değerini test etme için işlevden daha iyileştirilmiştir IF
. Sıfıra bölme denetimi oldukça zahmetli olduğundan performans açısından önemli bir kazanım elde edilmiş olur. Dahası, işlevinin DIVIDE
kullanılması daha kısa ve zarif bir ifadeyle sonuçlanmış olur.
İpucu
Payda DIVIDE
sıfır veya BLANK döndürebilen bir ifade olduğunda işlevini kullanmanızı öneririz. Paydanın sabit bir değer olması halinde bu modülün ilerleyen bölümlerinde anlatılacak olan bölme işlecini (/) kullanmanız önerilir. Bu durumda bölme işleminin başarıya ulaşması garanti edilir ve ifadeniz gereksiz testlerle zaman harcamayacağından daha iyi bir performans sergileyecektir.