Powershell ile PowerBI kullanarak Real Time Dashboard yaratılması – Part 4

Powershell ile PowerBI kullanarak Real Time Dashboard yaratılması – Part 4

by Hasan GÜRAL, 26 Mayıs 2017

Artık Powershell ile PowerBI REST API kullanmak için ClientId veToken alma işlemlerini gerçekleştirebiliriz. PowerBIPS ( PowerBI Powershell Modül) içerisindeki “Get-PBIAuthToken” cmdlet bizlere authentication için yardımcı olup ilgili token almamızı sağlayacaktır.

PowerBI ile üyelik aldığımız kullanıcı adı ve şifresini girerek token alma işlemini gerçekleştirelim. Eğer “Get-PBIAuthToken” komutunu direk çalıştırırsanız sizi “Sign-in” sayfasına gönderecek ve o kısımda gereken kullanıcı ve şifre bilgilerini dolurup token alma işlemini tamamlayabiliriz.

Hatırlarsanız, yazımızın ikinci bölümünde PowerBI Powershell modulü ile ilgili cmdlet açıklamalarını görebilirsiniz. Powershell ile herhangi bir cmdlet ile aldığımız sonuçlarımızı Json formatında göndermemiz gerekiyor ve aldığımız cevaplar yine JSON formatında geliyor. Tüm aradaki iletişim HTTP methodları ile sağlanıyor.Bu sayede anlık olarak veri kümeleri oluşturup, Dashboard yaratıp anlık olarak heryerden erişebilme şansımız bulunmaktadır.

Microsoft’un sunduğu şu sayfayı kullanarak, PowerBI REST API ile aklınıza takılan herşeyi test edebilirsiniz.

http://docs.powerbi.apiary.io/#

Şimdi Powershell üzerinden aldığımız bi sonucu PowerBI içerisine gönderelim. Başlangıç olarak “Get-Process” ile başlayalım. “Get-Process” çıkan sutünlardan sadece Process Adı ve Kullanılan Memory bilgisini getirelim ve çıkan sonuçtan, ilk 5 Process bilgilerini gösterelim.

# Bilgisayarınızda çalışan en fazla memory kullanan ilk 5 process

Get-Process | Sort WS -Descending | Select-Object Name,WS -First 5

Yukarıdaki “Get-Process” cmdlet sayesinde karşımıza listelenen Process Bilgilerini pipeline sürecine dahil ettikten sonra, Sort ve Select komutları ile istediğimiz sonucu elde ediyoruz. Artık yapmamız gereken sadece karşımıza gelen verileri PowerBI içerisine göndermek.

PowerBI Modülü içerisinde bulunan Out-PowerBI cmdlet sayesinde, PowerBI içerisinden aldığımız sonuçları, arka tarafta JSON formatına dönüştürüp ve veri kümesi (DataSets) olarak gönderebiliyor. Bu cmdlet bizim işimizi oldukça kolaylaştırıyor. JSON formatını hazırlamanıza gerek kalmadan gelen veriyi kendisini dönüştürüp veri kümesi(DataSet) ve tabloyu yaratabiliyor.

Kullanımını hemen inceleyelim.

# Out-PowerBI cmdlet ile beraber PowerBI içerisine gönderme

Get-Process | Sort WS -Descending | Select-Object Name,WS -First 5 | Out-PowerBI -Verbose

Yukarıda yazdığımız satırda “Get-Process” ile alınan sonuçlar pipeline süreci ile “Out-PowerBI” cmdlet içerisine gönderiyor. Cmdlet kullanırken “–Verbose” parametresini aktif hale getirerek çalışırken detayları görmek açısından oldukça faydalıdır. “Out-PowerBI” yazımızın başında aldığımız token(Get-PBIAuthToken) kullanarak, “Get-Process” cmdlet içerisinden gelen veriler için bir veri kümesi(dateset) ve bu veri kümelerinin içinde tablo(table) oluşturma işlemini gerçekleştirip, verileri ekliyor.

PowerBI sayfası üzerinden baktığım zaman, “Veri Kümeleri(DataSets)” altında “PowerBIPS_20150519” adında başlayan yeni bir veri kümesi eklendiğini görmekteyim. Veri kümesinin(DataSet) adını komut satırını çalıştırdığınız yerel bilgisayardaki tarih ve saat bilgilerini alarak belirlemektedir.

“Out-PowerBI” içerisine parametreler göndererek, Dataset ve TableName değerlerini biz belirtme şansımız var.

# Out-PowerBI cmdlet ile beraber PowerBI içerisine gönderme

$ProcessTable = Get-Process | Sort WS -Descending | Select-Object Name,WS -First 5

# Out-PowerBI içerisine data,DateSetName ve TableName parametlerini kullanımı

Out-PowerBI -data $ProcessTable -dataSetName “processDataSet” -tableName “processTable” -Verbose

Yukarıdaki örnekte ise, “Get-Process” kullanarak Sort ve Select yaptıktan sonra sonucu bir “ProcessTable” adında bir değişkene atadık. Bu değişkeni daha sonra, “Out-PowerBI” içerisinde “-data” parametresi içerisine gönderdim. Bu kısımda “-datasetName” ve “tableName” parametlerine belirtmek istediğimiz veri kümesi ve tablo adını yazmış bulunmaktayım. İlgili satırları çalıştırdıktan sonra, PowerBI tarafında oluşan veri kümesine bir göz gezdirelim.

PowerBI arayüzden Veri Kümeleri kısmına baktığım zaman “Out-PowerBI” içerisine göndermiş olduğumuz parametre değerleri ile veri kümesi ismini almış gözükmektedir. Serimizin diğer yazısında Veri kümelerini kullanıp, DashBoard yaratma süreçlerine bakıyor olacağız.