DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Bugünün eğitiminde, zaman zekası hesaplamalarında DAX haftalık ayrıntı düzeyinin neden olduğu yaygın sorunların nasıl çözüleceğine dair bazı teknikler ve ipuçları vereceğim. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.

Geçenlerde LuckyTemplates'da Önceki Hafta Değerlerini alma konusunda bir eğitim yaptım. O zamandan beri, zaman zekası ve özellikle DAX haftalık değerleri ile ilgili birkaç sorum var. Bu şaşırtıcı değil çünkü haftalar gerçekten de zaman zekası alanında en kötü davranılan ayrıntı düzeyidir.

Aylar söz konusu olduğunda, yılda her zaman 12 ay vardır. Çeyrek durumunda, her zaman dört çeyrek var. Haftalar farklıdır çünkü bir haftada yedi gün ve bir yılda 52 hafta vardır - bu 364 gündür. Yani, orada takılmak için fazladan bir gününüz var. Artık yıllarda, fazladan iki gününüz var.

Yani, ISO hafta numarasının numaralandırma şemasına göre, bu aslında bazı yıllarda bazen 52 hafta, bazen 53 hafta olacak şekilde sona eriyor. 53. hafta, en çok soruna neden olacak olan haftadır.

İçindekiler

DAX Haftalık Hesaplamanın Zaman Zekası Sorunları

Bu örnekte Toplam Spot Fiyatını kullanıyorum. Toplamlarla görselleştirmek ve hakkında konuşmak daha kolaydır.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Bu durumda, her yıl için, o yılda 53. hafta olup olmadığına bakılmaksızın, 53. hafta için bir satır göstermek istiyoruz. Yani 2018 ve 2019'da 53. hafta yok ama 2020'de var. 53. satırın her yıl olması için tutarlı olmasını istiyoruz. Ancak o zaman, 53. yılın olmadığı yıllar için metrik boş kalırdı.

Bunu yapmanın yaygın yollarından biri, Veri içermeyen öğeleri göster seçeneğine gitmek ve açık olduğundan emin olmaktır. Bu durumda, açıktır, ancak yardımcı olmayacaktır çünkü bu, fiziksel bir satırınız olduğunda çalışır, ancak bu satırla ilişkili hiçbir veri yoktur. Bu durumda, sıramız bile yok.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

kullanma veya Filtreleri Kaldırma gibi teknikler, kaldırılacak hiçbir şey olmadığı için işe yaramayacaktır. O satırdaki filtre mevcut değil. Ve böylece soru şu ki, bu satırı içinde olmadığı her yıla nasıl ekleyeceğiz? Ve sonra, bu gerçekten bir veri modelleme problemi haline gelir.

Potansiyel olarak yapabileceğimiz şeylerden biri, Tarihler tablosunu her yıl 53. haftayı görselimize zorlayacak bir şeye göre filtrelediğimiz bir kar tanesi şemasına gitmektir. Bunun için akla gelen fonksiyon .

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

CROSSJOIN, ilişkisi olan veya olmayan iki alanı eşleştirmek için kullanılır. veya veya diğer tablo işlevlerinden farklı olarak bir ilişkiye sahip olmaları gerekmez .

Bu durumda, CROSSJOIN iki sütun alır ve bu iki sütunun veri kümesinde olsun ya da olmasın tüm kombinasyonlarını oluşturur. Tam olarak istediğimiz bu.

Sütunun dışında bir tablo oluşturmak için var . CROSSJOIN, iki tabloyu ve ardından ISO hafta numarasındaki DEĞERLERİ alır ve bunları birbiriyle eşleştiririz. Bu bize her yıl 53 hafta verecek.

Ardından, tabloya üçüncü bir sütun ekliyoruz. Bunu Power Query'de yapabilirdik, ancak size DAX'ta mantığı göstermek çok daha kolay. Burada yaptığımız şey, aslında Yılı bir tire ile alıp birleştirmek ve ardından onu Tarihler tablosuna birleştirmek için bir anahtar alanımız olsun diye hafta sayısını birleştirmek.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Ancak, burada biraz daha çalışmamız gerekiyor çünkü Tarihler tablosundaki anahtar alanın çalışma şekli, dört basamaklı bir Yıl tiresi ve ardından iki basamaklı bir haftadır. Dolayısıyla, ISO hafta numarasının iki haneli olduğu durumlarda, basit birleştirme işlemini yapabiliriz. Tek basamaklı olduğu durumlarda, yıl numarasını almamız ve ardından bunu bir tire, ardından baştaki sıfır ve ardından hafta numarasıyla birleştirmeliyiz.

