Design Pattern #5: Transakční data | Mňamka #165
Transakční data jsou všude kolem nás. Položka objednávky eshopu, nákup v obchodě… jak s nimi “zacvičit” tak, abychom se nemuseli dřív nebo později vracet do transformace a přidávat požadovaný sloupec. Mrkněte na věci, které děláme automaticky… Proč? Protože věřte, že brzo na ně dojde řada.
1. First = yes / no
První výskyt události v datech vždy označíme. Jedná se o první objednávku zákazníka? Označíme ji first_order atributem.
Proč? Pokud si data takto předpřipravíme, vyhneme se tak zbytečně složitým výpočtům. Typicky se hodí pro počty nových zákazníků za určité období (suma first_order sloupce za toto období) a podobně.

2. Datum pro jednotlivé stavy
Změnu stavu objednávky/leadu a podobně zaznamenáváme pomocí datumových sloupců pro jednotlivé stavy. Pro každý stav, který může nastat, existuje samostatný sloupec. Např. objednávka přijatá, expedovaná, uzavřená a další.
Proč? Snadno tak vyhneme zmatku, kdyz se atribut stav mění v rámci jednoho sloupce. Navíc můžeme pro každý záznam snadno sledovat dobu trvání konkrétního stavu. Alternativou je podřízená tabulka s jednotlivými objednávky a datem. Obě řešení můžeme i zkombinovat, podle toho, co je pro daný use case nejvýhodnější.
3. Transpozice ze “sloupečků” na samostatné “řádky”
Typicky používáme pro slevy, dopravu a služby, storno. Ze slev na faktuře vyrobíme samostatný řádek (položku faktury se zápornou cenou). Stejně postupujeme v případě storna nebo dopravy a dalších služeb. A co taková sleva prostřednictvím slevového kupónu na dané objednávce? Jasně, další řádek!
Proč? Místo sčítání a odčítání hodnot v různých sloupcích při výpočtu tržeb, sčítáme jeden sloupec a snadno filtrujeme, jaký typ položek chceme do tržeb zahrnout. Pro zachování referenční integrity doplníme takto vzniklé položky do nadřízené tabulky (např. dopravu od konkrétního dodavatele do tabulky zboží).
Hodně eshopařů rádo vytváří sloupec kde “je všechno”, ten se většinou jmenuje “total price” … nenechte se zmást. Vyplatí se dát si tu práci a celý proces rozklíčovat a následně si vytvořit jednoduché položky, přes které můžete filtrovat. Ve finále si ušetřítě hromadu starostí ve vizualizaci.

Máte nějaký další tip, který děláte “vždycky a všude”?
What is a Use Case in Data Projects?
A use case in a data-driven project defines the practical application of data—who will use it, why, and what decisions it will support. It’s tied to a specific role within the company and helps that role achieve its KPIs or business objectives.
Excel or Not to Excel?
Excel can be a great tool for quick analyses, but it’s long been unsuitable for managing medium and large businesses. If you’ve ever tried opening a massive file with thousands of records, you know exactly what we mean. But it’s not just about wasted time—“Excel-ing” in a large company can cost you a fortune. How much? Find out in today’s Mňamka, where Patrik breaks down the biggest pain points of handling data in Excel! 🚀