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, daha önce ele aldığım bir konuyu, List.Zip kullanarak Power Query'de birden çok sütunun özetini kaldırma hakkında yeniden ele alacağız. Bir LuckyTemplates üyesi, forumda yöntemin nasıl dinamik hale getirileceğini sordu. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.
Bunu gelişmiş olarak etiketledim çünkü birkaç M işlevi yazacağız ve bunlardan bazıları sizin için yeni bile olabilir.
Bununla birlikte, Power Query'ye geçelim.
İçindekiler
Tablo Formatındaki Veriler
Gördüğünüz gibi, bu veriler zaten analiz için uygun bir tablet formatına dönüştürülmüştür. Bu süreç, çok önemli olmasına rağmen, burada ele alınmayacak, ancak kısaca her bir adımın üzerinden geçeceğiz.
Kaynak adımında, yukarıda listelenen özelliklerin her biri için saat ve kişiler olan değer çiftlerinin sürekli tekrarını görüyoruz.
Uygulanan Adımlar bölümünde kalan adımları görebilirsiniz. Bazı üst satırları kaldırdık, boş sütunları kaldırdık, metin değerlerimizi temizledik ve doldurduk. Ardından verilerimizi aktardık, boş kaydı kaldırdık, birinci ve ikinci sütunları birleştirdik, metin değerlerimizi tekrar temizledik ve verilerimizi geri aktardık.
Daha sonra daha ayrıntılı olarak inceleyeceğimiz özel bir adım oluşturduk, listemizden değerler çıkardık ve en sonunda türünü değiştirdik.
Kodun tamamına bakalım. Burada ilgilendiğimiz şey List.Zip işlevi. Kısa özet, tek bir listeyi parametre olarak alır ve ardından bir liste döndürür. Sonuç olarak, bu örnekte bu tek listenin üç ayrı liste içerdiğini görüyoruz.
İlk listeyi incelersek, sabit kodlanmış öznitelik adlarını, yalnızca yazılan metin değerlerini içerir. İkinci liste, saat değerleri için sabit kodlanmış sütun referanslarını içerir. Son liste, kontak değerleri için sabit kodlanmış sütun referanslarını içerir.
List.Zip daha sonra bu üç listenin her birinden bir öğe alır ve bunları yeni bir listedeki konumlarına göre birleştirir. Örneğin, bu listelerdeki her bir ilk öğe yeni bir listede birleştirilir. Aynısı, o listede ikinci sırada listelenen tüm değerler için olur ve bu böyle devam eder.
Özniteliklerin zaman içinde değişme olasılığı düşükse, sabit kodlanmış değerler söz konusu olabilir. Bu nedenle, bir dahaki sefere tüm öğeler mevcut değilse veya yeni öğeler varsa, başınız belaya girebilir.
Birden Çok Sütunu Dinamik Olarak Açığa Çıkarmak İçin Kodu Değiştirme
Peki bunu nasıl dinamik hale getireceğiz?
Yaptığım ilk şey, bunu başarmak için ayrı bir adım tasarlamak zorunda kalmadan bu öznitelik değerlerini alabileceğimiz bir yer olup olmadığını görmek için kodu adım adım ilerletmek. Kodda geri adım atacağız ve bu RemoveNull adımı mükemmel.
Burada, birinci sütunda tüm öznitelik değerlerini listelediğini görebilirsiniz. Bunları ayıklamak için kullanıcı arayüzünü kullanabiliriz.
Bu nedenle, bu başlığa sağ tıklayın ve aşağıdan Add as new query öğesini seçin .
Bu listeyi alıyoruz ve bu iyi bir haber çünkü daha önce gördüğümüz sabit kodlu listeyi dinamik olanla değiştirmek istiyoruz. Tek yapmamız gereken değerleri düzenlemek.
Bu boş değerleri kaldırarak başlayalım. Böylece formül çubuğunun içine bir List.RemoveNulls ekleyeceğiz . Şimdi görebileceğiniz gibi, tüm öğeler tekrarlanıyor ve bunun nedeni değer çiftleri. Saatler için bir kez listelenir.
Ve yine, kişiler için bu kopyaları kaldırmak üzere bir List.Distinct ekleyebiliriz . Şimdi bu mantığı oluşturduk ve tek yapmamız gereken onu kopyalayıp örnek sorgumuza geri yapıştırmak.
Örnek sorguda Gelişmiş Düzenleyici'yi açın ve yeni bir değişken adı oluşturun. Buna AttributeList diyelim . Sonra kodu yapıştırıyoruz ve virgül koyuyoruz.
Şimdi Özel adımımıza geri dönelim . List.Zip içinde, bu ilk listeyi değişken adımızla (AttributeList) değiştirebiliriz.
Şimdi ikinci listeye daha yakından bakalım. Sütun adlarına atıfta bulunduğunu biliyoruz ve bu sütun adlarının her biri, o listede zaten sahip olduğumuz aynı öznitelikle başlar, ardından bir boşluk ve "saat" metni gelir.
Her öğeye bir sonek eklememiz yeterlidir. Öyleyse bir adım geriye gidelim ve biraz mantık oluşturmak için özel bir sütun ekleyelim.
Birden Çok Sütunu Dinamik Olarak Açın: Özel Sütun Mantığı Ekleme
Bu sadece geçici bir sütun, bu yüzden ona özel bir isim vermemize gerek yok. İşimiz bittiğinde kaldıracağız.
Bir listedeki değerleri değiştirmek için List.Transform fonksiyonunu kullanabiliriz . AttributeList içindeki değerleri dönüştürmemiz gerekiyor , bu yüzden onu yapıştıracağım.
Burada başlıklarda metin değerlerinin büyük harfle başladığını, geri kalanının küçük harfle yazıldığını görüyoruz. Niteliğimiz yalnızca büyük harfli bir kelime içeriyor, bu nedenle bu metin değerini de dönüştürmemiz gerekiyor. Ve listenin her bir öğesine erişmek için alt çizgiyi kullanabiliriz ve bu soneki ekleyeceğiz.
Bununla sütunumuzda bir liste değeri elde ederiz. Hangisini seçtiğinizin bir önemi yok, ancak buradaki herhangi bir beyaz alanda yan tarafa tıklamanız yeterli.
Sayfanın altında, oluşturduğumuz listenin önizlemesini görüyoruz. Gördüğünüz gibi, bu sütun başlıklarının artık düzgün bir şekilde kaplandığını görüyoruz, böylece burada gördüğümüz sütun başlıklarıyla bu listeyle eşleşiyor.
Artık, erişmek istediğimiz alanları kaydımızdan belirleme araçlarına sahibiz. Özel sütun iletişim kutumuzu tekrar açalım ve Record.SelectFields ekleyelim . Kayıt olarak bir kayıt istiyor, böylece üzerinde bulunduğumuz mevcut kayda erişmek için bu alt çizgiyi kullanabiliriz. Sonra ona tüm bu alan adlarını içeren bir liste verdik, bu yüzden bir kapatma parantezi ekleyin ve Tamam'a basın .
Yani artık bir listemiz yok ama artık bir kayıt alıyoruz. O kaydın içeriğini görmek için tekrar beyaz boşlukta yana doğru tıklayalım. Burada kayıt alanı adlarını ve kayıt alanı değerlerini listelediğini görüyoruz.
Ancak biz sadece kayıt alanı değerleriyle ilgileniyoruz, bu yüzden onu çıkarmamız gerekiyor. Özel sütun iletişim kutumuza geri dönelim ve Record.FieldsValues ekleyelim .
Şimdi tekrar bir liste alıyoruz ve artık bir kayıt yok. Tekrar beyaz boşlukta yan tarafa tıklıyoruz ve artık sadece bu değerleri içeren bir listemiz olduğunu görüyorsunuz. Yani bu iyi görünüyor.
Son kapatılan parantezler hariç oluşturduğumuz mantığın tamamını kopyalayalım. Ve artık geçici sütunumuzu kaldırabiliriz çünkü artık ona ihtiyacımız yok.
Formül çubuğumuzda ikinci listemizi seçip mantığımızla değiştiriyoruz.
Kişiler için kayıt alanları değerleri içeren bir liste oluşturmak için tek değiştirmemiz gereken sonek. Böylece o son listeyi de seçip mantığımıza yapıştırabiliriz.
O zaman hours yerine , bunu contact olarak değiştirelim .
Hata yok ve iyi görünüyor. Bu, artık birden çok sütunun özetini çıkarmak için dinamik bir çözümdür.
LuckyTemplates Özeti Çıkarma Sütunları – Power Query Eğitimi
LuckyTemplates'da Sütunları Özetlemeden Çıkarma
LuckyTemplates'da Özeti Açma ve Özetleme Temelleri – Sorgu Düzenleyicisi İncelemesi
Çözüm
birden çok sütunu dinamik olarak bu şekilde özetleyebilirsiniz .
Yeni bir özellik gelirse, AttributeList tarafından otomatik olarak alınır. Ve bir öğe artık mevcut olmadığında, o listede bulunmayacaktır.
Umarım bundan hoşlanmışsındır. Bu eğitimle ilgili daha fazla ayrıntı için aşağıdaki videonun tamamını izleyin ve LuckyTemplates'da birden çok sütunu özetlemeyle ilgili daha fazla içerik için aşağıdaki bağlantılara göz atın.
Herşey gönlünce olsun
melisa
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.