İ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ü

Her ayın ilk N iş gününü dinamik olarak karşılaştıran bu öğreticide tartışılan soruna bir kez daha göz atalım . Bu sorun, forumumuzda bir LuckyTemplates üyesinin belirli bir ay için ilk 5, 10, 15 ve 20 faturalandırılabilir günü (hafta sonları ve tatiller hariç) dinamik olarak incelemek ve karşılaştırmak istediği sorgusuna dayanıyordu. önceki ay

Güçlü sorgu kullanmak yerine, bir DAX kodlama dili çözümü bulacağız. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.

İlk videoda bu sorunun nasıl çözüleceğine dair bir power Query çözümü ile karşılaştım. Ancak daha sonra LuckyTemplates uzmanlarımızdan biri olan Antriksh Sharma, daha derinlemesine incelemeye değer, son derece etkili bir önlem buldu. Size DAX araç kutunuzda ek araçlar sağlayacak bir ölçü geliştirirken kullandığı bazı teknikleri tartışacağız.

Kesinlikle benim ve buna bir göz atan diğer uzmanların bazıları için yaptı. Karşılaştırılabilir iş günlerinin aylara göre benzer şekilde karşılaştırılması, genel olarak birçok durumda kullanılabilen değerli bir modeldir.

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

Güç sorgusuna dalalım ve Antriksh'in burada ne yaptığına bir göz atalım. Ay ve Yıl , Toplam Satışlar ve son olarak, geliştirdiğimiz what-if parametresine dayalı güçlü sorguyu kullanarak seçtiğimiz N İş Günü için Toplam Satış'a sahibiz .

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

Antriksh, tüm sorunu çözmek için şaşırtıcı derecede kısa bir önlem kullandığı çok farklı bir yaklaşım benimsedi. komutunun kullanılmasıydı .

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

Bu, çok sık kullanmadığım bir DAX işlevidir, ancak bu tür problemler için mükemmel bir seçimdir. SQL BI DAX Kılavuzuna bakacak olursak, GENERATE işlevinin iki farklı tabloyu girdi olarak kullanan ve ardından CROSS APPLY SQL komutunun eşdeğerini yapan bir tablo işlevi olduğunu söylüyor.

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

Bu nedenle, bir temel tablo (Table1) alır ve bu tablo üzerinde yinelenir ve ardından ikinci bir tablo ifadesi alır ve bunu ilk tablodaki her satır için değerlendirir ve ardından çıktı olarak tabloya geri döner.

Antriksh'in ölçüsünü alıp masaya bırakalım. Geçen sefer yaptığımız güçlü sorgu çözümüyle tamamen aynı sonuçları ürettiğini görebiliriz. Yani bu iyi ve her iki önlemi de oldukça iyi doğruluyor.

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

Bu tedbiri ayıralım. Burada uygulanan ilk filtre Dates[IsBusinessDay] = TRUE şeklindedir. Bu, genişletilmiş tarih tablosu IsBusinessDay alanına dayalı olarak tüm hafta sonu ve tatil dışı tarihleri ​​çıkarır.

Bunu tatil masamıza nasıl bağlayacağımızı da ele aldığımız ilk öğreticide bundan daha çok bahsediyoruz .

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

Bunun ilginç kısmı gerçekten iki tablo girişinde geliyor. İlk tablo, Tarih tablosundaki Ay ve Yıl alanının tek sütunlu tablosudur.

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

Ancak ikinci tablo girişi, ilginç şeylerin olduğu yerdir. Antriksh bir kullandı ve ardından dinamik parametremizi TOPN'deki satır sayısı olarak kullandı.

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

Toplam Satış ölçüsü ikinci tabloya eklenir ve ardından ilk tabloya uygulanır.

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

İçindekiler

DAX Kodlama Dilini Kullanarak Karmaşık Bir Ölçüyü Anlama

Bunun gibi karmaşık bir önlemin ne işe yaradığını anlamanın en kolay yollarından biri Tabular Editor'a gitmektir . Bu ifadeye bir göz atabilir ve önce bu TOPN ifadesinin ne yaptığını anlayabiliriz.

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

TOPN kısmını kopyalayalım ve yeni bir DAX sorgusu oluşturalım . DAX sorgularının DEĞERLENDİRME ile başladığını unutmayın.

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

TOPN kısmını yapıştırdığımızda bunun satış siparişi tablosundan ilk 5 tarihi çektiğini göreceğiz. TOPN'de, satış tablosundaki tüm sipariş tarihlerinin değerlerinden oluşan bir tablo vardır.

