Excel DAX - Karmaşık Hesaplamalar Gerçekleştirme
DAX formülleri, özel toplamaları, filtrelemeyi ve koşullu değerlerin kullanımını içeren karmaşık hesaplamalar gerçekleştirebilir. DAX ile aşağıdakileri yapabilirsiniz -
- PivotTable için özel hesaplamalar oluşturun.
- DAX formülüne filtre uygulayın.
- Dinamik bir oran oluşturmak için filtreleri seçerek kaldırın.
- Dış döngüden bir değer kullanın.
PivotTable için Özel Hesaplamalar Oluşturma
DAX işlevleri CALCULATE ve CALCULATETABLE güçlü ve esnektir. Hesaplanan alanları tanımlamak için kullanışlıdırlar. Bu DAX işlevleri, hesaplamanın gerçekleştirileceği bağlamı değiştirmenize olanak tanır. Ayrıca gerçekleştirilecek toplama veya matematiksel işlem türünü özelleştirebilirsiniz.
CALCULATE İşlevi
HESAPLA (<ifade>, [<filtre1>], [<filtre2>]…)
CALCULATE işlevi, verilen ifadeyi sıfır veya daha fazla belirtilen filtre tarafından değiştirilen bir bağlamda değerlendirir.
Verileriniz filtrelendiyse, CALCULATE işlevi verilerin filtrelendiği bağlamı değiştirir ve ifadeyi filtrelerle belirttiğiniz yeni bağlamda değerlendirir. Bu, belirtilen sütundaki mevcut filtrelerin kaldırıldığı ve bunun yerine filtre bağımsız değişkeninde kullanılan filtrenin uygulandığı anlamına gelir.
Misal
Ülke adlarına göre spor amaçlı olarak filtrelenmiş madalya yüzdesini görüntülemek istediğinizi varsayalım. Hesaplamanız, PivotTable'da Ülke'ye uyguladığınız filtreyi geçersiz kılan yüzde değerini almalıdır.
Hesaplanan bir alan tanımlayın - Aşağıdaki ekran görüntüsünde gösterildiği gibi Madalya Sayısı Yüzdesi.
Bu DAX formülüyle, Sonuçlar tablosundaki tüm satırlar, TÜM işlevini içeren filtreyle HESAPLA işlevinde dikkate alınır. Bu şekilde, paydadaki toplam sayınız olur.
PivotTable'ınız aşağıdaki ekran görüntüsünde gösterildiği gibi olacaktır.
Yukarıdaki ekran görüntüsünde Ülke, ABD'ye göre filtrelenmiştir ve İlk 18 değer PivotTable'da görüntülenmektedir. Ardından, PivotTable'daki değerleri dinamik olarak filtreleyebilirsiniz. Ancak, hesaplamalar kullandığınız özel DAX formülüne göre doğru olacaktır.
CALCULATETABLE işlevi, bir değerler tablosu alır ve CALCULATE işleviyle aynı eylemi gerçekleştirir.
Formüllerdeki Verileri Filtreleme
Hesaplamalarda kullanmak üzere kaynak verilerden değerleri seçmek için DAX formüllerinde filtreler oluşturabilirsiniz. Bunu, bir filtre ifadesi tanımlayarak ve bunu DAX formülünün girdisi olan tabloyla birlikte kullanarak yapabilirsiniz.
Filtre ifadesi, kaynak verilerin bir alt kümesini elde etmenizi sağlar. Süzgeç, DAX formülünün sonuçlarını her güncellediğinizde, verilerinizin mevcut bağlamına bağlı olarak dinamik olarak uygulanır ve doğru ve beklenen sonuçlar alacağınızdan emin olabilirsiniz.
Filtre ifadesi genellikle, tablonun yalnızca seçili satırlarını döndüren ve daha sonra veri toplama için kullandığınız başka bir DAX işlevi için bağımsız değişken olarak kullanılabilen bir DAX filtre işlevi içerir.
Misal
Aşağıdaki ekran görüntüsü, yalnızca yaz sporları için madalya sayısı veren hesaplanmış bir alanın tanımını göstermektedir.
Bu hesaplanan alanla, PivotTable aşağıdaki ekran görüntüsünde gösterildiği gibi görünür.
Gördüğünüz gibi, yeni hesaplanan alanla sağ taraftaki PivotTable'daki değerler, Sezon alanındaki filtre açıkça uygulandığında sol taraftaki PivotTable'dakilerle eşleşiyor.
Note - DAX filtresi ve değer işlevleri bir tablo döndürür, ancak tabloyu veya satırları hiçbir zaman doğrudan Veri Modeline döndürmez ve bu nedenle her zaman başka bir DAX işlevine gömülür.
Bu DAX işlevleriyle ilgili ayrıntılar için, DAX Filtre İşlevleri bölümüne bakın.
Filtreleri Dinamik Olarak Ekleme ve Kaldırma
PivotTable'da kullandığınız DAX Formülleri, PivotTable bağlamından etkilenebilir. Ancak, filtre ekleyerek veya kaldırarak bağlamı seçerek değiştirebilirsiniz. PivotTable bağlamına bakılmaksızın satırları dinamik olarak seçmek için DAX işlevlerinin TÜMÜ ve ALLEXCEPT'i kullanabilirsiniz.
Ayrıca, farklı değerler döndürmek için DAX DISTINCT ve VALUES işlevlerini kullanabilirsiniz.
Dış Döngüden Değer Kullanma
DAX EARLIER işleviyle bir dizi ilişkili hesaplama oluştururken önceki bir döngüden bir değer kullanabilirsiniz. Bu DAX işlevi, iki seviyeye kadar iç içe döngüleri destekler.