Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Dnes chcem hovoriť o koncepte modelovania údajov nazývanom nevyžiadaná dimenzia . Podľa názvu by ste si mysleli, že ide o techniku, ktorá je hanlivá a čomu by ste sa chceli vyhnúť, no v skutočnosti je to užitočný prístup.

V skutočnosti som pracoval na otázke z a nevyžiadaná dimenzia bola pre ňu dokonalým riešením. Keď ho uvidíte a pochopíte, nájdete preň množstvo uplatnenia vo vlastnej tvorbe. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

Obsah

Čo sú nevyžiadané rozmery?

Kimball a Ross The Data Warehouse Toolkit , jedna z biblií rozmerového modelovania, ho definuje ako zoskupenie príznakov a indikátorov typicky nízkej mohutnosti . Nízka mohutnosť znamená malý počet jedinečných pozorovaní v rámci daného poľa.

V našom príklade máme dátový model pre naše podnikanie na výrobu osobných počítačov. Dátový model sa týka objednávok a faktúr. Máme tiež niekoľko príznakov, kde môžeme zachytiť typ procesora , typ konfigurácie veže (kompaktný alebo plný) a účel (herné alebo pracovné stanice).

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Definovanie rozmerov odpadu pomocou analógie kuchynského odpadu

Ak sa pozriete na každé z týchto polí, v každom poli sú len dve jedinečné pozorovania. To je to, čo by Kimball nazval vlajkou nízkej mohutnosti . Hovorí, že vytvorením abstraktnej dimenzie odstránime príznaky z tabuľky faktov, pričom ich umiestnime do užitočného dimenzionálneho rámca.

Analógia kuchynskej zásuvky na odpadky je dobrá. Každý má zásuvku, ktorá je plná gumičiek, sponiek, batérií, narodeninových sviečok atď. Nie je dôležité, aby niektorá z týchto vecí zaručovala vlastnú zásuvku, ale musíte ich mať kam umiestniť.

Ich ponechanie môže spôsobiť, že veľkosť tabuľky faktov sa zväčší. Povedzme, že máme tabuľku faktov s miliónom záznamov. Postavili sme veľa počítačov a pri každom počítači, ktorý postavíme, musíme označiť procesor, vežu a účel. To znamená, že na jeden milión riadkov PC, ktoré boli objednané, máme aj 3 milióny príznakov v tabuľke faktov.

Zmenšenie veľkosti tabuľky faktov

Mohli by sme ich presunúť do tabuľky dimenzií a prepojiť iba s ID modelu, aby sme z tabuľky faktov odstránili 3 milióny príznakov. Aby sme to urobili, môžeme pre každý z týchto príznakov vytvoriť samostatnú tabuľku a bude to fungovať. Tento proces však skomplikuje dátový model, kde sa bežne chcete vyhnúť jednostĺpcovým tabuľkám.

Ideálnym riešením je použiť nevyžiadanú dimenziu , kde máte veľa príznakov nízkej mohutnosti, ktoré spolu súvisia vo všeobecnosti. Všetky súvisia s atribútmi počítačov, ktoré staviame, ale nie skutočne priamym spôsobom, ktorý by ste normálne mali pre konkrétnu tabuľku rozmerov.

Kontrola problému člena fóra

Poďme sa pozrieť na konkrétnu aplikáciu, ktorá bola zverejnená na fóre. Člen chcel vytvoriť dve rôzne polia, jedno pre pozastavené a druhé pre aktívne . Ak klient uskutočnil transakciu za posledných 45 dní, bude označená ako aktívna; v opačnom prípade sa označí ako zastavený.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Člen tiež chcel ďalšiu tabuľku rozmerov pre Typ klienta, ktorá je buď s viacerými objednávkami alebo s jednou objednávkou. Ak by účet mal dve alebo viac transakcií v ktoromkoľvek bode histórie pomocou jedného čísla účtu, považovalo by sa to za klienta s viacerými objednávkami. A ak by mali len jeden príkaz na dané číslo účtu, bol by to klient na jednu objednávku.

Takže toto sú dve vlajky, ktoré chceme vyvinúť. Poďme skočiť do LuckyTemplates a zistiť, ako to urobiť.

