IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

8. diel - Microsoft AZURE - Záver a niečo navyše

V minulej lekcii sme sa venovali zobrazenie dát a urobili sme si úvod do Business Inteligence. Dnes zobrazíme výstup zo Stream analytics do Power BI.

Chytrí už tuší, že toho docielime definovaním ďalšieho výstupu. :-) Ideme teda na to.

V Azure, vo Stream analytics job, v sekcii output, pridáme ďalší výstup. Pozor, služba musí byť zastavená, inak to nejde. Voľbou Add + pridajte výstup. Azure po vás bude chcieť autorizáciu do Power BI.

Potom len vyberte WorkSpace a Dataset a meno tabuľky pre dáta.

Stream Analytics output to Power BI - Microsoft Azure a IoT
Output alias ItPowerBi
Sink power BI
group Workspace my Workspace
dataset Name IoTItClanek
Table Name IoTItClanek
Zvoľte create a po vytvorení výstupe do BI vstúpte do sekcie Query. Budeme musieť upraviť náš dotaz. Bude teda vyzerať nejako takto:
SELECT
* ,
    system.TimeStamp AS EventTime
INTO
    [TableData]
FROM
    [InputIT]

SELECT
    AVG (Humidity) AS hmdtAVG,
    AVG (Temperature) AS tempAVG,
    system.TimeStamp AS time,
    prumer
INTO
    [ItPowerBi]
FROM
    [InputIT]
GROUP BY
    prumer,TUMBLINGWINDOW(minute,1)

Zamyslime sa nad naším zápisom. V prvom select nerobíme nič iné, než stále ukladáme dáta do našej tabuľky. Nasleduje ďalší SELECT. Ten vyzerá podstatne zložitejšie, však nie je. Je len trochu modifikovaný. Vyberáme pomocou kľúčového slova GROUP BY minútové časové okno, kedy si vyrábame minútový priemer z hodnoty Temperature a Humidity v našom streamu. Pridávame si TimeStamp značku k dátam. Vybrané dáta nám ako DataSet skončí pod naším názvom, ktorý sme zadali pri definícii výstupe do Power BI. Spomeňte si na definíciu Tumbling window z deviateho dielu. V tomto prípade budeme mať vždy minútový vzorka az neho si spočítame priemernú hodnotu. Do Power BI sa nám vždy dostane jeden minútový priemer teploty a vlhkosti. Kúzlo sa s jedným čidlom nekoná, ale keď tých čidiel bude 10 alebo 1000? Schválne si skúste napísať aplikáciu, čo vám bude robiť priemer v reálnom čase.

Power Bi patrí do skupiny nástrojov pre koncových užívateľov, takže čoskoro zistíte, že práca s ním je veľmi jednoduchá, a preto si ho tu nebudeme podrobne popisovať. Budem vychádzať z toho, že drvivá väčšina z vás vie s Excelom a Power Bi, ako jeho nadstavba, je naozaj triviálne.

Teraz si vytvoríme nejaké grafy, preto sa pod svojím účtom prihláste k online verzii Power BI na adrese https://powerbi.microsoft.com/en-us/.

Power BI streaming dataset - Microsoft Azure a IoT

Akonáhle spustíte službu Stream analytics a ubehne niekoľko minút, bude už dátová sada v Power BI dostupná. Nájdete ju v ľavom bočnom menu pod názvom Streamované dátovej sady. Kliknite teda na Streamované dátovej sady - Streaming dataset. Kliknutím na ikonku grafe vpravo vytvoríte prvú zostavu čiže report. Ospravedlňujem sa všetkým, v tomto bode už došlo za posledné 3 mesiace k niekoľkým zmenám, tak ako sa Power BI vyvíja. Neviem, či v čase, keď budete čítať tento článok, bude teda postup aktuálny.

Do zostavy si dajte 2x Line Chart graf a 2x Gauge graf, rozvrhnúť si ich môžete podľa ľubovôle.

Power BI add chart - Microsoft Azure a IoT

Hodnoty dostanete do grafu tak, že do poľa Axis presuniete polia time a do poľa Values presuniete napríklad pole hmdtavg. Malou šípkou vľavo vedľa názvu hodnoty v definícii grafe, rozkliknite voľbu pre hodnotu, a vyberte Average. Podobne v druhom grafe zobrazíte teplotu.

Ohľadom oblúkového alebo ak chcete, budíkového Gauge grafu, dajte do hodnoty Value naše priemery hmdtavg, tempavg.

Kliknutím na valček môžete grafy prispôsobiť podľa ľubovôle. Za zmienku okrem voľby Data colors, ktorú zmeníte farbu grafu, stojí pri Gauge grafe voľba Gauge axis, kde možno nastaviť minima a maxima grafu. Ďalšie kreativite sa medze nekladú, a tak sa veľmi teším na to, čo vymyslíte.

Zostavu uložte a pripnite ako live Page. Pomenujete ju podľa ľubovôle a máme hotovo :-) Moc to nebolelo, čo?

Power BI vie zostavu poslať aj na web. Bohužiaľ nie v prípade, že sa jedná o Streamované dáta. K tomu slúži Power BI Embedded. Ak teda chcete zostavu zdieľať, tak jedine cez Live ID a alebo AD účet (Active directory) vo vašej organizácii.