Bu TOPN işlevi, what-if parametresinin değerini (bu durumda 5'tir) alıyor ve bunu satış siparişi tarih alanına uyguluyor. Ardından, filtre bağlamındaki ilk 5 tarihi, o alana göre artan sırada çekiyor.

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

Ek bir filtre bağlamı olmadığı göz önüne alındığında, tüm tablodan sadece ilk 5 tarihi çekiyor.

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

@Sales sütunu, uygun filtre bağlamındaki toplam satışları TOPN tablosuna ekliyor.

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

Şimdiye kadar, Ay ve Yıl'ın ilk tablosuna, satış tablosundan ilk N tarihinin TOPN'sinin ikinci tablosuna ve ardından bununla ilişkili toplam satışlara sahibiz.

GENERATE Tablosunu DAX Kodlama Dilinde Kullanma

Bu GENERATE tablosunun ne yaptığına bir göz atalım. Tabular Editor'a geri dönüp yeni bir DAX sorgusu oluşturacağız.

DEĞERLENDİRME ile her zaman yaptığımız gibi başlayacağız, kodun GENERATE kısmını yapıştırın ve 5'e tıklayın.

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

İlk tablonun her satırı için @Sales fonksiyonu bağlamında değerlendirilen TOPN tablosundaki 5 satırla iterasyon yaptığını ve birleştiğini görebiliriz.

İlk 5 iş gününü Nisan'da, ilk 5 iş gününü Mayıs'ta, ilk 5 iş gününü Haziran'da aldı ve ilk tablonun sonuna gelene kadar böyle devam etti.

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

Bu tam olarak ihtiyacımız olan şey ve şimdi bu değerleri toplamak nispeten basit bir mesele haline geliyor. Sonucu elde ettik (bu, GENERATE sonuçlarının tablo değişkenidir) ve ardından @Sales işlevini özetlememiz gerekir.

Bağlam dahilinde, şimdi Nisan'ın ilk 5 iş gününü, Mayıs'ın ilk 5 iş gününü vb. toplam tutarımız 23.737.430$'a inene kadar özetliyoruz; bu durumda faaliyet gösterecek Ay ve Yıl bağlamı yoktur. .

Bu, tüm @Sales sütununu özetler ve bize güçlü sorgu çözümümüzde sahip olduğumuz toplamın aynısını verir.

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

Dilimleyiciyi 10 olarak değiştirirsek, dinamik olarak DAX kodlama dili ile power sorguda aldığımız sonuçların aynısını elde ettiğimizi görebilirsiniz.

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

Alt kısımda yaptığımız değişiklikleri yansıtmak için dinamik olarak ayarlanan çubuk grafiğimiz de var.

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

Ölçü Başlığını Dinamik Olarak Ayarla

Size göstermek istediğim başka bir numara daha var. What-if parametrenizde dinamik bir ayarlama oluşturabilir ve bunu dinamik olarak bir hesaplama başlığına bağlayabilirsiniz.

Örneğin, üstteki dilimleyiciyi 15 olarak değiştirirsek, alttaki ölçümün adını dinamik olarak Her Ayın İlk 15 İş Günü için Toplam Satışlar olarak değiştirir .

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

DAX'ta koşullu biçimlendirme kullanarak bunu yapmanın kolay bir yolu vardır . Temelde sadece üç dize alıyoruz. İlki, İlk için Toplam Satış'tır ve ardından bunu ne olursa olsun parametresinden topladığımız değerle birleştirin ve ardından bunu başlığın geri kalanına bağlayın.

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

Ardından görsele geçiyoruz, başlığın koşullu biçimlendirmesine gidiyoruz ve fx'e tıklıyoruz .

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

Alan değerine göre biçimlendireceğiz ve o dinamik başlık ölçüsünü seçeceğiz. Bu, what-if parametresinin seçimini değiştirir.

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

Çözüm

Şu anda sahip olduğumuz, DAX kodlama dilini kullanan eksiksiz bir çözüm. GENERATE işlevini kullanarak bunu yapmanın gerçekten yaratıcı ve verimli bir yolunu tartıştık. Harika DAX bilgisini bizimle paylaştığı için Antriksh'e teşekkür etmek istiyorum. Onun DAX çözümünü incelerken çok şey öğrendim ve umarım siz de öğrenmişsinizdir.


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.

LuckyTemplates Kullanarak İş Raporlaması

LuckyTemplates Kullanarak İş Raporlaması

Şimdiye kadar hala Excel kullanıyorsanız, iş raporlama ihtiyaçlarınız için LuckyTemplates'ı kullanmaya başlamak için en iyi zaman budur.

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey