Tento článek je jakousi malou případovou studií popisující vytvoření jednoduché aplikace. Jen dvě poznámky na začátek:

  • Popsaná aplikace je zjednodušená a upravená tak, aby se na ní dalo něco ukázat. V praxi byste situaci asi řešili jinak – něco by bylo složitější, něco naopak zjednodušené – dle potřeb konkrétní firmy.
  • Popisované komponenty (PowerApps, Microsoft Flows, Power Query, Power Pivot) se vyvíjejí dost rychle a zatím nejsou příliš zdokumentované. Pokud v článku objevíte nějakou nesrovnalost nebo navrhnete snazší cestu řešení, budu vděčný za upozornění.

Pohádka kolem

Firma má několik pracovníků, kteří pracují na více zakázkách současně. Manažer firmy chce sledovat, kolik hodin pracovníci odpracovali na které zakázce, a kolik ho to stálo. Manažer má na aplikaci především tyto požadavky:

  • Pracovníci budou výkazy zadávat prostřednictvím svého mobilního telefonu nebo tabletu
  • Výkazy s odpracovanými hodinami se spojí se s informacemi o mzdových sazbách pracovníků a výsledek se zobrazí v přehledné formě manažerovi. Ten bude sledovat, kolik ho která zakázka stojí.

Základní architektura

  • Zaměstnanci vyplňují pracovní výkazy v aplikaci vytvořené v PowerApps. Vyplní, na které zakázce odpracovali kolik hodin. Jméno zaměstnance a datum se vyplní automaticky.
  • Z PowerApps se data pomocí Microsoft Flow uloží do Excelu, který je umístěný v cloudu DropBoxu.
  • Data z tohoto Excelu se pomocí Power Query dotáhnout do datového skladu Power Pivotu v jiném souboru. Tam se spojí s informacemi o mzdových sazbách a výsledky se prezentují pomocí kontingenční tabulky.

Jak na to

V PowerApps vytvoříme aplikaci, která:

  • Ukazuje aktuální datum (pro tento datum se záznamy uloží)
  • Umožňuje výběr zakázky a počtu odpracovaných hodin
  • Umožňuje uložení záznamu

Z PowerApps se budou data do databáze v Excelu předávat pomocí Microsoft Flow.

Excel, ve kterém se budou vykázaná data ukládat, je umístěný na DropBoxu (One Drive, místo Excelu to může být také Google Spreadsheet atd.)

V nějakém jiném místě jsou pak uloženy informace o mzdových sazbách.

Z Excelu se data stahují, pomocí Power Query, do jiného excelovského souboru s datovým modelem. Tam se také stahují data o mzdových sazbách a spojením dat z těchto dvou zdrojů vytvoříme datový model.

Výsledek pak můžeme prezentovat formou kontingenční tabulky. Při vyplňování výkazů pak stačí pouze aktualizovat kontingenční tabulku a report se načítá z nových dat.