DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Hem hem de , DAX sorgusunda verileri işlemek ve analiz etmek için güçlü araçlardır, ancak bunların anlaşılması önemli olan bazı temel farklılıkları vardır.

Bu blogda, CALCULATETABLE işlevini ve DAX stüdyosundaki sorgu planını inceleyeceğiz ve bunun FILTER işlevinden nasıl farklı olduğunu anlayacağız. Sonunda, veri analizi ihtiyaçlarınız için doğru işlevi nasıl seçeceğinizi daha iyi anlayacaksınız.

Göstermek için aşağıdaki DAX kodunu kullanacağız.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Bu kodu çalıştırdığınızda, Marka ve Rengi gösteren bir tablo alırsınız.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Sorgu Planları sekmesinde , Formula Engine'deki CrossApply operatörüne karşılık gelen bir kod alırsınız .

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Aynı zamanda Server Timings sekmesinde kodun sadece ürün rengini ve markasını almakta olduğunu görebilirsiniz .

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

İçindekiler

CALCULATETABLE İçin DAX Studio Sunucu Zamanlamaları Sonucu

Örnek olarak ürün rengini sadece Kırmızı ve/veya Siyah olarak filtreleyelim.

FİLTRE işlevini kullanarak bunu yapabilirsiniz. Çalıştırdığınızda, Sunucu Zamanlamaları, FILTER bağımsız değişkeninin xmSQL koduna uygulanmadığını gösterecektir .

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Ancak HESAPLANABİLİR işlevini kullanırsanız, Sunucu Zamanlamaları sekmesindeki sorgu, sonuçların ürün rengine göre filtrelendiğini gösterecektir.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

DAX Studio'da HESAPLANABİLİR Sorgu Planı

Her işlev için Sorgu Planına bakalım.

CALCULATETABLE, Mantıksal Sorgu Planının ilk satırındadır çünkü kodda üst düzey bir işlevdir ve bu nedenle herhangi bir gereksinime bağlı değildir.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

CALCULATETABLE işlevinin sorgu planını okuduğunuzda, ilk bağımsız değişkenle başlamazsınız. Öncelikle kullanılan filtre içeriğini anlamanız gerekir. Öyleyse 5. satıra geçelim.

Uygulanan filtre nedeniyle VertiPaq operatörünün ürün rengi sütununu gerektirdiğini görebilirsiniz . Daha sonra bu sütunu tarar ve ürün rengini her satıra göre kontrol etmek için Boş Değil Filtresi kombinasyonunu kullanır .

Filtre içeriği hazırlandıktan sonra argümanı gerçekleştirilir.

Geriye dönüp bakıldığında, FILTER işlevini kullanırsanız, farklı bir sorgu planı görürsünüz, bu nedenle CROSSJOIN bağımsız değişkeni, filtre bağlamını tanımlamadan önce gerçekleştirilir.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Bu yaklaşımın dezavantajı, filtre koşulunu Depolama Motoruna zorlamamasıdır. WHERE yan tümcesini xmSQL içinde kullanamayacaksınız, bu da Formula Engine'e ağır bir yük getirecektir.

Birden çok tabloyla çalışırken, CROSSJOIN işlevinin filtre kombinasyonu çok büyük olacaktır. Bu, DAX kodunun performansını yavaşlatır. Bu nedenle çoğu durumda HESAPLANABİLİR işlevinin kullanılması önerilir.

Böylece, tüm hesaplamaları Formula Engine'de yapmak yerine, XMSQL kodunun WHERE sınıfının içine filtre koşulunu enjekte edebilirsiniz.

Benzer DAX İşlevleri İçin Bağlam Geçişi

Sunucu Zamanlamaları

Bu kavram aynı zamanda HESAPLA işlevi için de geçerlidir. Örnek olarak aşağıdaki DAX kodunu kullanalım.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Bir hesaplamanın çevresinde otomatik olarak HESAPLA işlevi bulunur.

Bu kodu çalıştırdığınızda, her renk için Toplam Satış tutarını gösteren bir tablo alırsınız.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Sunucu Zamanlamaları sekmesinde, kodun iki sorgu yürüttüğünü görebilirsiniz. İlk sorgu, Satış tablosundan Satış tutarının Ürünler tablosuna göre toplamını hesaplamaktır.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

İkinci sorgu ise yine Ürünler tablosundan ürün rengini alır. DAX kodundaki işlevine karşılık gelir .

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Formula Engine, iki sorgunun veri önbelleklerini yan yana yerleştirir. İkinci veri önbelleğinden değerleri alarak başlar ve ardından ilk veri önbelleğinde bir arama gerçekleştirir.

Sorgu Planı

Sorgu Planı sekmesinde, Mantıksal Sorgu Planı, bağımsız değişkeni nedeniyle ürün rengini tarar.

Ardından VertiPaq, ürün rengine göre Toplam Satış tutarını toplar. Ürün renk değerini eşdeğer bir filtre içeriğine dönüştüren bağlam geçişini gerçekleştirir.

DAX HESAPLANABİLİR Vs FİLTRE İşlevi

Bağlam geçişi tarafından oluşturulan filtre , Sorgu Planında DependOnCols özelliğine çevrilir . VertiPaq, Toplam Satışları hesaplamak için gerekli sütunları taradıktan sonra, Satış Miktarını Net Fiyat ile çarpar.

Toplam Satış, sonuç olarak bir para birimi veri türü biçiminde döndürülür. Son olarak, ADDCOLUMNS, Renk ve Toplam Satış tutarını içeren iki sütunlu bir tablo döndürür.

Çözüm

Farklı sorgu planları farklı verimlilik düzeylerine sahip olabileceğinden, sorgu planının bir sorgunun performansı üzerinde önemli bir etkisi olabilir.

Bir DAX sorgusunda HESAPLANABİLİR ve FİLTRE işlevleri kullanılırken, sorgu planı belirli senaryoya ve kullanılan belirli formül ifadesi ve sorgu motorunun yetenekleri gibi çeşitli faktörlere bağlı olarak farklılık gösterebilir.

Genel olarak, belirli bir senaryo için en verimli yaklaşımı belirlemek amacıyla farklı sorgu planlarının performansını test etmek ve karşılaştırmak iyi bir fikirdir.

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.