DAX HESAPLA İşlevi: Sorunlar ve Çözümler

işlevini kullanmamanız gerektiğini keşfedeceğiz ve istediğiniz aynı sonuçları elde etmek için bazı alternatif çözümler sunacağız. Bu eğitimin tam videosunu bu blogun alt kısmında izleyebilirsiniz .

DAX'ta Kategori Başına Ortalama Almak garip bir şekilde karmaşıktır. Bu hesaplamaları çözmek için HESAPLA işlevini kullanan yeni DAX kullanıcıları, DAX kodunun anlaşılmasını olması gerekenden daha zor bulabilir. İyi haber şu ki, bu sorunun daha basit çözümleri var. 

İçindekiler

DAX HESAPLA İşlevine Genel Bakış

Birkaç ay önce, LuckyTemplates için sunum yaptım . DAX hakkında bazı alternatif görüşler sağladığım DAX Karşı Kültürü olarak adlandırıldı. 

Ana olanlardan biri HESAPLA işlevinin kullanımıyla ilgilidir. Özellikle DAX'ta yeniyseniz HESAPLAMA'yı neden kullanmamanız gerektiğinden bahsettim. 

HESAPLAMA, anlaşılması ve kullanılması gerçekten karmaşık bir işlevdir. Veri modeliniz hakkında belirli varsayımlarda bulunur ve başınızı çok fazla belaya sokabilir. 

Ayrıca , tek tablo durumlarında çalışmadığından ve düzgün çalışması için bir yıldız şemasına ihtiyaç duyduğundan, Microsoft'un Koşu Toplamı için hızlı önlemini de araştırdım .

Bu yüzden, HESAPLAMA'ya ihtiyaç duymadan ister yıldız şeması ister tek tablo modeli olsun çalışan daha kolay bir alternatif gösterdim. 

DAX Formülünü HESAPLA

Bu blog, Kategori Başına Ortalama adlı hızlı bir ölçüyü ele alacaktır . LuckyTemplates masaüstündeyseniz Alanlar bölmesine gidip Yeni bir hızlı ölçü oluşturarak başlayın .

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Açılan Hızlı Ölçüm penceresinde, Hesaplama açılır menüsünde Kategori başına ortalama'yı seçin . Sonra, sürükle ? Temel Değer metin alanındaki Değer ve Kategori alanında Ay .

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Ardından Tamam'a tıklayın ve buna benzeyen bir görsel elde edeceksiniz. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

X ekseninde çeyrekler vardır—Çeyrek 1, 2, 3 ve 4. 

Ve yapmak istediğiniz şey, aşağıda gösterilen her ay için değerleri toplamak ve ardından bu değerlerin ortalamasını almak. Kısacası blogumuzun konusu olan Kategori Başına Ortalama. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Bunun için veri modelimiz çok basit. Dates , Values ​​rastgele oluşturulmuş ve Month , MonthSort ve Quarters ayrı sütunlarda  olan bir tablomuz var .

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Tarih tablomuzda da Takvim Tablosu, Ay, Ay Sıralaması ve Çeyrek ile aynı şeye sahibiz . Bu, tarih tablosundan veya ilk tablodan Çeyrek veya Ay'ı seçebileceğimiz anlamına gelir. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Ortalama Kategori Başına ile ilgili iyi haber şu ki, ister tek bir tablo modeliniz, ister bir yıldız şemanız olsun, gerçekten çalışıyor.

Bu görsellerde, ilk tablodan Çeyrek kullanıyoruz…

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

 …bu ise tarih tablomuzdaki Çeyrek'i kullanıyor. Her iki şekilde de çalışır. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Ancak Kategori Başına Ortalama ile ilgili sorun basitçe DAX kodudur. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Bu DAX kodu tuhaf çünkü bir DAX uzmanı olsanız bile ilk bakışta muhtemelen kafanızı karıştıracaktır. Garip bir şekilde, filtre yan tümcesi olmayan bir CALCULATE deyimiyle oluşturulmuştur ve yalnızca bir sum deyimini sarar. 

Aslında, forumlarda HESAPLA'yı kullanan ve sebepsiz yere bir meblağ toplayan insanları gördüğümde, bu benim en çok sinirlendiğim şeylerden biri. Ancak bu durumda, aslında bir nedeni var.

Bunları ne zaman görsem aklımı başımdan alıyor çünkü bu, HESAPLA işleviyle ne yaptıklarına dair hiçbir fikirleri olmadığının doğrudan bir göstergesi. Bu yüzden onun yerine ondan uzak durmanı tavsiye ederim. 

Kategori Başına Ortalama İçin DAX Kodu

Yukarıda gösterilen DAX kodu kullanır . Bu işlev bir HESAPLA segmentinde değil, bu da onu garip kılıyor. Sözde, bu işlev, belgelerine dayalı olarak CALCULATE deyimlerinde kullanılmak üzere oluşturulmuştur.

Kod ayrıca , aynı fikirde olmadığım Asla DEĞERLER kullanmamalıdırlar çünkü farklı değerler, eşleşmeyen bir satır varsa boş bir satır döndürme eğilimindedir. Bu başınızı çok belaya sokabilir ama bu başka bir videonun konusu.

Temel olarak, burada olan şey, tüm kategorilerimizi almak için bir DEĞERLER işlevi kullanıyor olmaları. Örneğin, 1. Çeyrek Ocak, Şubat ve Mart'tır. içinde ilk parametre olarak geçerli kılmak için kullanıyorlar . 

Ayrıca KEEPFILTERS bağlamında yürütmek için HESAPLA işlevini de tutarlar. AVERAGEX'in çalışma şekli nedeniyle, ikinci ifadeyi alır ve ilk ifadenin bağlamında yürütür. 