Modelovanie údajov pre nevyžiadanú dimenziu

Poďme sa pozrieť na dátový model. Je to skutočne jednoduchý dátový model. Máme naše predĺženéa Tabuľka transakcií .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Naša tabuľka transakcií má iba tri polia: číslo účtu , dátum faktúry a predajné množstvo .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Vo všeobecnosti, ak dokážeme posunúť transformáciu bližšie k zdroju, urobíme to. Toto nie je dynamické v priebehu relácie prehľadu, takže to nemusíme robiť v .

Mali by sme to robiť buď v dotaze napájania, alebo v dátovom sklade/SQL, ak máme túto možnosť. Ale nateraz predpokladajme, že nie a že to robíme len v.

Identifikácia typu klienta pre dimenziu nevyžiadanej pošty

Prvá vec, ktorú urobíme, je zistiť typ klienta, či ide o transakciu s jednou alebo viacerými objednávkami. Použijeme Zoskupiť podľa , Počet a Počet riadkov .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Potom pridajte všetky údaje a urobte operáciu Všetky riadky , aby sme nevrátili agregovanú tabuľku, ale počiatočnú tabuľku s týmto počtom riadkov v každom riadku.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Pozrime sa na výsledok a rozšírime ho.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Môžeme pridať vlastný stĺpec a pomenovať ho Typ klienta a potom vytvoriť príkaz IF. Výrok je, ak sa počet rovná 1, potom je to jeden príkaz; inak je to viacradové.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Len zmeníme stĺpec na typ textu. Teraz máme jednu z našich dvoch dimenzií nastavenú v tabuľke faktov.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Poďme urobiť tabuľku druhej dimenzie. V tomto prípade, ak je najnovšia objednávka 45 dní alebo menej od dnešného dátumu, klient sa považuje za aktívneho. Ak do 45 dní od dnešného dňa nepríde žiadna objednávka, klient je neaktívny.

Pridáme vlastný stĺpec a pomenujeme stĺpec Dnes . Potom pridajte DateTime.LocalNow , aby ste dostali aktuálny dátum a čas, a potom Date.From , aby ste dostali iba časť dátumu.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Zmeňme to na typ údajov dátumu a potom presuňte stĺpec dopredu.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Existuje jednoduchý spôsob, ako vytvoriť odčítanie medzi dvoma stĺpcami dátumov. Stačí zvýrazniť tieto dva dátumy, kliknúť na Dátumy na páse s nástrojmi a potom kliknúť na Odčítať dni .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

To vám dá rozdiel medzi týmito dvoma dátumami z hľadiska počtu dní. Nazvime túto novú rubriku Dni pred dneškom.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Ďalším krokom je nájsť minimálny počet dní pred dneškom, čo znamená najnovšiu objednávku pre každé číslo účtu. Ak je toto číslo menšie alebo rovné 45, je aktívne.

Urobme ďalšie Zoskupiť , potom Rozšírené a potom Číslo účtu .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Opäť použijeme Všetky údaje pre nový názov stĺpca a Všetky riadky pre operáciu.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Tentoraz pridáme Minimálny počet dní medzi s názvom Minimum ako operáciu a Dni pred dneškom ako jeho stĺpec. Získame tak najnovšiu objednávku.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Potom rozbalíme položku Všetky údaje a odstránime Číslo účtu .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Keď to rozšírime, budeme mať pre čísla účtov minimálny počet dní medzi nimi .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nakoniec pridáme ďalší vlastný stĺpec a nazveme ho Časovanie klienta . Vložíme parameter what-if, kde ak je náš Min. počet dní medzi menej alebo rovný 45, potom je aktívny alebo inak zastavený .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Odstránenie nepotrebných stĺpcov