Bunu elde ettikten sonra, veri modelinde o tabloyu alıp Hafta ve Yıl sütunumuzu bulabiliriz. Ardından, bunları bire çok ilişkide birleştiririz. Pin ile ilgili alanları kartın üstüne getirme seçeneğinde her zaman bu seçeneği açmayı severim, böylece kontrol ettiğimizde hemen görebiliriz.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Görsele geri dönersek satırları değiştirmemiz gerekiyor. Year & Week numarası yerine CROSSJOIN tablosundan Year & Week numarasını kullanmak istiyoruz. Ve şimdi, 2018'de 53. haftayı boşlukla ve 2019'da 53. haftayı boşlukla geçirdik. 2020'de 53. haftası olduğu için elimizde fiili bir rakam var.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Artık Yıldız Şeması modelinden çıkmış olmamız dışında burada durabiliriz. LuckyTemplates'da Yıldız Şeması'ndan her uzaklaştığınızda, genel olarak en iyi uygulama olarak kabul edilen alanın dışına çıkıyorsunuz.

Ve bu nedenle, Snowflake Schema için çok büyük bir ihlal değil. Kesinlikle kullanmak isteyebileceğiniz durumlar vardır, ancak bundan kaçınabilirseniz, deneyin. Çoğaltmayı azaltır, ancak boyutu zorunlu değildir. Düz sayım ölçülerini kullanmanıza izin verir, ancak performans sorunları ve olası kullanılabilirlik sorunları vardır ve DAX karmaşıklığında kesinlikle artışlar vardır. Tablolar arasında hiyerarşiler oluşturmanızı engeller ve muhtemelen en sorunlu olanı, dilimleyicileri farklı alanlarda senkronize etme yeteneğinizi gerçekten bozabilmesidir.

Yani, bu sorunu çözerken, bunu harika olmayan bir şekilde yapıyor. Bakalım bundan daha iyisini yapabilir miyiz? Başka bir veri modeline geçelim. Bu modelde birebir aynı verileri, tarihleri ​​ve spot fiyatı aldım ama bu sefer CROSSJOIN tablosunu kaldırdım. Hala var, ama bağlı değil.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Ancak DAX'a bakarsak, diğer rapordaki tabloyu oluşturan DAX'ın tamamen aynı olduğunu görürüz. Yani, onu fiziksel bir ilişki içinde bağlamak ve ardından Yıldız Şemasını ihlal etmek ve bunu bir Kar Tanesi Şemasına dönüştürmek yerine, Yıldız Şemasını koruyabilir ve sadece sanal bir ilişki kullanabiliriz.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

adlı bir işlev kullanacağız . Tablolar arasındaki bu ilişkiyi yaratır ama bunu sanal olarak yapar. kullanarak yapıyoruz çünkü bağlamı değiştireceğiz. Bu durumda, bağlam ilişki ile ilgili olacaktır. Böylece, Toplam Spot Fiyatımız var ve ardından TREATAS'ımız var. Bu sütunu bir tabloya dönüştürmek için sahibiz .

Ardından, oluşturduğumuz anahtar olan Yıl ve Hafta alanına sahibiz. Bunu Tarihler tablosunda sanal bir şekilde Hafta ve Yıl'a birleştirdik. Şimdi, Tarihler tablosunu, fiziksel bir ilişkimiz olduğu zamanki gibi, ancak Yıldız Şemasını ihlal etmeden filtreleyen Crossjoint tablosuna sahibiz.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları

Şimdi Toplam Spot Fiyatı TREATAS'ı alıp matrise bırakabiliriz ve gördüğümüz şey tamamen aynı toplamlardır. Bu sayede veri modelimizi bozmadan ve Kar Tanesi Şeması ile ilgili bahsettiğimiz dezavantajların hiçbirine maruz kalmadan bunu yaptık.

DAX Haftalık Hesaplamaları – LuckyTemplates Time Intelligence Sorunları


DAX ve Power Query Kullanarak LuckyTemplates Önceki Hafta Değerlerini Alın
LuckyTemplates'da DAX ile Haftalık Satışları Hesaplama
DAX'ta Zaman Zekası: Başlangıç ​​Dönemini Dinamik Olarak Seçme

Çözüm

Bu eğitimde size LuckyTemplates'da DAX haftalık hesaplama sorununu çözmenin birkaç yolunu gösterdim. Biri CROSSJOIN kullanmaktır, ancak bazı dezavantajları vardır. İkinci yol ise TREATAS kullanarak sanal bir ilişki oluşturmak ve Star Schema yaklaşımını ihlal etmemek.

Bu, 53. hafta problemiyle başa çıkmak için oldukça yararlı olan bir tekniktir. Umarım bunu faydalı bulmuşsundur. Bu konudaki düşüncelerinizi öğrenmek istiyorum. Aşağıdaki yorumlarda bana bildirin.

Herşey gönlünce olsun,

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.