V prípade, že sa nebude jednať o Streamované dáta, budete ich načítať z Excelu na One Drive, Table storage alebo SQL databázy, možno zostavu vyexportovať ako Iframe kód do vašich stránok. To urobíte cez menu File - Publish to Web to si ešte ukážeme.

Power BI – Publis to web - Microsoft Azure a IoT
<iframe width="933" height="700" src="https://app.powerbi.com/view?
r=eyJrIjoiZGUyZTMzMWUtMTJkZS00OWVjLWdddI1YzMtZWEhZTdjNWJkIiwidC
I6ImIxZjZkODkzLWY3ZDQtNGIxNC1hODgzLTY4MDE4ZTk1OWEzOSIsImMiOjh9"
frameborder="0" allowFullScreen="true">
</iframe>

Výsledok svojho snaženia preto môžete komukoľvek zdieľať, bez toho aby ste museli niekomu dávať prístup do Power BI. Power BI je ako aplikácia dostupná pre Android aj iOS, takže k nemu môžete pristupovať prakticky odkiaľkoľvek.

Power Bi desktop - Vizualizácia z table storage

Pôvodne som o tom nechcel ani písať, prišlo mi to tak jednoduché, že som vás tým nechcel obťažovať. Musel som ale urobiť návod pre jedného nášho zákazníka, tak som to zjednodušene urobil aj pre vás. Budete potrebovať StorageAccout name a kľúč pre prístup k tabuľke, v ktorej sú dáta. Už sme si to vysvetľovali v 10. diele - Microsoft AZURE - Table Storage zobrazenie dát. Osobne nerád vidím, ako sa k dátam pristupuje s write oprávnením, ale s Table storage to inak nejde, takže budem musieť prižmúriť obe oči.

K dátam pristúpite v sekcii realationship voľbou New Query.

Power Bi – dáta set from Table Storage on AZURE - Microsoft Azure a IoT

Objaví sa vám okno pre pridanie dát - poznáme z Excelu z predošlej lekcie. Vyberte voľbu: New Source> More> Azure> Microsoft Azure Table Storage

Power Bi – dáta set from Table Storage on AZURE –2 - Microsoft Azure a IoT

Sprievodca vás prevedie cez zadanie vašich credentials až k výberu vašej tabuľky. Vo výbere si nezabudnite pridať content, stačí si vybrať len hodnotu Temperature a Humidity.

Kliknutím pravým tlačidlom na hlavičku stĺpca s dátami a Temperature a Humidity určte voľbou Change type> Whole number, typ dát. Novo nakonfigurovaný zdroj údajov uložte tlačidlom Close & apply. Vyrobí sa vám dáta set a vy potom v sekcii report môžete vytvoriť grafy rovnako ako v predchádzajúcich lekciách.

Možno budete mať problém so zobrazením grafu. Je tam trik s pochopením hodnoty TimeStamp v poli Axis, sipecka dole si vyberte voľbu Date Hierarchy na Timestamp.

Power Bi – select TimeStamp in axis - Microsoft Azure a IoT

Ostatné je na vašej kreativite a nebudeme to tu viac preberať.

Akonáhle dáte zostavu publikovať, uloží sa vám do Power BI online. Odtiaľ potom možno zostavy dať napríklad na web. Vykonáte to v Power BI online, voľbou z menu File> Publish to web, získate tam buď odkaz, alebo iframe kód do vašich stránok.

Power Bi – Share report - Microsoft Azure a IoT

Vaša zostava potom môže byť dostupná bez prihlásenia. A funguje aj na mobile, tabletu s Windows, Android alebo iOS.

Power BI report in iframe on the website - Microsoft Azure a IoT

Ako zmeniť interval odosielania dát z ESP8266

Nejako som na to počas písania článku zabudol, ale v základe bude vaša doska odosielať dáta čo každých 10 sekúnd. Narazíte teda rýchlo na limit 8000 správ za deň, ktorú má free tier IoT hubu. S ohľadom na to, že teplota a vlhkosť sa mení veľmi pomaly, možno interval v pokoji predĺžiť. Urobíte to v programe úpravou hodnoty v súbore remote_monito­ring.c.

ThreadAPI_Sleep(3000);

Slovo záverom

Chcel by som tým, čo všetko dočítali až sem, poďakovať za pozornosť a dúfam, že bol celý miniseriál aspoň trochu prínosom. Niektorým z vás sa snáď otvoril pohľad do zákutí IoT a cloudových služieb Azure. Všetkým vám prajem veľa úspechov vo vašom snažení a niekedy sa snáď stretneme, treba pri riešení vašich projektov na AZURE.


 

Predchádzajúci článok
Microsoft AZURE - Table Storage zobrazenie dát a úvod do BI
Všetky články v sekcii
Microsoft Azure a IoT
Článok pre vás napísal Michal Gros
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se jako Partner Solution Architekt ve společnosti NetSecure věnuje cloud technologii MS AZURE, spravuje systémy na os LINUX WINDOWS. Programuje v c, c++ a C# .net, Html
Aktivity