Typy ARRAY a ROW jsou v SQL nástroji, který narušuje normy prvního normálního tvaru (1NF), ale každý z těchto typů dělá tak odlišným způsobem. Typ ARRAY, na rozdíl od typu ROW, nekomprimuje různé atributy do jednoho pole. Místo toho umožňuje vložení více než jednoho záznamu do existujícího pole, čímž vytváří opakující se skupinu dat, která byla v původní formulaci relačního modelu E. F. Coddem zakázána, ale nyní se opět objevuje jako žádoucí vlastnost.

Tento typ dat je seřazený tak, že každý prvek v poli odpovídá přesně jedné pozici. To se liší od typu ROW, který umožňuje seskupení různých atributů do jednoho pole. Pole typu ARRAY, naopak, dovoluje vkládat více instancí stejného atributu do jednoho pole. Příklad by mohl být situace, kdy potřebujete mít možnost kontaktovat vaše dodavatele pomocí několika telefonních čísel v případě, že hlavní číslo není k dispozici. Můžete mít až čtyři telefonní čísla, která jsou uložena v poli ARRAY. Příklad SQL dotazu pro vytvoření takového schématu je následující:

sql
CREATE TABLE VENDOR ( VendorID INTEGER PRIMARY KEY, VendorName VARCHAR(25), Address address_type, Phone VARCHAR(15) ARRAY [4] );

Dr. Codd při vytvoření relačního modelu vědomě obětoval určitou flexibilitu v zájmu zajištění integrity dat. Přidání typů jako ARRAY, ROW a později MULTISET do SQL modelu tuto flexibilitu opět trochu navrací, ale s přidanou komplexitou, která může vést k problémům s integritou dat, pokud není správně zpracována. Čím složitější je systém, tím více věcí se může pokazit a tím větší je prostor pro chyby.

Typy MULTISET jsou odlišné od typů ARRAY tím, že jsou neuspořádané. V multisetu nemáte přístup k jednotlivým prvkům podle jejich pozice, což znamená, že například pro uložení několika telefonních čísel, kde na pořadí nezáleží, bude vhodnější použít právě tento typ. Na rozdíl od typu ARRAY, kde jsou prvky seřazeny, multiset nevyžaduje specifikování pořadí.

Dalším zajímavým rozšířením SQL jsou typy REF, které se v SQL používají spíše výjimečně. Tyto typy neuchovávají konkrétní hodnoty, ale místo toho odkazují na strukturovaný typ, který je definován uživatelem. REF typy jsou součástí objektově orientované podoby SQL, která byla zavedena standardem SQL:1999. Většina uživatelů SQL s těmito typy nikdy nepřijde do kontaktu, protože jsou určeny pro speciální účely a vyžadují hlubší znalosti objektového programování.

Pokud potřebujete definovat vlastní datové typy, SQL vám to umožňuje prostřednictvím uživatelsky definovaných typů (UDT). Tento typ rozšíření pochází z objektově orientovaného programování a poskytuje větší flexibilitu při práci s datovými typy. Tato schopnost je užitečná především v situacích, kdy typy v SQL neodpovídají požadavkům konkrétního hostitelského jazyka. Vytvoření vlastního typu je možné prostřednictvím definice abstraktních datových typů (ADT), které jsou typické pro jazyky jako C++.

Pokud je třeba definovat vlastní typ, můžete tak učinit prostřednictvím definice nových atributů a metod. Tato vlastnost je podobná definici třídy v objektově orientovaném programování. S uživatelskými definovanými typy (UDT) pracujeme jako s objekty, které mají atributy a metody. Tyto atributy mohou být veřejné, soukromé nebo chráněné. Veřejné atributy jsou přístupné komukoli, soukromé pouze samotnému objektu a chráněné mohou používat pouze objekt a jeho podtypy.

Existují dvě hlavní kategorie uživatelských definovaných typů: typy DISTINCT a STRUCTURED. Typy DISTINCT jsou podobné standardním SQL typům, ale umožňují definovat nové typy na základě existujících typů. Příkladem může být vytvoření typu USDollar na základě typu DECIMAL:

sql
CREATE DISTINCT TYPE USdollar AS DECIMAL(10,2);

Tento nový typ, USdollar, lze používat stejně jako běžný datový typ DECIMAL, ale má specifickou doménu (USD). Pokud potřebujete vytvářet tabulky pro fakturace v různých měnách, můžete definovat i další typy, jako například Euro, a použít je ve vašich tabulkách pro specifikaci cen v odpovídajících měnách.

Když však pracujete s více měnami, nikdy nemůžete přímo porovnávat hodnoty v USD a EUR, protože jedna měna není ekvivalentní jiné. Pro výměnu mezi těmito měnami musíte použít operace jako CAST, které umožňují konvertovat hodnoty mezi typy.

