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 eğitimde, eminim ki hepinizin DAX ile çalışırken zaten karşılaşmış olduğu çok özel bir senaryoya – genişletilmiş tablo – göz atacağız . Genişletilmiş tablolar, gerçekte nasıl çalıştıklarını bilmiyorsanız, hesaplamalarınızı bozabilir. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.
Bu örnekte, satış tablosu , müşteri tablosu , tarihler tablosu , ürünler tablosu , ürünler kategorisi tablosu ve ürünler alt kategorisi tablosunu içeren Contoso veritabanını kullanıyoruz .
Sol tarafta, ürünler, kategori, alt kategori ve satış tabloları arasında bire çok ilişkimiz var. Ayrıca müşteri ve satışların yanı sıra tarihler ve satışlar arasında bire çok ilişkimiz var.
İçindekiler
Örnek 1
Diyelim ki kategori tablosundaki bu kategori sütunundan bir rapor oluşturmak ve müşteri tablosunda kaç müşteri olduğunu hesaplayan bir ölçü kullanmak istiyoruz. Müşteri tablosunun numarasını kategoriye göre dilimlemek istiyoruz.
Kategori tablosuna bir filtre koyarsam, o filtre alt kategori tablosuna gidecek, oradan ürünler tablosuna gelecek ve son olarak da satış tablosuna ulaşıp filtreleyecek. Ancak bu filtre, çift yönlü filtrelemeyi açmadığımız sürece müşterinin tablosunu filtreleyemez.
Bu hesabı düzeltmek için rapora geri dönelim. Bu hesaplamayı HESAPLA işlevinin içine sarabilir ve ardından Satış yazabiliriz. Görüyoruz ki bu sefer görselin her hücresinde aynı sayıyı tekrar etmiyoruz.
Bu hesaplamanın doğru olup olmadığını doğrulamak için satış tablosundan müşteri anahtarını bir araya getirebilir ve ardından bunun üzerinde bir Sayım (Farklı) yapabiliriz.
Her satır için aynı değeri döndürdüğümüzü görebilirsiniz. HESAPLA işlevi içindeki satış tablosunu kullanarak hesaplamayı düzeltebildik.
Örnek 2
Bir sonraki örneğe geçelim. Bunun için kırmızı ürünlerin 2007, 2008 veya 2009 yıllarındaki satış miktarlarını belirlemek istiyoruz. Dilimleyici seçimine bağlı olarak bir yıl geriye de gitmek istiyorum.
Örneğin 2009'u seçersem 2008 kırmızı satışlarını raporlamak istiyorum. 2008'i seçersem 2007 kırmızı satışlarını da raporlamak istiyorum.
Kırmızı Satış # 1
Toplam Satışlarımızın hesaplanması temel olarak satış verilerinin bir toplamıdır. Satır bağlamında, miktarı net fiyatla çarpacağız.
Yeni bir ölçü oluşturalım ve adını Red Sales koyalım. HESAPLA yazacağız, ardından Toplam Satışlar. ürünlerin renginin kırmızıya eşit olduğunu göstermek Satış tablosunu FİLTREleyeceğiz .
Daha sonra tarih sütununa tarihlerin üzerine yazacağız .
Bir kart görselinde o hesaplamayı getirdiğimizde bir boşluk elde ediyoruz.
Kırmızı Satış #2
Burada ne oluyor? Bu hesaplamayı yeniden yazmaya çalışalım ve bir sonuç alıp alamayacağımıza bakalım. Yeni bir ölçü oluşturup Red Sales 2 olarak adlandıracağız ve hesaplamanın ilk kısmını Red Sales 1 için kullanacağız.
İlk HESAPLAMA üzerinden başka bir HESAPLAMA başlatacağız.
Bu ölçüyü matrise getirelim ve sonuçları görelim. 2008'i seçersek 51.947 elde ederiz. 2009'u seçersek 24.343 elde ederiz. Son olarak 2010'u seçersek 39.724 elde ederiz.
Kırmızı Satış #3
Bu hesaplamayı yazmanın başka bir yolu daha var. Yeni bir ölçü yazıp buna Red Sales 3 adını vereceğiz, ardından HESAPLA işlevini kullanacağız.
Toplam Satışı hesaplayacağız ve ürünler için rengin kırmızıya eşit olduğunu yazacağız. Ardından, tarihlerde SAMEPERIODLASTYEAR işlevini kullanın.
3 numaralı ölçüyü kart görseline sürüklersek, bu iki kart değerinin aynı değeri döndürdüğünü görebilirsiniz ki bu doğrudur.
Ancak ilk hesaplamamızda yanlış olan bir şey var çünkü doğru değeri değil, bir boşluk döndürüyoruz.
Bakalım burada gerçekte neler oluyor. Genişletilmiş tablolarda birkaç hesaplama gördüğümüze göre, bunların arkasındaki teoriyi anlayalım.
Genişletilmiş tablonun ne olduğunu anlamadan önce, burada sahip olduğumuz tüm tabloların temel tablolar olarak adlandırıldığını anlamanız gerekir .
Peki bu tablolar ne zaman genişletilmiş tablolar haline gelir? Bir tablo ile başka bir tablo arasında çoktan bire bir ilişki oluşturduğunuzda, temel tablo genişletilmiş tablo haline gelir.
Genişletilmiş Tabloları Doğrulama
Ancak bir tablo genişletmenin gerçekten gerçekleştiğini nasıl doğrulayabiliriz? İlgili anahtar kelimeyi herhangi bir tabloda kullanabilirsiniz. Sütuna bir taraftan erişebiliyorsanız, o zaman bir tablo genişletmenin gerçekleşebileceğini bileceksiniz.
Satış tablosuna gidelim ve yeni bir hesaplanan sütun oluşturalım.
Diyelim ki bu özel ürün anahtarı için ürün tablosundan ürün rengini almak istiyoruz. Yalnızca IntelliSense'te satış tablosundan gerçekten genişletilebilen sütunların listesini verecek olan RELATED'i kullanacağız.
Müşteri tablosu ile satış tablosunun çoktan bire bir ilişkisi olduğunu görebiliriz. Müşteri tablosu sütunlarının, tarih tablosu sütunlarının ve ürün sütunlarının listesini de görebiliriz.
Ürünler[Renk]'i seçtiğimizde RELATED anahtar sözcüğü yardımıyla satış tablosunda yeni bir sütun oluşturabiliriz. RELATED, yalnızca temel tablonun gerçekten genişleyebileceği tablonun sütunlarına erişmemizi sağlar.
Bu ilişkinin doğasını çoktan bire değil çoktan çoğa değiştirirsek, bu hesaplama çalışmayı durduracaktır.
Bu ilişkinin doğasını çoktan çoğa değiştirelim. Alt kısımda bir uyarı sembolü aldığımızı görebiliriz.
Satış tablosuna geri döndüğümüzde Products[Color] sütununun ya bulunmadığını ya da herhangi bir tabloyla ilişkisinin olmadığını belirten hata mesajını görüyoruz.
Mevcut bağlamda, aldığımız uyarı pek kullanıcı dostu değil. Temel olarak, satış tablosunun ürün tablosuna genişleyemeyeceği anlamına gelir çünkü o satır öğesi için yalnızca tek bir değere erişemeyiz.
Çoktan çoğa ilişkiyi kullandığımız için tablo genişletme gerçekleşmez ve RELATED çalışmaz.
Diyagram görünümüne geri dönelim ve bu hesaplamayı düzeltelim. İlişkinin doğasını çoktan bire değiştireceğiz ve hesaplamanın işe yaraması için bu ilişkiyi etkinleştireceğiz.
Genişletilmiş Tabloları Tanımlama
Raporda zaten yaptığımız hesaplamalara bakmaya başlamadan önce, genişletilmiş tablonun tanımını tekrar edelim.
Yıldız şemasına sahip bir veri modeliniz varsa boyutlar ile olgu tablosu arasında çoktan bire bir ilişki varsa olgu tablosu veri modelindeki tüm tabloları kapsayacak şekilde genişler.
Bir kar tanesi şemanız varsa , ürün alt kategori tablosu ve kategori tablosu, bu durumda ürünler tablosu olan temel tabloya genişler. Satış tablosu, diğer tüm tablolara genişleyen temel tablodur.
Arka planda, satış tablosunda tüm sütunlar tek bir tabloda yer alacaktır. Tablo genişletmenin yalnızca mantıksal bir kavram olduğunu, bu nedenle veri modelinizin boyutunu genişletip artırmayacağını unutmayın.
Genişletilmiş tablo, yalnızca bir tabloya (temel tablodur) atıfta bulunduğunuzda ve diğer tablolarla çoktan bire bir ilişkiniz olduğunda ortaya çıkar.
Kategori Sütununu Dilimleme ve Genişletilmiş Tabloları Kullanma
Daha önce yaptığımız hesaplamaları rapor görünümünde düzeltmeye çalışalım. Bu örnekte ürünler kategori tablosundan kategori sütununa göre dilimleme yapıyoruz ve kaç müşteri olduğunu saymaya çalışıyoruz.
Peki biz aslında burada ne yapıyoruz? Genişletilmiş satış tablosunu referans olarak kullanıyoruz. Filtre bağlamı, kategori tablosundan bir değer içerdiğinde, bu filtre, alt kategori ürünlerinden satış tablosuna ve doğrudan satışa ulaşacaktır.
Satışlar genişletilmiş bir tablo olduğundan ve HESAPLA işlevinde bu referansı kullandığımızdan, satış tablosu müşteri tablosunun sütununu da içerecektir. Satış tablosu üzerinden filtre uygularken dolaylı olarak müşteri tablosunu da filtrelemiş oluyoruz.
Kırmızı satış hesaplamalarımıza geri dönelim ve gerçekte neler olduğunu anlamaya çalışalım. Boş hesaplama ile başlayacağız. O ölçüyü seçersek iç içe bir kod yazdığımızı görebilirsiniz. HESAPLA, ardından Toplam Satışlar, satışlar üzerinden FİLTRE ve AYNI DÖNEM YILI var.
Bu hesabı adım adım bozalım. İlk olarak, hesaplama dışında var olan harici filtre içeriğini belirlememiz gerekir.
Takvim Yılı Numara dilimleyicide 2008'i seçtik.
Bu filtre bağlamından, satış tablosu değerlendirilecektir. Satış tablosu sadece 2008 takvim yılı numarasına ait satırı içerecek ve ürün rengi kırmızı olacaktır. Burada iki filtremiz var: biri filtre içeriği tarafından yaratılıyor ve diğeri filter tarafından oluşturuluyor .
SAMEPERIODLASTYEAR, yılın 2008 olduğu filtre bağlamında değerlendiriliyor. 2008'de bir tarih listesi alacak ve 2008'deki bu tarihleri 2007'ye kaydıracak. 2007 tarihleri.
Bu iki işlem tamamlandıktan sonra HESAPLA işlevi filtre içeriğini hazırlar ve bu iki filtreyi filtre içeriğine uygular. Bunu uyguladığımızda, ürün renginin kırmızıya eşit olduğu bir filtre bağlamımız var ve yıl sütununda 2007 ve 2008'in üzerinde bir filtremiz var.
Dolayısıyla bu veri modeli için iki farklı yılda var olan tek bir işlem yoktur. HESAPLA bu iki filtreyi bir ve koşulunda birleştirmeye çalıştığında , yılın 2008 ve 2007 olması gerektiğini ve ürün renginin kırmızı olması gerektiğini söyleyecektir.
2008 filtre içeriği ile satış tablosunu filtrelerken dolaylı olarak tarih tablosunu da filtrelemiş oluyoruz. Satış istikrarlı, tarih istikrarlı ile çoktan bire bir ilişkiye sahiptir.
İlgili tarihler için tarihler tablosunda kaç satır olduğunu belirlemek için yeni bir hesaplama oluşturalım. Tarihler tablosunun HESAPLA, ardından yazacağız . Ardından satış tablosunun TÜMÜNÜ FİLTRE ETTİK ve takvim yılı numarasındaki İLGİLİ tarihlerin 2008'e eşit olması gerektiğini söyleyeceğiz.
HESAPLA içinde, tarihler tablosu üzerinden herhangi bir filtreye başvurmadık. Biz sadece takvim yılı numarasındaki tarihlerin 2008'den olması gerektiğini kontrol ediyoruz. İdeal olarak, bu filtrenin tarihler tablosunu filtreleyememesi gerekir. Ayrıca , dilimleyiciden gelecek filtre içeriğini yok sayan işlevini de kullanıyoruz .
Bu hesaplama için yeni bir kart oluşturalım. 348 satır döndürdüğümüzü görebilirsiniz.
Peki 2500 satırlık bir tarih tablosundan sadece 348 satır döndürmemiz nasıl mümkün olabilir? Genişletilmiş bir tablo kullanacaksak, çoka bir ilişkiyle bağlanan diğer tabloyu da dolaylı olarak filtreleyeceğiz.
Cari yıl için herhangi bir filtremiz olmamakla birlikte, bir tarafta sahip olduğumuz boyut tablosu için görünen satır sayısını hala sınırlıyoruz.
Satış tablosunu döndürürken aynı zamanda tarihler tablosu, müşteri tablosu, ürün tablosu, ürün kategori tablosu ve ürün alt kategori tablosunun filtrelenmiş bir sürümünü de döndürüyoruz.
Red Sales 2'yi Açıklamak
Bir sonraki hesaplama olan Red Sales 2'ye geçelim. Dış CALCULATE ile başlayacağız çünkü bu işlevi herhangi bir senaryoda yuvalıyorsak, dış CALCULATE iç CALCULATE için filtre bağlamını hazırlamalıdır.
Dilimleyicide 2008 takvim yılını seçiyoruz. SAMEPERIODLASTYEAR işlevi 2008 tarihini aldığında, bu tarihleri 2007'de kaydıracak ve iç hesaplama için FILTER bağlamı olacaktır. Bu iç HESAPLAMA, 2007 yılını değerlendirecektir.
FİLTRE fonksiyonu satış tablosunu filtreleyecek ve satış tablosu sadece 2007 yılının olduğu satırla sınırlı olacaktır. 2007 satırlarını aldığımızda ilgili ürünlerin kırmızıya eşit olup olmadığını kontrol edeceğiz.
İlk hesaplamanın aksine, iki farklı seviye döndürmüyoruz. Bu iki farklı katman, FILTER bağlamında uygulanmıyor, dolayısıyla FILTER işlevi tarafından döndürülen tablo, satış tablosunun tüm satırını içerecek.
Bu filtreyi uyguladığımızda 2007 yılı satış miktarı ve kırmızıya eşit olan ürünleri alacağız oysa ilk hesaplamada 2008 ve 2007 yıllarını geri getiriyorduk.
Bu sefer SAMEPERIODLASTYEAR fonksiyonunu kullanarak ve HESAPLA fonksiyonunu başka bir HESAPLA içine yerleştirerek satış tablosu için filtre içeriğini hazırladık.
Kırmızı Satışları Açıklamak 3
Üçüncü örnek için, iki ifade içeren çok basit bir HESAPLA işlevimiz var: biri ürün rengi eşittir kırmızı ve ardından tarihlerde AYNIPERIODLASTYEAR.
SAMEPERIODLASTYEAR işlevi, yalnızca 2007 tarihlerini içerecek bir filtre bağlamında değerlendirilecektir. Ürünlerin rengi, ürün tablosunun üzerine kırmızı bir filtre bağlamı uygulayacak ve bu da satış tablosunu filtreleyecek ve yalnızca şu satırları içerecektir: kırmızı ürünler.
Bu iki değer filtre bağlamında uygulandığında, genişletilmiş satış tablosunu değil, satış tablosunu filtreleyeceklerdir. kodun hiçbir yerinde genişletilmiş satış tablosuna başvurmadığımızı görebilirsiniz.
Genişletilmiş tabloya başvurmaya çalışıyorsanız kullanmanız gereken ideal senaryo budur. Genişletilmiş tabloyu kullanırken, hesaplamalar gerçekten karmaşık hale gelebilir ve bazen hesaplamalarınızın neden yanlış bir sonuç döndürdüğünü belirleyemezsiniz.
Genişletilmiş tablolar kavramını anlamıyorsanız, bu belirli kodu bir model ölçüsü olarak geliştirebilir ve ardından üretimde konuşlandırabilirsiniz. Diğer kullanıcılar bu ölçü üzerinden başka ölçüler oluşturmaya başlayabilir ve DAX dili hakkında o düzeyde bir anlayışa sahip olmadıkları için hesaplamaların neden işe yaramadığını anlayamayabilirler.
DAX ile çalışıyorsanız, filtreyi her zaman tek bir sütunun üzerine koymaya çalışın çünkü tek bir sütun kullandığınızda genişletilmiş tablolar kavramı uygulanmaz. Örneğin, PRODUCTS [Color] = “Red” kullandığınızda , filtre satış tablosuna ulaşır, ancak genişletilmiş satış tablosunu kullanmadığımız için o filtre müşterinin tablosuna ulaşamaz.
Tek bir sütun kullanırken, genişletilmiş tablo kavramını kastetmiyoruz. Satış tablosunun üzerine, diğer tablolara yayılmayan basit bir filtre uyguluyoruz.
Genişletilmiş Tabloları Doğrulamak için DAX Studio'yu Kullanma
Bitirmeden önce, Red Sales 3 kodumuzu doğrulamak için DAX stüdyosunu kullanacağız. Görünüm sekmesine gidelim, Performans Analizcisi'ne tıklayalım ve ardından kayda başlayalım. Bu görseli yenileyeceğiz ve boş bir kart seçeceğiz.
Harici araçlardan DAX stüdyosunu başlatacağız.
Alt kısımdaki sonuç ekranında bir boşluk aldığımızı görebiliriz.
Sahne arkasında oluşturulan sorguları anlamak için Sunucu Zamanlamaları'nı açacağız. Sunucu Zamanlamaları sekmesine gideceğiz ve her şeyi görmek için genişleteceğiz.
Sol taraftaki satış tablosunda JOIN yapıyoruz. Ürün tablosundan da ürün anahtarı üzerinde JOIN yapıyoruz.
WHERE maddesinde takvim yılı numarasındaki tarihlerin 2008 olması gerektiğini ve ürün renginin kırmızı olması gerektiğini söylüyor.
Ardından, Tarihler[Tarih] yazan ve ardından bir tarih aralığı yazan başka bir koşulumuz var. Peki nedir bu tarihler? İdeal olarak, bu tarihler 2008'e ait olmalıdır, ancak bu sayıların biçimlendirmesini Excel'de değiştirdiğimiz 2007 yılına aittir.
Bu nedenle boş bir değer döndürüyoruz. Takvim yılının 2008 olması gerektiğini söylüyoruz ve tarihlerin 2007 olması gerektiğini AND koşulunu uyguluyoruz. Bu 2007, hesaplamada kullandığımız SAMEPERIODLASTYEAR işlevinden kaynaklanmaktadır.
Ölçü ve referansı Red Sales 2 olarak değiştirelim. Kodu çalıştırdığımızda, tarihler tablosundan tarihleri aldığımızı, ardından 2008 takvim yılı numarası için tarihler sütununu filtrelediğimizi görebilirsiniz.
Bu sefer WHERE yan tümcesinde filtre uygulamadığımız ve takvim yılı numarasındaki tarihlerin 2008 olması gerektiğini söylediğimiz için sonuç döndürebiliyoruz.
LuckyTemplates'da DISTINTCOUNT Kullanarak Zaman İçinde Müşteri Sayımı Yapan Gizli DAX Tuzağı Nerede Bulunur
Gelişmiş DAX Kullanılarak Yeni Müşteri Analizi
Çözüm
Umarız bu eğitim, genişletilmiş tablonun ne olduğunu ve hesaplamalarınızı nasıl alt üst edebileceğini anlamanıza yardımcı olmuştur. Genişletilmiş tablolar gerçekten sezgisel değildir ve anlaşılması da kolay değildir.
Genişletilmiş tablolar hakkında daha fazla bilgi için LuckyTemplates TV kanalına abone olmayı unutmayın. LuckyTemplates ve Power Platform'u kullanma şeklinizi geliştirmeye adanmış, kendimden ve çeşitli içerik oluşturuculardan sürekli olarak gelen çok miktarda içeriğimiz var.
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.