Excel DAX - Formüller
DAX, Power PivotTable'larda özel hesaplamalar oluşturmaya yönelik bir formül dilidir. İlişkisel verilerle çalışmak ve DAX formüllerinde dinamik toplama gerçekleştirmek için tasarlanmış DAX işlevlerini kullanabilirsiniz.
DAX formulasExcel formüllerine çok benzer. DAX formülü oluşturmak için, bir eşittir işareti, ardından bir işlev adı veya ifade ve gerekli tüm değerleri veya bağımsız değişkenleri yazarsınız.
DAX İşlevleri ve DAX Formülleri
DAX formülleri, DAX işlevlerini içerebilir ve kullanımlarından yararlanabilir. DAX formüllerinin DAX işlevlerinden önemli şekillerde farklılık gösterdiği yer burasıdır.
DAX işlevi her zaman tam bir sütuna veya tabloya başvurur. Bir tablodan veya sütundan yalnızca belirli değerleri kullanmak istiyorsanız, formüle filtreler ekleyebilirsiniz.
Hesaplamaları satır bazında özelleştirmek istiyorsanız, Power Pivot, bağlama göre değişen hesaplamaları gerçekleştirmek için geçerli satır değerini veya ilgili bir değeri kullanmanıza olanak tanıyan işlevler sağlar.
DAX, tek bir değer yerine sonuç olarak bir tablo döndüren bir işlev türü içerir. Bu işlevler, diğer işlevlere girdi sağlamak için kullanılabilir, böylece tüm tablolar veya sütunlar için değerler hesaplanır.
Bazı DAX işlevleri, anlamlı tarih aralıkları kullanarak hesaplamalar oluşturmanıza ve sonuçları paralel dönemler arasında karşılaştırmanıza olanak tanıyan zaman bilgisi sağlar.
DAX Formülü Sözdizimini Anlama
Her DAX formülü aşağıdaki sözdizimine sahiptir -
Her formül eşittir işaretiyle başlamalıdır.
Eşittir işaretinin sağında, bir işlev adı yazabilir veya seçebilir ya da bir ifade yazabilirsiniz. İfade, DAX operatörleri tarafından bağlanan tablo adlarını ve sütun adlarını içerebilir.
Aşağıda bazı geçerli DAX formülleri verilmiştir -
- [column_Cost] + [column_Tax]
- = Bugün ()
IntelliSense Özelliğini Anlama
DAX, DAX formüllerini anında ve doğru şekilde yazmanıza olanak tanıyan IntelliSense özelliğini sağlar. Bu özellik sayesinde, tablo, sütun ve işlev adlarını tam olarak yazmanız gerekmez, ancak DAX formülü yazarken açılır listeden ilgili adları seçmeniz gerekir.
İşlev adının ilk birkaç harfini yazmaya başlayın. Otomatik Tamamlama, bu harflerle başlayan adlarla birlikte kullanılabilir işlevlerin bir listesini görüntüler.
İşaretçiyi herhangi bir işlev adının üzerine yerleştirin. IntelliSense araç ipucu görüntülenerek size işlevin kullanımını sunar.
İşlev adına tıklayın. İşlev adı formül çubuğunda görünür ve sözdizimi görüntülenir ve bu, bağımsız değişkenleri seçerken size yol gösterir.
İstediğiniz tablo adının ilk harfini yazın. Otomatik Tamamlama, bu harfle başlayan adlarla birlikte kullanılabilir tabloların ve sütunların bir listesini görüntüler.
Otomatik Tamamlama listesinden formüle bir öğe eklemek için SEKME tuşuna basın veya ada tıklayın.
Tıkla FxKullanılabilir işlevlerin bir listesini görüntülemek için düğmesine basın. Açılır listeden bir işlev seçmek için, ok tuşlarını kullanarak öğeyi vurgulayın ve işlevi formüle eklemek için Tamam'ı tıklayın.
Bağımsız değişkenleri, olası tablo ve sütunların bir açılır listesinden seçerek veya gerekli değerleri yazarak işleve sağlayın.
Bu kullanışlı IntelliSense özelliğinin kullanılması şiddetle tavsiye edilir.
DAX Formülleri Nerelerde Kullanılır?
Hesaplanan sütunlar ve hesaplanan alanlar oluştururken DAX formüllerini kullanabilirsiniz.
DAX formüllerini hesaplanan sütunlarda, bir sütun ekleyip ardından formül çubuğuna bir ifade yazarak kullanabilirsiniz. Bu formülleri PowerPivot penceresinde oluşturursunuz.
Hesaplanan alanlarda DAX formüllerini kullanabilirsiniz. Bu formülleri siz oluşturursunuz -
Hesaplanan Alan iletişim kutusundaki Excel penceresinde veya
Bir tablonun hesaplama alanındaki Power Pivot penceresinde.
Aynı formül, formülün hesaplanan bir sütunda mı yoksa hesaplanan bir alanda mı kullanıldığına bağlı olarak farklı davranabilir.
Hesaplanan bir sütunda, formül her zaman tablo boyunca sütundaki her satıra uygulanır. Satır bağlamına bağlı olarak değer değişebilir.
Ancak hesaplanan bir alanda, sonuçların hesaplanması büyük ölçüde bağlama bağlıdır. Yani, PivotTable'ın tasarımı ve satır ve sütun başlıklarının seçimi, hesaplamalarda kullanılan değerleri etkiler.
DAX formülleri yazmak için DAX'ta bağlam kavramını anlamak önemlidir. DAX yolculuğunuzun başlangıcında bu biraz zor olabilir, ancak bir kez kavradığınızda, karmaşık ve dinamik veri analizi için gerekli olan etkili DAX formüllerini yazabilirsiniz. Ayrıntılar için DAX Bağlamı bölümüne bakın.
DAX Formülü Oluşturma
Önceki bir bölümde IntelliSense özelliğini zaten öğrendiniz. Herhangi bir DAX formülü oluştururken bunu kullanmayı unutmayın.
DAX formülü oluşturmak için aşağıdaki adımları kullanın -
Eşittir işareti yazın.
Eşittir işaretinin sağına aşağıdakini yazın -
Bir işlevin veya tablo adının ilk harfini yazın ve açılır listeden tam adı seçin.
Bir işlev adı seçtiyseniz, parantez '(' yazın.
Tablo adını seçtiyseniz, köşeli ayraç '[' yazın. Sütun adının ilk harfini yazın ve açılır listeden tam adı seçin.
Sütun adlarını ']' ve işlev adlarını ')' ile kapatın.
İşlev bağımsız değişkenlerini ayırmak için ifadeler arasına bir DAX operatörü yazın veya ',' yazın.
DAX formülü tamamlanana kadar 1-5 arasındaki adımları tekrarlayın.
Örneğin, Doğu bölgesindeki toplam satış miktarını bulmak istiyorsunuz. Aşağıda gösterildiği gibi bir DAX formülü yazabilirsiniz. East_Sales tablonun adıdır. Miktar, tablodaki bir sütundur.
SUM ([East_Sales[Amount])
DAX Sözdizimi bölümünde daha önce tartışıldığı gibi, herhangi bir sütun adına yapılan her başvuruda sütun adıyla birlikte tablo adının kullanılması önerilen bir uygulamadır. Bu - "tam nitelikli ad" olarak adlandırılır.
DAX formülü, hesaplanan alan mı yoksa hesaplanan sütun mu olduğuna göre değişebilir. Ayrıntılar için aşağıdaki bölümlere bakın.
Hesaplanan Bir Sütun için DAX Formülü Oluşturma
Power Pivot penceresinde hesaplanan bir sütun için DAX formülü oluşturabilirsiniz.
- Hesaplanan sütunu eklemek istediğiniz tablonun sekmesine tıklayın.
- Şerit üzerindeki Tasarım sekmesine tıklayın.
- Ekle'yi tıklayın.
- Formül çubuğuna hesaplanan sütun için DAX formülünü yazın.
= DIVIDE (East_Sales[Amount], East_Sales[Units])
Bu DAX formülü, East_Sales tablosundaki her satır için aşağıdakileri yapar -
Bir satırın Miktar sütunundaki değeri, aynı satırdaki Birimler sütunundaki değere böler.
Sonucu aynı satırdaki yeni eklenen sütuna yerleştirir.
Tablodaki tüm satırları tamamlayana kadar 1. ve 2. adımları yinelemeli olarak tekrarlar.
Yukarıdaki formülle bu birimlerin satıldığı Birim Fiyat için bir sütun eklediniz.
Sizin de gözlemleyebileceğiniz gibi, hesaplanan sütunlar hesaplama ve depolama alanı gerektirir. Bu nedenle, yalnızca gerekirse hesaplanan sütunları kullanın. Mümkün ve yeterli olduğunda hesaplanan alanları kullanın.
Ayrıntılar için Hesaplanan Sütunlar bölümüne bakın.
Hesaplanan Alan için DAX Formülü Oluşturma
Excel penceresinde veya Power Pivot penceresinde bir hesaplanan alan için DAX formülü oluşturabilirsiniz. Hesaplanan alan olması durumunda, önceden adı vermeniz gerekir.
Excel penceresinde hesaplanan bir alan için DAX formülü oluşturmak için Hesaplanan Alan iletişim kutusunu kullanın.
Power Pivot penceresinde hesaplanan bir alan için DAX formülü oluşturmak için, ilgili tablodaki hesaplama alanındaki bir hücreye tıklayın. DAX formülünü CalculatedFieldName: = ile başlatın.
Örneğin, Toplam Doğu Satış Tutarı: = SUM ([Doğu_Satışları [Tutar])
Excel penceresinde Hesaplanan Alan iletişim kutusunu kullanırsanız, formülü kaydetmeden önce kontrol edebilir ve doğru formüllerin kullanılmasını sağlamak için zorunlu bir alışkanlık haline getirebilirsiniz.
Bu seçenekler hakkında daha fazla ayrıntı için, Hesaplanan Alanlar bölümüne bakın.
Formül Çubuğunu Kullanarak DAX Formülleri Oluşturma
Power Pivot penceresinde ayrıca Excel penceresi formül çubuğuna benzeyen bir formül çubuğu bulunur. Formül çubuğu, sözdizimi hatalarını en aza indirmek için Otomatik Tamamlama işlevini kullanarak formül oluşturmayı ve düzenlemeyi kolaylaştırır.
Bir tablonun adını girmek için tablonun adını yazmaya başlayın. Formül Otomatik Tamamlama, bu harflerle başlayan geçerli tablo adlarını içeren bir açılır liste sağlar. Gerekirse listeyi daraltmak için bir harfle başlayabilir ve daha fazla harf yazabilirsiniz.
Bir sütunun adını girmek için, seçili tablodaki sütun adları listesinden seçebilirsiniz. Tablo adının sağına köşeli parantez '[' yazın ve ardından seçili tablodaki sütun listesinden sütunu seçin.
Otomatik Tamamlamayı Kullanmayla İlgili İpuçları
Aşağıda, Otomatik Tamamlamayı kullanmak için bazı ipuçları verilmiştir -
Bir DAX formülünde işlevleri ve formülleri iç içe yerleştirebilirsiniz. Böyle bir durumda, Formülü Otomatik Tamamlama işlevini iç içe geçmiş işlevlere sahip mevcut bir formülün ortasında kullanabilirsiniz. Ekleme noktasından hemen önceki metin, açılır listede değerleri görüntülemek için kullanılır ve ekleme noktasından sonraki tüm metin değişmeden kalır.
Sabitler için oluşturduğunuz tanımlı adlar Otomatik Tamamlama açılır listesinde görüntülenmez, ancak bunları yine de yazabilirsiniz.
İşlevlerin kapanış parantezi otomatik olarak eklenmez. Bunu kendin yapmalısın.
Her işlevin sözdizimsel olarak doğru olduğundan emin olmalısınız.
Ekleme İşlevi Özelliğini Anlama
İşlev Ekle düğmesini şu şekilde etiketlenmiş olarak bulabilirsiniz: fxhem Power Pivot penceresinde hem de Excel penceresinde.
Power Pivot penceresindeki İşlev Ekle düğmesi formül çubuğunun solundadır.
Excel penceresindeki İşlev Ekle düğmesi, Formül'ün sağındaki Hesaplanan Alan iletişim kutusundadır.
Tıkladığınızda fxdüğmesi, İşlev Ekle iletişim kutusu görüntülenir. İşlev Ekle iletişim kutusu, DAX formülünüzle alakalı bir DAX işlevini bulmanın en kolay yoludur.
İşlev Ekle iletişim kutusu, kategorilere göre işlevleri seçmenize yardımcı olur ve her işlev için kısa açıklamalar sağlar.
Bir DAX Formülünde Ekleme İşlevini Kullanma
Aşağıdaki hesaplanan alanı oluşturmak istediğinizi varsayalım -
Medal Count: = COUNTA (]Medal])
Aşağıdaki adımları kullanarak İşlev Ekle iletişim kutusunu kullanabilirsiniz -
- Sonuçlar tablosunun hesaplama alanına tıklayın.
- Formül çubuğuna aşağıdakini yazın -
Medal Count: =
- İşlev Ekle düğmesine (fx).
İşlev Ekle iletişim kutusu görüntülenir.
Aşağıdaki ekran görüntüsünde gösterildiği gibi Kategori seçin kutusunda İstatistik'i seçin.
Aşağıdaki ekran görüntüsünde gösterildiği gibi Bir işlev seçin kutusunda COUNTA'yı seçin.
Görebileceğiniz gibi, seçilen DAX işlevi sözdizimi ve işlev açıklaması görüntülenir. Bu, eklemek istediğiniz işlevin bu olduğundan emin olmanızı sağlar.
Tamam'ı tıklayın. Madalya Sayısı: = COUNTA (formül çubuğunda görünür ve işlev sözdizimini gösteren bir araç ipucu da görünür.
[Yazın. Bu, bir sütun adı yazmak üzere olduğunuz anlamına gelir. Geçerli tablodaki tüm sütunların ve hesaplanan alanların isimleri açılır listede görüntülenecektir. Formülü tamamlamak için IntelliSense'i kullanabilirsiniz.
M yazın. Açılır listede görüntülenen adlar, 'M' ile başlayanlarla sınırlı olacaktır.
Madalya'ya tıklayın.
Madalya'ya çift tıklayın. Madalya Sayısı: = COUNTA ([Madalya] formül çubuğunda görüntülenecek. Parantezi kapatın.
Enter'a bas. Bitirdiniz. Aynı prosedürü hesaplanmış bir sütun oluşturmak için de kullanabilirsiniz. İşlev Ekle özelliğini kullanarak Excel penceresindeki Hesaplanan Alan iletişim kutusuna bir işlev eklemek için aynı adımları takip edebilirsiniz.
Ekle İşlevi (fxFormül'ün sağındaki) düğmesine basın.
İşlev Ekle iletişim kutusu görüntülenir. Adımların geri kalanı yukarıdaki ile aynıdır.
DAX Formülünde Birden Çok İşlev Kullanma
DAX formülleri, en çok 64 iç içe geçmiş işlev içerebilir. Ancak, bir DAX formülünün bu kadar çok iç içe geçmiş işlev içermesi olası değildir.
Bir DAX formülünün birçok iç içe geçmiş işlevi varsa, aşağıdaki dezavantajlara sahiptir:
- Formülü oluşturmak çok zor olurdu.
- Formülde hatalar varsa, hata ayıklamak çok zor olacaktır.
- Formül değerlendirmesi çok hızlı olmazdı.
Bu gibi durumlarda, formülü daha küçük yönetilebilir formüllere bölebilir ve büyük formülü aşamalı olarak oluşturabilirsiniz.
Standart Toplamaları Kullanarak DAX Formülü Oluşturma
Veri analizi yaptığınızda, birleştirilmiş veriler üzerinde hesaplamalar yapacaksınız. DAX formüllerinde kullanabileceğiniz SUM, COUNT, MIN, MAX, DISTINCTCOUNT vb. Gibi birkaç DAX toplama işlevi vardır.
Power Pivot penceresindeki Otomatik Toplam özelliğini kullanarak standart toplamaları kullanarak formülleri otomatik olarak oluşturabilirsiniz.
- Power Pivot penceresindeki Sonuçlar sekmesine tıklayın. Sonuçlar tablosu görüntülenecektir.
- Madalya sütununa tıklayın. Tüm sütun - Madalya seçilecektir.
- Şeritteki Giriş sekmesine tıklayın.
- Hesaplamalar grubunda Otomatik Toplam'ın yanındaki aşağı oka tıklayın.
- Açılır listede COUNT düğmesini tıklayın.
Gözlemleyebileceğiniz gibi, hesaplanan Madalya Sayısı alanı - Madalya sütununun altındaki hesaplama alanında görünür. DAX formülü, formül çubuğunda da görünür -
Count of Medal: = COUNTA([Medal])
Otomatik Toplam özelliği, işi sizin için yaptı - veri toplama için hesaplanan alanı oluşturdu. Ayrıca, Otomatik Toplam, DAX işlevi COUNT, yani COUNTA (DAX'ın COUNT, COUNTA, COUNTAX işlevlerine sahiptir) uygun varyantını almıştır.
Bir uyarı - Otomatik Toplam özelliğini kullanmak için Şeritte Otomatik Toplam'ın yanındaki aşağı oka tıklamanız gerekir. Bunun yerine Otomatik Toplam'a tıklarsanız, şunu elde edersiniz -
Sum of Medal: = SUM([Medal])
Ve Medal sayısal bir veri sütunu olmadığı ve sütundaki metin sayılara dönüştürülemediği için bir hata işaretlenir.
Şu bölüme başvurabilirsiniz - DAX Error Reference DAX hatalarıyla ilgili ayrıntılar için.
DAX Formülleri ve İlişkisel Model
Bildiğiniz gibi, Power Pivot'un Veri Modeli'nde, birden çok veri tablosu ile çalışabilir ve ilişkileri tanımlayarak tabloları birbirine bağlayabilirsiniz. Bu, hesaplamalar için ilgili tablolar arasındaki sütunların korelasyonlarını kullanan ilginç DAX formülleri oluşturmanıza olanak tanır.
İki tablo arasında bir ilişki oluşturduğunuzda, anahtar olarak kullanılan iki sütunun, tamamen olmasa da en azından çoğu satır için eşleşen değerlere sahip olduğundan emin olmanız beklenir. Power Pivot Veri Modelinde, bir anahtar sütununda eşleşmeyen değerlere sahip olmak ve yine de bir ilişki oluşturmak mümkündür, çünkü Power Pivot bilgi tutarlılığını zorlamaz (ayrıntılar için sonraki bölüme bakın). Ancak, bir anahtar sütununda boş veya eşleşmeyen değerlerin varlığı DAX formüllerinin sonuçlarını ve PivotTable'ın görünümünü etkileyebilir.
Bilgi tutarlılığı
Bilgi tutarlılığı oluşturmak, veri girdiğinizde veya sildiğinizde tablolar arasındaki tanımlı ilişkileri korumak için bir dizi kural oluşturmayı içerir. Power Pivot bunu zorunlu kılmadığından, bunu özel olarak garanti etmezseniz, veri değişiklikleri yapılmadan önce oluşturulan DAX formülleriyle doğru sonuçlar alamayabilirsiniz.
Bilgi tutarlılığını uygularsanız aşağıdaki tuzakları önleyebilirsiniz -
Birincil tabloda ilişkili bir satır olmadığında (yani anahtar sütunlarında eşleşen değerlerle) ilgili tabloya satırlar eklemek.
Birincil tablodaki verilerin, ilişkili bir tablodaki artık satırlara neden olacak şekilde değiştirilmesi (yani, birincil tablo anahtar sütununda eşleşen bir değere sahip olmayan anahtar sütununda veri değerine sahip satırlar).
İlgili tablonun satırlarında eşleşen veri değerleri olduğunda birincil tablodan satır silme.