Azure Stream Analytics'i Power BI'a Bağlamak
Power BI, verileri görselleştirerek hızlı analiz yapılmasını sağlayan bir araçtır. Görselleştirmeye ek olarak analitik ve AI entegrasyonları da destekler.
29 Oca 2020 • 5 min read
Power BI, verileri görselleştirerek hızlı analiz yapılmasını sağlayan bir araçtır. Görselleştirmeye ek olarak analitik ve AI entegrasyonları da destekler. Power BI'ı web, masaüstü ve mobil uygulamalarıyla kullanabilirsiniz. Bu kaynakta Azure IoT Hub'dan gelen verileri işleyen Stream Analytics servisini Power BI'a bağlayarak verileri görselleştirmenin üzerinde duracağız.
Power BI hesabı. app.powerbi.com adresinden ücretsiz hesap oluşturabilirsiniz.
Veri akışı bulunan bir Azure Stream Analytics servisi.
Simulatör ya da gerçek cihazdan veri gelen bir Azure IoT Hub servisi.
Önceki iki yazımda "Python ile IoT Hub'a Mesaj Göndermek" ve "Azure IoT Hub'ı Stream Analytics'e Bağlamak" üzerine durmuştuk.
Bu yazıda, IoT Hub'a gönderilen mesajları Power BI'da görselleştirmek üzerinde duracağız.
Bir sonraki yazıda ise IoT Hub'a gönderilen mesajları aynı zamanda Cosmos DB'ye göndereceğiz.
Power BI Hesabı Oluşturmak
Power BI'ın ücretli (pro) ve ücretsiz (free) seçenekleri bulunuyor. Free seçeneği ile görselleştirmeye başlayıp, ihtiyaç duymanız durumunda pro modeline geçebilirsiniz. Hesabınızı oluşturmak için app.powerbi.com adresinin alt kısmındaki use it free butonunu kullanarak devam edin.
Stream Analytics'i Bağlamak
IoT Hub'dan gelen veriyi Power BI'da görmek için Stream Analytics'in output ayarını yapacağız. Stream Analytics servisinizin sol menüsündeki Job topology kategorisi altından Outputs'u seçin. Yukarıda belirecek Add menüsü, Stream Analytics'i bağlayabileceğiniz servisleri listeler. Bu listeden Power BI'ı seçerek devam edin.
Açılacak panelde Authorize'ı seçin. Power BI için kullandığınız hesap bilgileriniz sorulacak ve ardından Power BI ile yapacağınız bağlantının ayarlarını gireceksiniz.
Output alias, yazacağınız query'de Power BI output'unun ismidir. Birden çok output kullanacaksanız, Power BI output'u olduğunu anımsatacak bir isim seçmelisiniz.
Group workspace, Power BI çalışma grubunuzu seçtirir. Power BI içindeki ayarlarınızdan seçilir.
Dataset ve Table name, verinizin Power BI'da alacağı isimleri belirler.
Authentication mode olarak "User token" ı seçebilirsiniz.
Bu ayarları yaptıktan sonra, Save butonu ile ayarlarınızı kaydedin. Stream Analytics Output penceresinde oluşturduğunuz output'u göreceksiniz.
Şimdi, Stream Analytics Query'nizi açın (Job topology > Query) ve query'deki INTO bölümünün altına output için belirlediğiniz ismi yazın.
Örnek query aşağıdaki gibi olmalı:
SELECT * INTO powerbioutput FROM iothubinput
Query'niz tamamlandıktan sonra, Overview ekranına gelin ve Start butonu ile Stream Analytics Job'u çalıştırın. Ufak bir bekleyişin ardından "Streaming job started successfully." mesajını göreceksiniz.
Power BI Ayarları
Şimdi Power BI'ınızı açın ve anasayfadaki Workspaces başlığı altından "My workspace" i açın. Sağ üstteki "Create" butonundan "Dashboard" ı seçin. Create Dashboard penceresinde dashboard'ınıza isim verin ve Create butonu ile işlemi tamamlayın.
Bu aşamada IoT Hub'dan gelen verileri (temperature, humidity) görselleştireceğiz. IoT Hub'dan gelen verilerin türü Power BI'da otomatik olarak algılanır. Algılamanın yapılabilmesi ve veri akışının görselleştirilmesi için simulatör ya da gerçek cihazdan veri akışının olması gerekir. Şimdi "Python ile IoT Hub'a Mesaj Göndermek" yazısında anlatıldığı gibi mesaj göndermeye başlayın.
Veri gönderimine başladıktan sonra, dashboard'ınızın üst kısmındaki "..." menüsünden "Add tile" ı seçin.
Real-Time Data kategorisi altındaki "Custom Streaming Data" yı seçerek Next butonuyla devam edin.
Bir sonraki panelde göreceğiniz "Your Datasets" Stream Analytics'den gelen veriyi gösterir. Dataset isminizi seçerek devam edin.
Veri akışını görmeden önceki son aşamada, bu verileri ne şekilde görmek istediğinizi seçeceksiniz. Örneğin line chart, geçmişe yönelik veriyi çizgi grafik olarak gösterir. Gauge, ibreyi andıran bir yüzde grafiği şeklinde gösterim yapar. Card ise son okuduğu veriyi gösterir.
Öncelikle Line chart ekleyeceğiz. Visualization Type altından Line chart'ı seçin. Axis seçimini "EventEnqueuedUtcTime" olarak yapın. Values seçeneğinde temperature'ı seçin. Time window to display ayarını görmek istediğiniz süreye göre ayarlayın. Ayarlarınızı yaptıkça grafiğin de güncellendiğini göreceksiniz.
Next ile grafiği oluşturmaya devam edin. Title bölümüne "Temperature History" gibi bir başlık yazın. Apply butonu ile ayarlarınızı kaydedin.
Şimdi, benzer şekilde "..." butonunu kullanarak bir tile daha oluşturun. Bu sefer visualization type altından Card'ı seçin. Fields altındaki add value listesinden temperature'ı seçin. Title olarak Temperature yazın ve Apply butonu ile tile'ınızı oluşturun.
Son olarak bir Gauge tile'o ekleyin. Value listesinden humidity'yi seçin. Title olarak Humidity yazın ve son tile'ınızı oluşturun.
Oluşturduğunuz tile'ların üzerine geldiğinizde, sağ altlarında boyutlarını değiştirebileceğinizi belirten bir ikon çıkar. Buradan tile'larınızı boyutlandırabilir, sağ üstlerinde çıkan üç nokta ile ayarlarını değiştirebilirsiniz.
Örneğin, temperature değerini virgüllü görmek istiyorsanız, "..." > Edit details > Visualization'un altındaki fırça ikonu > Value decimal places değerini değiştirerek virgüllü sonuç görebilirsiniz.
Bu uygulamayı deneme amacıyla oluşturduysanız, devam ettiği sürece kaynak tüketeceğinden oluşturduğunuz servisleri kapatmayı unutmayın.
Azure IoT Hub'ı Stream Analytics'e Bağlamak
Azure Stream Analytics gerçek zamanlı analitik servisidir. Temelde gelen veriyi süzme ve yönlendirme görevlerini üstlenir.
Umut Erkal 29 Oca 2020 • 3 min read