Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bugün önemsiz boyut adı verilen bir veri modelleme konseptinden bahsetmek istiyorum . Adından, bunun aşağılayıcı bir teknik olduğunu ve kaçınmak isteyeceğiniz bir şey olduğunu düşünebilirsiniz, ancak aslında yararlı bir yaklaşımdır.

bir soru üzerinde çalıştım ve bunun için önemsiz bir boyut mükemmel bir çözümdü. Onu bir kez görüp anladığınızda, kendi çalışmanızda bunun için pek çok uygulama bulacaksınız. Bu eğitimin tam videosunu bu blogun alt kısmından izleyebilirsiniz.

İçindekiler

Önemsiz Boyutlar Nedir?

Kimball ve Ross'un boyutsal modellemenin kutsal kitaplarından biri olan The Data Warehouse Toolkit , bunu tipik olarak düşük kardinalite işaretlerinin ve göstergelerinin gruplandırılması olarak tanımlar . Düşük kardinalite, belirli bir alanda az sayıda benzersiz gözlem anlamına gelir.

Örneğimizde, özel bilgisayarlar oluşturma işimiz için bir veri modelimiz var. Veri modeli, siparişler ve faturalarla ilgilidir. Ayrıca işlemci tipini, kule konfigürasyon tipini (Kompakt veya Tam) ve amacı (Oyun veya İş İstasyonu) yakalayabildiğimiz bir dizi bayrağımız var .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Mutfak Önemsiz Çekmece Analojisini Kullanarak Önemsiz Boyutları Tanımlama

Bu alanların her birine bakarsanız, her alanda yalnızca iki benzersiz gözlem olduğunu görürsünüz. Bu, Kimball'un düşük kardinalite bayrağı olarak adlandırdığı şeydir . Soyut bir boyut yaratarak, kullanışlı bir boyutsal çerçeveye yerleştirirken olgu tablosundan bayrakları kaldırdığımızı söylüyor.

Önemsiz bir boyut için mutfak çöp çekmecesinin benzetmesi iyi bir örnektir. Herkesin lastik bantlar, zımba telleri, piller, doğum günü mumları vb. ile dolu bir çekmecesi vardır. Bunlardan herhangi birinin kendi çekmecesine sahip olması önemli değil, ancak onları koyacak bir yerinizin olması gerekiyor.

Bunları tutmak, olgu tablosunun balon gibi büyümesine neden olabilir. Diyelim ki bir milyon kayıt içeren bir olgu tablomuz var. Pek çok bilgisayar yaptık ve yaptığımız her bilgisayar için işlemciyi, kuleyi ve amacı işaretlememiz gerekiyor. Bu, sipariş edilen bir milyon bilgisayar sırası için olgu tablosunda 3 milyon bayrağımız olduğu anlamına gelir.

Olgu Tablosunun Boyutunu Küçültme

Bunları bir boyut tablosuna taşıyabilir ve olgu tablosundan 3 milyon işareti kaldırmak için yalnızca Model Kimliğine bağlayabiliriz. Bunu yapmak için bu bayrakların her biri için ayrı bir tablo oluşturabiliriz ve işe yarayacaktır. Ancak bu süreç, normalde tek sütunlu tablolardan kaçınmak istediğiniz veri modelini karmaşıklaştıracaktır.

İdeal çözüm , genel bir şekilde ilişkili olan bir grup düşük kardinalite bayrağına sahip olduğunuz önemsiz bir boyut kullanmaktır . Bunların tümü, inşa etmekte olduğumuz bilgisayarların nitelikleriyle ilgilidir, ancak normalde belirli bir boyut tablosu için sahip olacağınız gerçekten doğrudan bir şekilde değildir.

Forum Üyesinin Sorununu İnceleme

Forumda yayınlanan özel uygulamaya bir göz atalım. Üye, biri Stalled ve diğeri Active olmak üzere iki farklı alan oluşturmak istedi . Müşteri son 45 gün içinde bir işlem yaptıysa, işlem aktif olarak işaretlenir; aksi takdirde, durmuş olarak işaretlenir.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Üye ayrıca İstemci Tipi için çok sıralı veya tek sıralı başka bir boyut tablosu istedi. Hesap, geçmişte herhangi bir noktada tek bir hesap numarası kullanılarak iki veya daha fazla işlem yaptıysa, bu çok siparişli bir müşteri olarak kabul edilir. Ve belirli bir hesap numarası için yalnızca bir siparişleri olsaydı, bu tek siparişli bir müşteri olurdu.

Yani bunlar geliştirmek istediğimiz iki bayrak. LuckyTemplates'a atlayalım ve bunu nasıl yapacağımızı bulalım.

Önemsiz Boyut İçin Veri Modelleme

Veri modeline bir göz atalım. Bu gerçekten basit bir veri modeli. Genişletilmiş Tarihler tablomuz ve İşlemler tablomuz var .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

İşlemler tablomuzda yalnızca üç alan bulunur: hesap numarası , fatura tarihi ve satış miktarı .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Genel olarak, dönüşümü kaynağa yaklaştırabilirsek, bunu yaparız. Bu, bir raporlama oturumu sırasında dinamik değildir, dolayısıyla bunu DAX'ta yapmamıza gerek yoktur .

Bu seçeneğe sahipsek, bunu ya güç sorgusunda ya da veri ambarı/SQL'de yapıyor olmalıyız. Ama şimdilik, yapmadığımızı ve bunu sadece power query içinde yaptığımızı varsayalım .

Önemsiz Boyut İçin İstemci Türünü Belirleme

