Power BI’da Gerçek Zamanlı Veri Kümeleri (Real time dataset)

Herkese merhaba,

Bugün veri akışının çok hızlı olduğu durumlarda Power BI’da nasıl Akış veri kümeleri (streaming dataset) oluşturulacağına ve push dataset ile farklarına bakacağız.

Gerçek zamanlı verinin tanımıyla başlayalım. Gerçek zamanlı veri, üretilir üretilmez son kullanıcıya iletilen veridir. Mesela her 10 sn’de bir veri değişiyorsa son kullanıcının dashboard’u da her 10 sn’de bir yenilenip son veriyi almalı yani verinin üretilme ve yenilenme hızının aynıdır. Gerçek zamanlı verilerde zengin görsel kapasitesi, iyi bir Azure entegrasyonu ve realtime data desteği nedeniyle Power BI çoğu zaman tercih sebebi olmakta. Power BI’da gerçek zamanlı verikümesi oluşturduğumuzda bu REST API ve ya web sitesi aracılığıyla desteklenir, dolayısıyla power bi desktop streaming dataseti desteklemez.

Power BI’da gerçek zamanlı veri desteği iki şekilde verilir. Bunlar Streaming Dataset ve Push Dataset‘tir. Kıyaslama yaparak iki veri kümesi arasındaki farkı anlamaya çalışalım.

Streaming DatasetPush Dataset
Oldukça hızlıdırStreaming dataset kadar hızlı olmasa da hızlıdır.
Pano kutucuğunu desteklerRapor desteği vardır
Grafik çeşitleri kısıtlıdırBütün grafikler desteklenir
Verilerin yenilenme hızı 1 saniyeden hızlıdırVerilerin yenilenme hızı yaklaşık 5 saniye civarında, streaming datasetten daha yavaştır.
Redis Cache kullanırAzure SQL Database kullanır
Streaming dataset içindeki veriler 1 saat tutulur200.000 kayda kadar verileri tutar

Aslında bunlardan herhangi birini seçmek zorunda değiliz çünkü push-stream dataset oluşturmak mümkün. Bu dataset birleşiminde stream datasetin Redis Cache ve streaming tile (kutucuk) özellikleri alınırken push dataset’in de rapor desteği, özelleştirilmiş görsel ve Azure SQL Database özellikleri birleştirilmektedir.

Yeri gelmişken Azure portala entegre olan Streaming Analytics aslında bir push-stream FIFO (first-in/first out) dataset oluşturuyor. Bu da demek oluyor ki dataset 200000 veriye ulaşınca eski verileri uçuruyor.

Genelde görseldeki grafik kısıtından dolayı stream dataset pek tercih edilmez. Onun yerine push-stream datasetler daha kullanışlıdır.

Gelelim streaming dataset oluşturmak için gideceğimiz adrese;

Power BI Server > Workspace > Create > Streaming Dataset

Açılan pencerede streaming dataset için 3 farklı kaynak sunuyor.

Bunlar Powerbi.com’a doğrudan streamigndatase API oluşturma seçeneği, Azure Stream entegrasyonu seçeneği ve gerçek zamanlı veri sağlayan 3th party bir service sağlayıcısı olan PubNub‘dır.

Bu postta API ile streaming dataset oluşturacağım. Pencerede next dedikten sonra verisetimle ilgili Dataset Name, Akış değerlerini ve değer tipleri bilgileri giriyorum. Zaten seçebileceğiniz 3 veri tipi var: text, number ve date.. Ben örnek olarak bankada işlem yapan müşterilerin ID, isim ve işlem tarihlerini aldım. Böylece bu 3 veri tipini de kullanmış oldum.

Önizlemede gördüğünüz, oluşturduğunuz datasetin JSON format halidir. Buradaki küçük radyo düğmesi oldukça işe yarayan bir düğme, çoğu zaman dikkat bile edilmez ama aslında veri kümenizin tipini değiştirecek kadar önemli.

Historic Data Analysis Off: bu düğme “off” konumda yani kapalı kalırsa verikümesinin tipi streaming kalır. Yani yukarıdaki tablodan hatırlayın Redis Cache bazlı ve veriyi 1 saate kadar tutan dataset tipiydi.

Historic Data Analysis On: düğmeyi “on” açık hale getirirseniz push-stream dataset oluşturursunuz yani hem Redis Cache önbellek kalacak hem de 200.000 veriye kadar kayıt alabileceksiniz. Bu minik radio button işte bu yüzden önemli.

Create dedikten sonra karşıma push URL çıkıyor. Bu pencerede size cURL ve PowerShell için de gerekli formatları veriyor.

Diyelim ki cURL ile post requestte bulunacaksınız, bu durumda cURL’i seçip karşınıza çıkan aşağıdaki betiği kullanacaksınız.

Benzer şeklide PowerShell için endpoint URL’ini, payload’da taşınacak verilerin JSON formatını görebilirsiniz.

“Done” diyorum ve işim bitiyor. Gelelim bu datasetlerle nasıl grafik oluşturacağımıza..

Streaming dataların dashboard (pano) da tile (kutucuk) içinde yaşadığından yukarıda bahsetmiştim. Dolayısıyla çalışma alanıma (workspace) “RealTimeSample” adı altında boş bir dashboard oluşturuyorum. Nasıl oluşturulduğuyla ilgili şu postuma bakabilirsiniz. Dashbordu açtıktan sonra “Add tile” diyip Real-Time Data’yi seçiyorum.

Karşıma tüm streamdatasetlerin listesi geliyor. İstediğimi seçip “next” diyorum..

Bu noktada karşıma çıkan pencere artık grafik çizip verilerimi görselleştirebileceğim penceredir. Yukarıda bahsettiğim grafik kısıtı burada karşımıza çıkıyor. Maalesef streamdata her türlü grafiğe destek vermiyor. İzin verilen grafik türleri: kart, çizgi grafik, kümelenmiş bar grafik, kümelenmiş kolon grafik ve kalibredir. Verilere uygun grafik tipini seçip değerleride belirledikten sonra tile içinde akan grafiği görebilirsiniz. Arzu ederseniz kutucuk detaylarından başlık – alt başlık, URL ekleyebilirsiniz. “Uygula” dediğinizde artık canlı veriniz kutucuk içinde dashboard’unuzda yayınlanıyor olacaktır.

Benim örnekte gerçek zamanlı veri kullanmam mümkün olmadığı için dashboard’da veri akışını gösteremiyorum.

Özetle bu postta gerçek zamanlı verinin ne olduğunu ve Power BI’da nasıl görselleştirileceğine değinmiş oldum.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s