Pokud jde o typy STRUCTURED, tyto nejsou odvozené z jediného typu jako DISTINCT, ale jsou definovány pomocí seznamu atributů a metod. Když vytvoříte strukturovaný uživatelský typ (UDT), DBMS automaticky vytvoří funkce pro konstruktor, mutátor a pozorovatel. Tyto funkce jsou určeny pro inicializaci, změnu a získávání hodnot atributů tohoto typu.

Pokud máte hierarchické vztahy mezi různými typy, například mezi knihami a jejich podtypy, jako jsou romány a technické knihy, můžete mít nadřazený typ (supertype) a podřízené typy (subtypes). Tento vztah může být reprezentován v SQL pomocí strukturovaných typů a jejich podtypů, což umožňuje organizaci dat podle přirozených vztahů v reálném světě.

Jak sdílet a spolupracovat s Power BI?

Po prozkoumání celého životního cyklu dat – od zdrojů dat, vytváření vizualizací, seznámení se s DAX a publikování reportů – přichází další krok: sdílení dat s těmi, kdo jsou klíčoví pro vaše podnikání. A k tomu je potřeba přepnout se do webového prostředí, protože je nepravděpodobné, že budete chtít, aby uživatelé manipulovali s daty na Power BI Desktopu. Místo toho by měli využívat Power BI Services k provádění činností v rámci pracovního prostoru – což je zásadní funkce pro spolupráci a sdílení. V této kapitole se dozvíte více o pracovních prostorech a o tom, jak můžete spolupracovat, sdílet a zrychlit své obchodní operace pomocí monitorovacích nástrojů, které jsou k dispozici prostřednictvím Power BI Services.

Představte si, že jste v muzeu umění. Můžete prozkoumávat vizuály a číst anekdotické příběhy o každém díle buď samostatně, nebo s ostatními vedle vás. Pracovní prostor Power BI, který je dostupný v Power BI Services, je podobný kurátorovi obsahu pro muzeum, ale samozřejmě jde o data! Pracovní prostor je vytvářen návrhářem Power BI pro správu sbírky dashboardů a reportů. Představte si pracovní prostor jako kartotéku. Návrhář může sdílet pracovní prostor s uživateli na základě jejich rolí, odpovědností a oprávnění. Ve skutečnosti může návrhář dokonce vytvořit aplikaci, která shromažďuje cílené sbírky dashboardů a reportů a distribuuje je do organizace, ať už se jedná o několik uživatelů nebo celou komunitu. Tyto aplikace, nazývané šablonové aplikace, jsou distribuovatelné na různé zařízení, včetně desktopu a chytrého telefonu.

Power BI pracovním prostorům je určeno, aby obsahovaly veškerý obsah specifický pro aplikaci. Když návrháři vytvářejí aplikaci, shromažďují všechny potřebné obsahy pro použití a nasazení a zpřístupňují je v pracovním prostoru. Tento obsah může zahrnovat vše od datových sad po dashboardy a reporty. Pracovní prostor nemusí nutně obsahovat všechny typy obsahu. Může obsahovat pouze reporty, datové sady nebo dashboardy. Záleží na obchodním účelu a způsobu, jakým chce návrhář sdílet a spolupracovat s ostatními uživateli. Pracovní prostory, jak je znázorněno na obrázku 8-1, jsou určeny pro sdílení a spolupráci pomocí schématu spolupráce s ostatními. K nim přistupujete prostřednictvím vašeho "Můj pracovní prostor", protože to je vaše pracovní plocha na internetu pro Power BI. Data můžete publikovat z Power BI Desktop do Power BI Services, a pak můžete organizovat, ukládat a sdílet tyto nově publikované prvky na jeden nebo více pracovních prostorů, které chcete použít pro spolupráci. Na obrázku 8-3 najdete prvky, které byly původně vytvořeny v Power BI Desktop a jsou nyní k dispozici v pracovním prostoru.

Při používání Power BI Services budete představeni navigačnímu menu Power BI Services. Uživatel má jediný "Můj pracovní prostor", ale může mít mnoho pracovních prostorů v rámci tohoto prostoru. Pamatujte, že uživatel může být aktivní pouze v jednom pracovním prostoru v daném okamžiku – ten, který je zvýrazněn v navigaci.

Vytváření pracovního prostoru vyžaduje konfiguraci několika položek, včetně jeho brandingu, názvu, popisu, přístupu, úložiště, licenčního režimu, typu aplikace a bezpečnostních nastavení. Při konfiguraci pracovního prostoru se zaměřte na detaily jako je název pracovního prostoru, popis a možnosti přístupu pro ostatní uživatele. Tyto možnosti si můžete nastavit buď na standardní, nebo pokročilé úrovni.

Správa přístupu je zásadní pro sdílení a spolupráci. Musíte nastavit, kdo bude mít přístup k pracovním prostorům a k jednotlivým obsahu v těchto prostorech. Jako návrhář můžete přiřadit čtyři různé role: administrátor, člen, přispěvatel nebo divák. Pro změnu přístupu je třeba kliknout na ikonu pracovního prostoru v navigačním menu Power BI, vybrat pracovní prostor, který chcete upravit, a následně přiřadit role na základě emailových adres nebo skupinových účtů.