Yapacağımız ilk şey, ister tek sipariş ister çok sipariş işlemi olsun, müşteri türünü belirlemek. Group By , Count ve Count Rows kullanacağız .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Ardından tüm verileri ekleyin ve bunu bir Tüm Satırlar işlemi yapın , böylece birleştirilmiş tabloyu değil, her satırda o satırın bulunduğu ilk tabloyu döndürürüz.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Sonuca bir göz atalım ve genişletelim.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Özel bir sütun ekleyebilir ve bunu İstemci Türü olarak adlandırabilir ve ardından bir IF ifadesi oluşturabiliriz. İfade, Count 1'e eşitse, o zaman tek bir sıradır; Aksi takdirde, çok sıralıdır.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Sütunu bir metin türüne değiştireceğiz. Şimdi, olgu tablosunda ayarlanmış iki boyutumuzdan birine sahibiz.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

İkinci boyut tablosunu yapalım. Bunun için, en son sipariş bugünün tarihinden itibaren 45 gün veya daha azsa müşteri etkin olarak görüntülenir. Bugünden itibaren 45 gün içinde herhangi bir sipariş olmazsa müşteri etkin değildir.

Özel bir sütun ekleyeceğiz ve sütunu Today olarak adlandıracağız . Ardından, bize geçerli tarih ve saati vermek için DateTime.LocalNow'u , ardından bize yalnızca tarih bölümünü vermek için Date.From'u ekleyin .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bunu bir tarih veri türü olarak değiştirelim ve ardından sütunu öne taşıyalım.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

İki tarih sütunu arasında çıkarma işlemi oluşturmanın basit bir yolu var. Sadece bu iki tarihi vurgulayın, şeritte Tarihler'e tıklayın ve ardından Günleri Çıkar'a tıklayın .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bu size iki tarih arasındaki gün sayısı farkını verecektir. Bu yeni sütuna Bugünden Önceki Günler adını verelim .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bir sonraki adım, her bir hesap numarası için en son sipariş anlamına gelen bugünden önceki minimum günleri bulmaktır. Bu sayı 45'ten küçük veya eşitse, etkindir.

Başka bir Group By , ardından Advanced , ardından Account Number yapalım .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Yine, yeni sütun adı için Tüm Verileri ve işlem için Tüm Satırları kullanacağız .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bu kez, işlemi olarak Minimum ile Aradaki Minimum Günleri ve sütunu olarak Bugünden Önceki Günleri ekleyeceğiz . Bu bize en son siparişi verecektir.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Ardından All Data'yı genişletip Account Number'ı kaldırıyoruz .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bunu genişlettiğimizde, hesap numaraları için Aradaki Minimum Günlere sahip olacağız.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Son olarak, başka bir özel sütun ekleyeceğiz ve buna Client Timing adını vereceğiz . Aradaki Min Günlerimiz 45'ten küçük veya ona eşitse, o zaman Active veya Stalled olduğu bir what-if parametresi koyacağız .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Gereksiz Sütunları Kaldırma

Artık çok sayıda destekleyici sütunumuz olduğundan, Sütun Seç'e tıklayıp ihtiyacımız olmayanları çıkaralım.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Count , Today , Days Before Today ve Min Days Between sütunlarını kaldıracağız . Artık yalnızca orijinal olgu tablosuna artı İstemci Türü ve İstemci Zamanlaması sütunlarına sahibiz .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Bunları olgu tablosunda tutmak yerine, bu tabloyu çoğaltalım.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Yinelenen tabloya Account Flags adını vereceğiz .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

İşlemler tablosuna geri dönerek Client Type ve Client Timing alanlarını çıkaralım .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Artık orijinal olgu tablosuna ve Hesap Bayrakları tablosuna sahibiz.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Account Flags tablosu için Client Type ve Client Timing alanlarına ihtiyacımız olmadığı için bunları çıkarıyoruz. Sadece tüm bu alanları vurgularız, satırları kaldırırız ve kopyaları kaldırırız.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Artık önemsiz boyut tablomuz var. Geriye kalan tek şey Kapat ve Uygula'ya basmak . Bir sonraki adım , Hesap Bayrakları tablomuzdaki Hesap Numarasını, İşlemler tablomuzdaki Hesap Numarasına bağlamaktır .

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

İşlemler tablosu (olgu tablomuz) ile Hesap İşaretleri tablosu (çöp boyutu tablomuz) arasında bire çok ilişkimiz var.


LuckyTemplates'da Veri Modeli İlişkilerinizi Oluşturma
LuckyTemplates'da Veri Modelleme: İpuçları ve En İyi Uygulamalar

Çözüm

Client Timing ve Client Type boyutlarını tuvalimize bırakalım ve dilimleyicilere çevirelim. Artık tam olarak üyenin başlangıçta yapmak istediği şeyi yapabiliriz, yani bu niteliklere göre dilimleme.

Multi-Order'a tıklarsak, bizi sadece birden fazla siparişi olanlarla, Single-Order'a gidersek, bizi tek satın almaları olanlarla bırakır.

Önemsiz Boyut: Nedir ve Neden Önemsiz Değildir?

Özetlemek gerekirse, temelde önemsiz boyut budur ve onu nasıl yaratabilirsiniz. Veri modelinize verimli bir şekilde dahil etmek istediğiniz bir dizi çeşitli, düşük kardinalite bayrağınız varsa, bu çok kullanışlı bir tekniktir.

Tüm satırlara göre gruplama tekniği, bu önemsiz boyutları oluşturmak için son derece kullanışlıdır. Umarım bunu faydalı bulmuşsunuzdur ve her zaman olduğu gibi.

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.