Microsoft Power BI je sada služeb a aplikací, která umožňuje relativně komfortně provádět většinu činností týkající se datové analytiky. Pro načítání dat existuje řada konektorů na různé zdroje a formáty souborů. V aplikaci lze řešit transformace a čištění dat. Pro tvorbu reportů nabízí standardní paletu grafů a možnost tzv. cross filterů, které se aplikují na datasety ve všech grafech zároveň.
Součástí Power BI je dektopová aplikace Power BI Desktop, kterou budeme ve free režimu používat. Dále existuje Power BI service (SaaS), která slouží jako cloudová nadstavba pro kolaboraci, publikování reportů a získání extra pluginů. Pro používání této služby je potřeba účet s aktivním předplatným. Jako poslední část je úvaděna mobilní aplikace, které slouží spíše pro čtení reportů uložených na cloudové službě.
Power BI Desktop (300 MB) lze stáhnout z příslušné stránky Microsoftu. Podporovaný je pouze operační systém Microsoft Windows, a to v různých verzích.
Instalace je přímočará. Po spuštění vyskočí na popředí okno, které vás vyzývá k vyzkoušení trial verze Power BI Pro, resp. k přihlášení se pomocí účtu s předplatným této služby. Okno lze nicméně směle vykřížkovat a používat free variantu, tj. bez cloudové nadstavby a některými dalšími pro nás irelevantními limitacemi.
Základní rozložení ovládacích prvků v Power BI Desktop je zobrazeno na obrázku 1. V horní části je ribbon menu (1-2) podobné jako u produktů z balíku MS Office. V pravé části je sloupec (3) týkající se možnosti filtrování datasetu pro konkrétní vizualizaci, stránku reportu nebo celého sešitu. Vedle něj je sloupec (4) s nabídkou podporovaných typů vizualizace, které lze přetáhnout na plochu reportu. V tom samém sloupci je i nstavení konkrétní vizualizace při jejím označení. V posledním sloupci (5) je datová hierarchie načtených zdrojů. Konkrétně zde je načtená tabulka osoby obsahující sedm atributů. V levé části je přepínaní (6) zobrazovaného pohledu v centrálním prostoru (7). Na výběr je pohled na grafický report, dataset na pozadí nebo datový model. V dolní části (8) lze přepnout mezi jednotlivými listy reportu.
Úkol: vytvořit podporu pro vizuální prozkoumání dat o počtu osob s prokázanou nákazou Covid-19 v ČR.
Dataset: COVID-19: Přehled osob s prokázanou nákazou dle hlášení krajských hygienických stanic (v2) z otevřených datových sad Ministerstva zdravotnictví ČR.
K vyzkoušení základní práce s Power BI zkusíme načíst jednoduchý dataset (ve smyslu nekomplexní, s málo atributy) a vytvořit několik provázaných vizualizací. Při následné filtraci je možné, že narazíme na zajímavé chování, které bude možné později detailněji prozkoumat. Nultým krokem je samotné stažení odkazovaného datasetu (tlačítko csv) a příslušných metadat (tlačítko csv schema, ve skutečnosti se stáhne json soubor).
Načtení dat do aplikace provedeme příkazem Home -> Get data -> Text/CSV a výběrem příslušného souboru. Po potvrzení dojde k automatické detekci struktury vstupního souboru a aplikace nabídne výpis exportovaných názvů atributů a prvních 100 zpracovaných řádek. Pokud nedošlo ke správnému parsování souboru, je možné změnit přes možnosti v horní části použitou znakovou sadu, použitý oddělovací symbol a způsob detekce datových typů. Pokud výsledek automatického zpracování je vyhovující, tlačítkem Load se provede načtení dat do aplikace. Pokud je potřeba manuálně zasáhnout a transformovat data před načtením, kliknutím na Transform Data se zobrazí příslušné dialogové okno. Nám zatím zpracování takto vyhovuje a dáváme Load.
Ve sloupci Fields se po načtení zobrazí název zpracovaného csv souboru a hierarchicky pod ním sedm atributů. Všimněte si, že u položky datum je ikona kalendáře signalizující, že se jedná o speciální datový typ datum. U dvou atributů je symbol Σ, který značí, že pro číselné atributy je nastavena nějaká forma agregace. Náhledem do metadat k datasetu můžeme zjistit sémantiku jednotlivých atributů. Zároveň se lze dočíst, že jeden záznam odpovídá jednomu člověku, který byl v přílušný den hlášen jako nakažený.
Jako první vizualizaci použijme sloupcový graf (stacked), na kterém vykreslíme počet případů v jednolivých měsících (obrázek 3). Kliknutím na ikonu se vytvoří jakási prázdná schránka na plochu reportu. Pro její naplnění je potřeba přetáhnout vhodné atributy do položek ve sloupci Visualization -> Axis a Visualization -> Values. V našem případě na pozici Axis přetáhneme datum, protože chceme členit sloupce po měsících. Všimněte si, že se automaticky vygenerovalo několik hierarchických úrovní datumu (rok, kvartál, měsíc, den). V našem případě dává smysl uvažovat pouze měsíce a tak ostatní křížkem odstraníme. Do pole Values se typicky umisťuje atribut s charakteristikou primárního klíče, pokud chceme vykreslit počet záznamů. V našem případě takový atribut nemáme a musíme si pomoci použitím atributu, který je vždy vyplněn (not null), např. věk. Po přetažení se může zdát, že vizualizace funguje, ale ve skutečnosti je zobrazeno něco jiného. Pokud neřekneme jinak, používá se u číselných údajů agregace SUM, tedy ve vizualizaci se nám zobrazuje součet věků lidí diagnostikovaných v jednotlivých měsících. Abychom dostali požadovanou informaci, je nutné přes roletové menu ve Visualization -> Values -> Vek změnit agreagaci na count (nikoliv distinct, neboť věk se bude u pacientů opakovat).
Nyní nás může zajímat, jaký je poměr mužů a žen mezi nakaženými. Pro vizualizaci lze zvolit výsečový graf, do kterého přetáhneme atribut pohlaví do políčka Legend a do políčka Values opět použijeme Count nad atributem věk. Všimněte si, že atribut nakaza_v_zahranici nabývá pouze hodnoty 1 (význam ano) a null (význam ne). Zkusme tento atribut přesunout do políčka Tooltips výsečového grafu. V tompto případě nehraje roli, jestli je použita agregace Sum nebo Count. Po najetí kurzorem na některou z výsečí v grafu, se zobrazí bublina s hodnotou počtu případů a zároveň i s hodnotou počtu případů importovaných ze zahraničí. (obr. 4)
Dále si vyzkoušejte, že vizualizace jsou provázané technikou cross-filter. Pokud ve sloupcovém grafu vyberu pouze jeden měsíc, tento filtr se aplikuje i na výsečový graf a získám tak vizualizaci poměru mužů a žen pro konkrétní měsíc. Vhledem k exponenciálnímu růstu v září 2020 je problém opticky rozlišit velikost výsečí při filtrování dle měsíce s nízkým počtem případů. Je možné změnit vizulizaci na zobrazení podílu vůči celku místo absolutní hodnoty. Tato možnost je v roletovém menu Visualization -> Values -> Vek -> Show value as -> Percent of grand total. Nyní je ve vizualizaci vidět jasně poměr pro zvolený měsíc, ale chybí informace o absolutním čísle.
Samostudiem prozkoumejte další dostupné vizualizace. Zkuste zjistit, jaký byl poměr mužů a žen u nových případů v červnu 2020 a jestli došlo k nějaké výchylce v počtu případů v některém z krajů (kraj_nuts_kod). Odůvodněte, jaká v ten měsíc byla epidemiologická situace v ČR.