Pokud jde o možnosti správy nastavení a úložiště, nezapomeňte, že můžete kdykoli upravit nastavení pracovního prostoru, včetně změny typu úložiště nebo odstranění pracovního prostoru. Každý pracovní prostor může mít specifické licenční nastavení, jako je Pro nebo Premium verze, která ovlivňuje přístup a interakci s daty v pracovních prostorech.

V kontextu Power BI je důležité chápat, že efektivní spolupráce vyžaduje nejen správné nastavení pracovních prostorů, ale i správnou správu přístupů a licencí. Kromě toho je nezbytné mít na paměti, že sdílení a správa dat by měla být bezpečná a dobře organizovaná, aby se předešlo záměnám a chybám při práci s daty.

Jak efektivně kombinovat data pomocí spojení a míchání v Tableau

Pro efektivní práci s daty v Tableau je nezbytné správně pochopit, jak fungují spojení (joins) a míchání (blending) dat z různých zdrojů. Tableau je nástroj pro vizualizaci a analýzu dat, který umožňuje kombinovat a analyzovat data nejen z jednoho, ale i z více různých zdrojů. Ačkoli obě techniky slouží k propojení dat, liší se v tom, jak zacházejí s těmito daty a jakým způsobem je spojují.

Spojení dat je proces, při kterém se dvě nebo více tabulek spojí na základě společných polí. Tento typ spojení může být vytvořen pomocí různých typů spojení, jako je vnitřní spojení (inner join), vnější spojení (outer join) nebo kartézský produkt (cross join). Pro vytvoření spojení stačí přetáhnout jednu tabulku na pracovní plochu Tableau, a poté přetáhnout další tabulku, čímž se otevře dialog pro výběr typu spojení. Každé spojení bude mít určitou strukturu, která závisí na vybraném typu spojení.

Po přetáhnutí tabulek na plochu se vytvoří vztah mezi těmito tabulkami. Je důležité si uvědomit, že pokud používáte spojení mezi tabulkami, může dojít k situaci, kdy některé z polí obsahují hodnoty NULL. V takových případech systém vrátí řádky s NULL hodnotami, pokud to není specifikováno jinak. Tableau umožňuje vyřešit situaci s NULL hodnotami a nastavit, jak se mají takové hodnoty v rámci spojení zacházet.

V případě, že máte více než jeden datový zdroj, Tableau umožňuje propojit data nejen z jedné tabulky, ale i z více různých tabulek nebo souborů. Pokud chcete spojit data z různých databází, Tableau používá barevné kódování pro rozlišení různých datových zdrojů a jejich vztahů. Tato barevná schémata však nemusí vždy splňovat standardy přístupnosti pro uživatele se zdravotním postižením (ADA Section 508), což je třeba mít na paměti při vytváření vizualizací pro veřejnost.

Dalším důležitým aspektem je míchání dat (data blending). Tento proces se používá, když chcete kombinovat data z více datových zdrojů, ale zároveň chcete, aby byla prezentována v jedné vizualizaci. Míchání dat je užitečné zejména tehdy, pokud chcete propojit pole mezi různými datovými zdroji na úrovni jednotlivých listů. Při míchání dat Tableau automaticky vytváří vztah mezi primárním a sekundárním datovým zdrojem a zajišťuje, že budou zobrazeny pouze odpovídající hodnoty z obou zdrojů. Tento proces je podobný levému spojení (left join) v SQL, kde jsou výsledky z primárního datového zdroje zobrazeny a sekundární zdroj poskytuje doplňující data.

Je třeba mít na paměti, že míchání dat neprobíhá tak, jak by se to dělo při běžném spojení tabulek. V případě spojení se data kombinují a poté se agregují, zatímco při míchání se data nejprve agregují a až poté kombinují. Tento rozdíl může mít vliv na to, jak budou výsledky agregovány a zobrazeny.

Dalším důležitým prvkem, který je třeba zvážit při práci s daty v Tableau, je schopnost manipulovat s hodnotami NULL při spojování tabulek. Null hodnoty v polích mohou způsobit problémy při spojování dat, ale Tableau nabízí nástroje, které vám umožní tyto problémy řešit. Například můžete vybrat možnost „Join Null Values to Null Values“, která umožní spojit tabulky i v případě, že některá pole obsahují NULL hodnoty. Tato volba však není vždy dostupná, pokud pracujete s některými datovými zdroji, což znamená, že je důležité být si vědom omezení a chování těchto funkcí v závislosti na druhu použitého datového zdroje.

Pro správnou práci s více zdroji dat je důležité pochopit, že jak spojování, tak míchání dat vyžadují pečlivé nastavení vztahů mezi datovými poli. Ať už pracujete s daty v rámci jedné tabulky, nebo se snažíte propojit více tabulek nebo datových zdrojů, vždy je nutné dbát na to, jaké typy spojení používáte a jaké efekty to bude mít na výslednou analýzu a vizualizace.