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.
Bu öğreticide, LuckyTemplates'da bir ölçüyü nasıl iyileştireceğinizi öğreneceksiniz. Raporunuzdaki ölçümleri optimize etmek, kodlarınızın değerli içgörüler ve veriler üretme performansını artırır. Ayrıca farklı değerlendirme yöntemlerini ve raporunuzu optimize etmek için bunları nasıl uygulayacağınızı da öğreneceksiniz. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.
İçindekiler
1. Kodun Performansını Analiz Edin
Bu örnekte, bu raporu optimize etmeniz gerekiyor:
Bu, kullanacağınız veri modelidir:
İşler tablosu, belirli bir zaman diliminde gerçekleştirilen herhangi bir işle ilgili tüm bilgileri içerir.
Bu tablo, optimize edeceğiniz tüm ölçülerin temelidir:
Öncelikle, raporun performansını test etmeniz gerekir.
Görünüm sekmesine gidin ve Performans Çözümleyici'yi seçin . Ardından, Kaydı Başlat ve Görselleri Yenile'yi tıklayın . Analizörün görseli işlemesini bekleyin.
Bu yapıldıktan sonra, Teşvik Dökümü listesini açın ve Sorguyu Kopyala 'yı tıklayın .
Ardından, DAX Studio'ya gitmek ve LuckyTemplates'ın oluşturduğu koda bakmak için Harici Araçlar'ı seçin .
Ardından, kopyalanan sorguyu çalışma alanının içine yapıştırın.
Ölçüdeki Değişkenler
İlk değişken, panodaki dilimleyici olan DateClosed'dir . Dilimleyicideki belirli dönemlerin değerlerini almak için Fact tablosundan bir sütun kullanır.
Bir sonraki değişken, İş Kaybı verilerinin Yanlış veya Boş olup olmadığını kontrol eden İşKaybıdır .
Son değişken MatrixVisual'dır . Bu, kodun kalbidir. Matris görsellerini doldurmak için LuckyTemplates tarafından oluşturulan özetlenmiş sütunu gösterir. İş Kaybı Tipini bu matriste gruplandırır ve dilimleyicilerden gelen filtreleri enjekte eder. Ardından, genişletilmiş sütunlar ekler.
Özet sütunu yürütmeyi tamamladığında, kodun altındaki bölmede sonuçları göreceksiniz.
LuckyTemplates, matris görsellerini doldurmak için sonucu kullanır.
DAX Studio İçin Soğuk Önbellek
Ardından, tüm kodu yürütmek için geçen süreyi kontrol etmeniz gerekir. Bunu yapmak için Sunucu Zamanlamaları'nı açın ve ardından Önbelleği Temizle Sonra Çalıştır'ı seçin .
DAX Studio kullanarak LuckyTemplates'da bir ölçüyü optimize etmeye çalışırken , alacağınız zamanın doğru olması için soğuk önbellek senaryosunda çalışmak daha iyidir. Ardından F5'e basın ve Server Timings sekmesinde işlemin tamamlanmasını bekleyin .
Tamamlandığında, toplam yürütme süresinin 3,6 saniye olduğunu görebilirsiniz. Zamanın çoğunu formül motorunda geçirdi ve depolama motorunda 57 milisaniye harcadı.
Ayrıca 383 depolama motoru sorgusu bulduğunu da görebilirsiniz. Tüm bu sorgulardan, yeniden kullanılabilmeleri için belleğe dökülen 327 tane var.
2. LuckyTemplates'da Bir Ölçümü Analiz Edin
Ardından, bu 3 özdeş önlemi optimize etmeniz gerekir.
Bu ölçüleri farklı bir dosyaya çıkarmanız ve onu kullandığınız veri modeline bağlamanız gerekir.
Bundan sonra, doldurma görsellerinde 3 önlemin aldığı süreyi görmek için Sunucu Zamanlamaları'nı başlatın.
Çalışmanın sonuçları, ölçümlerin bir sonuç almak için 1,85 saniye sürdüğünü gösteriyor.
Sonuç, özetlenmiş sütunlara ait 10 satır ve 3 genişletilmiş sütundan oluşan bir tablo gösterir.
Kayıp Türü sütunu, kodun teşvik yüzdelerini elde etmek için hesapladığı 10 benzersiz değer içerir.
Kodun aldığı süre katlanarak yüksektir. Bunları optimize etmeniz gereken yer ve zaman burasıdır.
LuckyTemplates'da RB Teşviki % Ölçüsü
Bu, LuckyTemplates'da bir RB Teşviki yüzdesi ölçüsüdür. Bu örnekte kullanılan 3 ana önlemden biridir.
Teşvik yüzdesini hesaplamaya çalıştığını görebilirsiniz.
Geçerli filtre bağlamında Kayıp Tür değerini alan JobType adlı bir değişkene sahiptir. Ayrıca, geçerli filtre bağlamında yalnızca tek bir değerin görünüp görünmediğini de kontrol eder. Bir koşul her karşılandığında karşılık gelen sonucu vermesi için bir işlevi kullanmanız gerekir .
Bu önlem kodu, kodun toplam süresinde süreyi artıran çok miktarda depolama motoru yağı üretir.
Şimdi, ölçümün ürettiği depolama motoru sorgularının miktarını kontrol etmek için DAX Studio'ya geri dönün.
Yürütmenin 600 milisaniye sürdüğünü ve 10 satır için verileri kolayca almanın 43 depolama motoru sorgusu sürdüğünü görebilirsiniz.
Şimdi, depolama motorundan talep edilen verileri kontrol edin. İlk sorguda, bir İş Kaybı Türü ve İş Kaybı Türü için DCOUNT vardır.
Bir sonraki sorguda, rapordaki dilimleyiciden olan İşlerin Kapanış Tarihi vardır.
Üçüncü kodda, geri arama veri kimliğine sahip başka bir İş Kaybı Türü göreceksiniz.
Başka bir satırda en önemli kod satırlarını göreceksiniz.
İlk gördüğünüz şey, Alınan İş Ödemesi, Faturalanan ve Fiili Giderlerin
Sonraki, bir koşulu ve buna karşılık gelen sonucu belirten WHERE işlevidir. Sonuç, dilimleyici seçimine ve RB Teşviki % ölçümündeki anahtar ifadesine göre değişir.
12. ve 14. satırlardaki kodların da aynı olduğunu fark edeceksiniz.
Sağa kaydırırsanız, aynı sorguları içeren satırların olduğunu görebilirsiniz. Satırlardaki sorgular, RB Incentive% ölçüsündeki switch deyimi tarafından yönlendirilir.
LuckyTemplates'da RB Teşviki % ölçümüne geri dönerseniz, bir sorgunun tekrarlanma sayısını ve bunun depolama motoru sorgularına nasıl yansıdığını görebilirsiniz.
IF ve Switch'in Arkasındaki Mantık
ve SWITCH işlevlerinin mantığını anlamanız gerekir .
Bunları bir Sorgu Planında ayrı ayrı yürütmeniz gerekir. Ancak bunu yapmadan önce veritabanına bağlandığınızdan ve Sorgu Planını açtığınızdan emin olun.
SWITCH deyimini sorgu planında yürütün . Ardından, ifadeyi vurgulayın ve ardından enter tuşuna basın.
Bu, farklı işlemlerle bir Mantıksal Sorgu Planı oluşturacaktır.
Ardından, ifadeyi vurgulayarak ve enter tuşuna basarak IF ifadesini yürütün.
Aynı Mantıksal Sorgu Planını oluşturduğunu görebilirsiniz.
Bunun nedeni, bir SWITCH işlevini her kullandığınızda motorun bu işlevi dahili olarak bir EĞER deyimine dönüştürmesidir. Ancak , kodunuzun okunabilirliğini artırdığı için bir SWITCH ifadesi önerilir.
Bundan sonra, IF veya SWITCH işlevinde bir kodun nasıl yürütüldüğünü anlamanız gerekir .
Bu, içinde bir SWITCH ifadesi bulunan örnek bir koddur .
Hepsi farklı sütunların TOPLAMI olan Brüt Kar, Toplam Tahmin ve Toplam Faturalanan ölçülerine sahiptir. Ayrıca , İş Kaybı Türü üzerinde bir işlevine ve bir SWITCH ve TRUE deyimine sahiptir .
Bu kodu çalıştırdığınızda, fonksiyonların arkasındaki mantığı göreceksiniz.
İlk sorgu, İşler tablosundan farklı İş Kaybı Türünü alır.
İş Kaybı Türü dışında, İş Tahmininin toplamını da alır.
WHERE koşulunun içinde , İş Kaybı Türü sütununda bulunan değerleri de görebilirsiniz.
3. Kod Değerlendirme Yöntemlerini Kullanın
DAX'ta kodları değerlendirmede 3 yöntem vardır:
Bu yöntemler, LuckyTemplates'da bir kodu veya ölçümü iyileştirmenize yardımcı olur.
1. Yöntem: Sıkı Değerlendirme
Aşağıda gösterilen örnek, Sıkı Değerlendirme yöntemini kullanır.
Bunun arkasındaki mantık, İş Kaybı Türü içeriği A'ya eşitse, Brüt Kârı sağlayacağıdır. Aksi takdirde, Toplam Tahmini verir. Kod, İş Kaybı Türündeki her satır için bunu yapar.
Bu, LuckyTemplates'da Kesin Değerlendirme kullanan başka bir örnek ölçüdür.
Bu kodu yürüttüğünüzde, 5 adet depolama motoru sorgusu üretecektir.
Sıkı Değerlendirme ile, Brüt Kârın 1,4 ile çarpımı Ortalama Tahminden büyükse, kod Toplam Tahmini sağlar. Aksi halde Brüt Kârı verecektir.
Strict Evaluation kullanmak, daha fazla depolama motoru sorgusu üretir, çünkü IF ifadesi Brüt Kâr rekabetini birden çok kez kontrol eder ve sonunda tüm işlemin performansını engeller.
2. Yöntem: İstekli Değerlendirme
Bu, önceki örnekle aynı koddur.
Ancak IF ifadesinin içindeki ölçüleri hesaplamak yerine , RETURN'den önceki her şeyi hesapladı .
Bu, ifadeleri kontrol etmeden önce, tüm İşler Kayıp Türü için Brüt Kar ve Toplam Tahminin tüm değerlerini aldığı anlamına gelir.
Bu kodu çalıştırdığınızda, depolama motorlarının sayısı 3'e düşürülür.
Tüm operasyonun performansını artırır.
İlk işlem sorgusunda İş Kayıp Tipi ile İş Tahmini ve Brüt Kâr toplamını alır.
Bir sonraki sorgu, İşler Stabilinden İşler Tahmininin toplamını alır. Bu, Ortalama Tahminin hesaplanmasında kullanılır.
Son sorgu, ADDCOLUMNS üzerinde yazılan değerler için farklı İş Kaybı Türünü verir .
Eager Evaluation'ı kullanmak, her şeyi tek bir veri önbelleğinde alır. Veriler ayrıca formül motorunda değerlendirilir ve yinelenir. IF ifadesi , Doğru veya Yanlış değerlendirmesine bağlı olarak Toplam Tahmini veya Brüt Kârı döndürür.
Hevesli Değerlendirme, kodlarınızı optimize etmede her zaman en iyi yöntem değildir. Sıkı Değerlendirme, karmaşık kodlarınız varsa daha iyi bir performansla sonuçlanacaktır. Her şey, DAX kodu içinde kullandığınız işlevlere bağlıdır.
Eager Evaluation'ın dezavantajı, bir IF veya SWITCH deyiminden önce değerli öğeler oluşturursanız ve deyim içinde asla yürütülmemesi gereken değişkenleri kullanırsanız, motor bu değişkenleri yine de hesaplayacaktır.
İşte dezavantajın bir örneği:
İdeal olarak, İş Kaybı Türü A'ya eşitse, Brüt Kar elde etmelidir. Aksi takdirde, Toplam Tahmin alır.
İş Kaybı Türü sütununda A'ya eşit bir değer olmadığı için, her zaman Toplam Tahmini alması gerekir. Ancak yine de veri önbelleğinde Brüt Kâr sağlar.
İlk sorguya bakarsanız, İş Kayıp Türü ile İş Brüt Kar ve Tahmininin toplamını alır.
Bir sonraki sorguda, İşler tablosundan ayrı bir İş Kaybı Türü alır.
3. Yöntem: IF.EAGER Değerlendirmesi
Sonraki yöntem, Eager Evaluation'ın davranışını kopyalayan IF.EAGER işlev değerlendirmesidir.
Katı Değerlendirmeyi temsil eden bir kod yazmanıza ve bunu Eager Evaluation ile yürütmenize olanak tanır.
Bu örnek koda bakarsanız, Sıkı Değerlendirme koduyla aynıdır. Tek fark, bunun IF yerine IF.EAGER işlevini kullanmasıdır .
Kodu yürütmeden önce LuckyTemplates modeline bağlandığınızdan ve Sunucu Zamanlaması'nı açtığınızdan emin olun. Bittiğinde, F5'e basın.
3 depolama motoru sorgusu oluşturduğunu görebilirsiniz.
İlk sorgu, İş Kaybı Türünü ve İş Tahmini ile Brüt Kârın toplamını alır.
İkinci sorgu İş Tahmininin toplamını alır.
Son sorgu, İşler tablosundan farklı İş Kaybı Türünü alır.
İstekli Değerlendirme ile aynı davranışı gerçekleştirdiğini fark edeceksiniz.
Değerlendirme Yöntemleri Özeti
Hesaplamalarınızın performansını iyileştirmeye çalışırken aşağıdakileri hatırlamanız gerekir:
Ancak, raporunuzda gerçekten en iyi neyin kullanılacağını bulmak için bu üç yöntemi test etmeniz gerektiğini unutmayın.
4. LuckyTemplates'da Bir Ölçümü Optimize Edin
Bu eğitimdeki ana ders, kodlarınızı optimize etmektir.
Geri dönün ve Strict Evaluation kullanılarak yürütülen %RB Teşviği ölçüsüne bakın . Ardından, Eager Evaluation'ı kullanarak değerlendirmeyi deneyin.
Değişkenler oluşturarak ve RETURN işlevini girerek başlayın.
Ölçü referanslarını değişkenlerle değiştirin.
Ardından ölçümü onaylayın ve performansı iyileştirip iyileştirmediğini görmek için DAX Studio'ya gidin.
Toplam sürenin 642 milisaniye olduğunu ve toplam depolama motoru sorgusu sayısının 39'a düşürüldüğünü gösterir.
Şimdi, tüm veriler için değişkenleri oluşturun ve tüm ölçü referanslarını karşılık gelen değişkenlerle değiştirin.
Ardından, ölçümü onaylayın ve kodu DAX stüdyosunda yürütün.
Toplam yürütme süresi ve depolama motoru sorgularının toplam miktarı sırasıyla 600 milisaniyeden 170 milisaniyeye ve 43 sorgu 15 sorguya düşürüldü.
Yinelenen olmadığını da görebilirsiniz. Kodunuzda değişkenlere sahip olmak, bunların okunabilirliğini ve performansını artırır.
LuckyTemplates'da Bir Ölçüm İçin Gelişmiş Optimizasyon
Ardından, DAX kodlarınızı daha da optimize etmeniz gerekir.
kullanmak yerine işlevini kullanın .
HASONEVALUE, çok yoğun bir işlem olan filtre bağlamında mevcut değerlerin sayısını sayar. Bu sırada ISINSCOPE , girilen kolonun gruplandırma için kullanılıp kullanılmadığını kontrol eder.
İşlevleri değiştirdikten sonra ölçümü onaylayın ve DAX Studio'da yürütün.
Şimdi depolama motoru sorgularının sayısının 12 olduğunu görebilirsiniz. Toplam yürütme süresi de 105 milisaniye oldu.
2. sorguda, bir Geri Arama veri kimliği göreceksiniz.
Metin alanıyla SELECTEDVALUE kullandığınızda bu bazen olur. Geri arama verilerini gördüğünüzde, depolama motoru, kodun karmaşıklığını çözmeye yardımcı olması için formül motorunu çağırır. Bu, ölçümünüzün performansını yavaşlatır.
Raporunuzda daha iyi bir performans elde etmek için Geri Arama verilerini kaldırmanız gerekir. Bunu yapmak için veri modelinde bir yapılandırma tablosu oluşturmanız gerekir.
Veri Gir seçeneğine gidin ve verileri yapıştırın. Tabloyu LossTypeConfigTable olarak adlandırın .
Ardından, içe aktaracağınız sütunun veri türünü değiştirmek için Düzenle'ye tıklayın.
SELECTEDVALUE işlevi içinde kullanılabilmesi için Kayıp Türü Kimliğinin veri türü bir öğretmen değeri olmalıdır .
Modele yüklendikten sonra, Kayıp Türüne göre İşler tablosu ile LossTypeConfigTable tablosu arasında bir ilişki oluşturun.
Bir ilişki oluşturduktan sonra İşler tablosuna gidin ve yeni bir sütun ekleyin. Buna Kayıp Kimliği deyin ve ardından formülü girin.
Yapılandırma tablosu için işlevini kullanın ve ardından Kayıp Türü Kimliğini ayıklayın.
Ardından, RB Teşviği % ölçümüne geri dönün ve metin alanı yerine sayısal alana başvurun. SELECTEDVALUE içinde , Loss Type'ı Loss ID ile değiştirin.
Ardından, kodun içindeki tüm ölçüleri değiştirin. İş Türünü kontrol ederken metin değerleri yerine bir tamsayı değeri kullanın.
Kodu değiştirdikten sonra ölçümü onaylayın ve DAX Studio'da yürütün.
Geri arama veri kimliği sorguda ortadan kaldırılır ve kodun yürütme süresi 93 milisaniyeye düşürülür.
RB Teşviği %'si artık tam olarak optimize edilmiştir.
5. LuckyTemplates'daki Diğer Ölçüleri Optimize Edin
Ayrıca WR Incentive% ve QB Incentive% ölçümlerini de optimize etmeniz gerekir.
RB Teşviği % ölçüsünde kullanılan tam kodu kopyalayıp yapıştırın. Ardından, 3 önlemi birlikte çalıştırın.
Toplam yürütme süresi optimize edildi ve 1855 milisaniyeden 213 milisaniyeye düşürüldü. Ayrıca yalnızca 12 depolama motoru sorgusu vardır.
İlk iki sorgu, filtre bağlamını oluşturur ve geri kalanı, İş Kaybı Türü sütunundaki değerlerin tam sayısını temsil eder.
Tüm önlemler optimize edildiğinden, orijinal kodu çalıştırın ve performansın nasıl değiştiğini görün. Veriler, şimdi 1,9 saniyede hesaplandığını gösteriyor.
Tüm kodun performansı artık optimize edilmiştir, bu da raporunuzu daha hızlı ve daha iyi hale getirir.
Bu Yeni Kursla DAX İşlevlerini Optimize Edin
Daha Fazla Optimize Edilmiş Veri İçin Basit LuckyTemplates Dönüşümleri
Gelişmiş DAX Kullanarak LuckyTemplates Formüllerini Optimize Edin
Çözüm
LuckyTemplates raporlarında, DAX kodlarınızın sorunsuz çalışmasını sağlamak için önlemler optimize edilmelidir. Bu aynı zamanda raporunuzun genel performansını da artırır.
LuckyTemplates'da ölçümünüzü iyileştirmenin farklı yöntemlerini öğrendiniz ve raporunuzun bağlamına bağlı olarak hangisini kullanacağınızı nasıl değerlendireceğinizi öğrendiniz.
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
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.
Python'da Self Nedir: Gerçek Dünyadan Örnekler
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.
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.
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.
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 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.
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.
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.