O halde Sorun Ne?

Genel olarak, iyi çalışıyor ancak DAX'ta yeni biri için değil. Microsoft'un bu hızlı önlemi oluşturduğunda tekneyi gerçekten kaçırdığına inanıyorum çünkü hızlı önlemler sözde DAX'ta yeni olan kişiler içindir.

"DAX'te yeni olduğunuz ve DAX hakkında bilinmesi gereken her şeyi bilmediğiniz için, sizin için farklı hesaplamalar içeren bazı genel ölçüler yazalım" gibi hızlı ölçüler harika bir fikirdir. Ama neden onları bu kadar garip, karmaşık şekillerde inşa etsinler? 

DAX'ta yeni olan biri, muhtemelen DAX profesyonelleri bile bu konuda biraz kafa yorarken, buna bir göz atıp neler olup bittiğini nasıl anlayabilir? 

Bu yüzden benim için, HESAPLAMA'yı dahil etmeleri konusunda ısrar ederek ve HESAPLAMA'yı oraya getirmek için çemberlerin içinden atlamak zorunda kalarak insanların hızlı ölçümleriyle DAX'i öğrenmelerine yardımcı olacak altın bir fırsatı kaçırdılar. 

Daha Kolay Çözüm

SUMMARIZE İşlevini Kullanma

Daha önce de belirttiğim gibi, bunu yapmanın daha iyi ve daha basit bir yolu var.

İlk olarak, VAR_Table kullanarak bir tablo değişkeni oluşturun . Ardından, Tabloyu almak, Ay'a göre özetlemek, bir Değer sütunu oluşturmak ve değerlerimizi özetlemek için kullanacağız .

Son olarak, AVERAGEX işlevini kullanarak değerlerimizin ortalamasını alacağız . 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Bu kod daha basit ve çok daha mantıklı. Zaten ihtiyacınız olmayan HESAPLA'yı içermez. 

SUMMARIZE'ı eleştiren bir blog makalesine rastlayabilirsiniz. Blog, SUMMARIZE'ın dahili olarak çalışma şeklinin oldukça karmaşık olduğunu söylüyor.

Ayrıca, belirli bir durumda başınızı belaya sokabileceğinizi, ancak bununla asla karşılaşmayacağınızı da önerir. Bu, yalnızca hesaplamanız çok karmaşık bir hesaplama ve çok büyük bir tablo içeriyorsa olur. Ancak o zaman SUMMARIZE size riskli sonuçlar verecektir. 

En azından blog makalesinin iddia ettiği şey bu. SUMMARIZE'dan kaçınmak istiyorsanız sorun değil. Bu durumda, bunun yerine işlevini kullanın.

GROUPBY İşlevini Kullanma

GROUPBY işlevini kullanmakta kimsenin bir sorunu yok, bu yüzden onu nasıl kullanacağımızı da öğrenelim. Yine, VAR_Table kullanarak bir Tablo değişkeni oluşturun . Ardından, GROUPBY Month ve Value sütunu oluşturuyoruz.

Ardından, CURRENTGROUP'u kullanarak uygularız , GROUPBY bu şekilde çalışır. Değerimizi toplayalım ve AVERAGEX'i tekrar karşısına alalım. 

Kodumuz bu şekilde görünmelidir.

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Sonuçları Karşılaştırma: SUMMARIZE - GROUPBY - CALCULATE DAX İşlevleri

Şimdi, yaptığımız kısayolların aynı sonuçları döndürüp döndürmediğine bakalım. 

Aşağıdaki resimlerde görebileceğiniz gibi, Kategori Başına Daha İyi Ortalama olarak etiketlenen SUMMARIZE ve Kategori Başına Daha İyi Ortalama 2 olarak etiketlenen GROUPBY aynı sayıları döndürür. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler

Her iki formülümüz de Q1 için 3,4K, Q2 için 3,6K, Q3 için 3,4K ve Q4 için 3,5K döndürür. Ve yine, tablomuz için Quarters'ı kullanarak tek bir tablo veri modelinde çalışırlar.

Ayrıca, tarih tablomuzda Quarters kullandığımız bir yıldız şemasında da çalışırlar. 

DAX HESAPLA İşlevi: Sorunlar ve Çözümler



Hızlı Önlemler – LuckyTemplates İçinde Hesaplama İşlevini Kullanarak LuckyTemplates Modellerinde Bunları Kullanma
LuckyTemplates'da GROUPBY İşlevini Kullanmanın Etkili Yolları

Çözüm

HESAPLAMA'yı formüllerimize dahil etmek için kendimizi çarpık bir bağlam mantığına zorlamamız gerekmiyor. Sadece basit standart DAX işlevlerini kullanın ve aynı şeyleri elde edebilirsiniz. 

Aslında, muhtemelen vakaların %80 – %90'ında HESAPLAMA'yı herhangi bir şey için kullanmakla uğraşmak için hiçbir neden yoktur. Bunun yerine daha basit ve daha mantıklı olan SUMMARIZE ve GROUPBY fonksiyonlarını kullanabilirsiniz.

Bu PBIX dosyasını keşfetmek istiyorsanız, onu Hızlı Önlemler Galerisi'nde zaten yayınladım ve dosyayı Kategori Başına Daha İyi Ortalama olarak adlandırdım . İndirebileceğiniz ve kendiniz oynayabileceğiniz PBIX dosyasını bulmak için sayfayı sonuna kadar kaydırın. 

Herşey gönlünce olsun,

Greg Deckler

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.