Keďže teraz máme veľa podporných stĺpcov, kliknite na Vybrať stĺpce a vyberte tie, ktoré nepotrebujeme.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Odstránime stĺpce Počet , Dnes , Dni pred dneškom a Minimálny počet dní medzi nimi. Teraz máme len pôvodnú tabuľku faktov a stĺpce Typ klienta a Časovanie klienta .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Namiesto toho, aby sme ich ponechali v tabuľke faktov, zduplikujme túto tabuľku.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Duplicitnú tabuľku nazveme príznakmi účtu .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Vráťme sa do tabuľky Transakcie a vyberte polia Typ klienta a Časovanie klienta .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Teraz máme pôvodnú tabuľku faktov a tabuľku príznakov účtu.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Pre tabuľku Príznaky účtu nepotrebujeme polia Typ klienta a Časovanie klienta , takže ich odstránime. Len zvýrazníme všetky tieto polia, odstránime riadky a odstránime duplikáty.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Teraz máme tabuľku rozmerov nevyžiadanej pošty. Zostáva už len stlačiť Close & Apply . Ďalším krokom je prepojenie čísla účtu z tabuľky príznakov účtu s číslom účtu v tabuľke transakcií .

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Máme vzťah jedna k mnohým medzi tabuľkou Transakcie (čo je naša tabuľka faktov) a tabuľkou Príznaky účtu (čo je naša tabuľka nevyžiadanej dimenzie).



Záver

Prenesme rozmery Client Timing a Client Type na naše plátno a urobme z nich rezačky. Teraz môžeme urobiť presne to, čo člen pôvodne chcel urobiť, teda deliť na základe týchto atribútov.

Ak klikneme na Viacnásobné objednávky, ostanú nám len tie, ktoré majú viacero objednávok a ak prejdeme na Jednorázové, ostanú nám tie, ktoré majú jeden nákup.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Stručne povedané, toto je v podstate to, čo je nevyžiadaná dimenzia a ako ju môžete vytvoriť. Toto je veľmi užitočná technika, ak máte veľa rôznych príznakov s nízkou mohutnosťou, ktoré chcete efektívne začleniť do svojho dátového modelu.

Technika zoskupovania podľa všetkých riadkov je mimoriadne užitočná na vytváranie týchto rozmerov odpadu. Dúfam, že vám to pomohlo a ako vždy.


Pipe In R: Propojovací funkce s Dplyr

Pipe In R: Propojovací funkce s Dplyr

V tomto tutoriálu se naučíte, jak zřetězit funkce dohromady pomocí operátoru potrubí dplyr v programovacím jazyce R.

RANKX Deep Dive: Funkce LuckyTemplates DAX

RANKX Deep Dive: Funkce LuckyTemplates DAX

RANKX od LuckyTemplates umožňuje vrátit pořadí konkrétního čísla v každém řádku tabulky, který tvoří součást seznamu čísel.

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Naučte sa, ako rozobrať súbor PBIX, aby ste extrahovali motívy a obrázky LuckyTemplates z pozadia a použili ich na vytvorenie správy!

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Python v LuckyTemplates: Jak nainstalovat a nastavit

Python v LuckyTemplates: Jak nainstalovat a nastavit

Naučte se, jak nainstalovat programovací jazyk Python do LuckyTemplates a jak používat jeho nástroje k psaní kódů a zobrazování vizuálů.

Výpočet dynamických ziskových marží – snadná analýza LuckyTemplates s DAX

Výpočet dynamických ziskových marží – snadná analýza LuckyTemplates s DAX

Zjistěte, jak vypočítat dynamické ziskové marže u LuckyTemplates a jak můžete získat více informací tím, že se ponoříte hlouběji do výsledků.

Triedenie stĺpcov tabuľky dátumov v LuckyTemplates

Triedenie stĺpcov tabuľky dátumov v LuckyTemplates

Zistite, ako správne zoradiť polia zo stĺpcov tabuľky s rozšíreným dátumom. Toto je dobrá stratégia pre náročné polia.

Nájdite svoje najlepšie produkty pre každý región v LuckyTemplates pomocou jazyka DAX

Nájdite svoje najlepšie produkty pre každý región v LuckyTemplates pomocou jazyka DAX

V tomto článku vám ukážem, ako môžete nájsť svoje najlepšie produkty podľa regiónu pomocou výpočtov DAX v LuckyTemplates vrátane funkcií TOPN a CALCULATE.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Zistite, ako používať dimenziu nevyžiadanej pošty pre príznaky nízkej mohutnosti, ktoré chcete efektívne začleniť do svojho dátového modelu.