logo头像

Edward.K Thinking

Power BI 實踐即時串流資訊圖表

Power BI是製作商業分析圖表的好工具,不得不說這分析工具真是多樣性,可以搭配很多資料進行分析,和繪製還算漂亮的統計資訊,當然,如果今天是用雲端版的Power BI,有一個好處就是可以製作即時串流的圖表,然後,在Power BI內,確實也有一個資料集叫做串流資料集,這資料及共有三種模式建立

  • API
  • Azure串流分析
  • PUBNUB

在這邊要介紹是透過Azure串流分析功能來建立串流資料集。

建立串流資料集


我們可以在Power BI資料集中去新增一個串流資料集,但是,這時候如果我們想要Azure串流分析功能,會發現是無法在Power BI上面進行新增,必須前往Azure,並啟用Azure Stream Analytic服務,才有辦法新增在Power BI內的串流資料集,如果沒有串流資料集,就無法實踐串流的資訊的儀表板了


當然首先必須要Azure Stream Analytic的服務,這時候到ASA的Output去新增到Power BI對口



然後,就會出現要設定的畫面,在這邊建議幾個順序步驟去設定

  • 先做Authorize connection連線認證,這時候需要你的Office 365帳號,認證完畢後,認證資訊就會保留下來,除非你帳號密碼更換,不然這認證都是有效的
  • 因為有了認證,就可以選擇Group Workplace,看你要放在哪個Workplace下面,如果一開始沒先認證,就無法選擇,然後,認證完畢後,就可以選擇,但是選擇之後,之前打的Alias或是其他資訊都會一律被清空
  • 輸入Alias,DataSetName,TableName,除了Alias是要在ASA這裡做識別外,其餘都會被建立到Power BI資料集裡,雖然,一個資料集可以放多個資料表,但是以意外發生,建議一個資料集還是擺放一個資料表就好

Power BI


一旦建立好後,只要在ASA的Query中設定好in/out,就會把資料送到剛剛建立好的資料集裡面,不過呢,不會啟動後馬上就會有資料進去,有時候要等個一兩分鐘才行,若是發現太久還是沒有看到資料,就表示資料遺失了,可能是設定有問題或是資料瞬間量太大,造成PowerBI丟棄資料


因為是由ASA創建的資料集,所以,在這邊的一些設定就不需要再動它,也最好不要去碰它,你可能會說,我需要一些複合性欄位,誘惑是需要多欄位資訊要怎麼辦,這時候,一律是透過ASA的Query去產生相關資訊,一旦ASA那邊的欄位有變動時候,在Power BI的欄位也會自動更新,不需要我們去變更,那如果資料格式不如預期呢?那也是要從ASA把資料轉型才可


一但有了資料集,就可以在報表那邊設計相關統計圖形,但是這時候設計的圖表,會發現怎沒有自動更新資訊?如果想要讓你的圖表,例如折線圖,它是可以隨時間變動,必須把該圖表放到儀表板才可以,就會發現圖表會隨著時間變化而變化


此外有一點,因為是即時串流資訊,必須輸入到資料集內的資料,其中有一個欄位一定要是時間序列,如果最小單位是秒,就必須有到秒的時間序列,因為,想要做到資料表是隨者時間推移,就必須靠時間欄位才可以,如果沒有這欄位,基本上是無法看到資料表隨著時間變化,自動更新資訊了

無敵大坑


目前在使用PowerBI外加Azure Stream Analytic有遇到幾個大坑,必須特別注意,不然可能會導致整個PowerBI的圖表全部毀掉。

  • 在PowerBI內的串流資料集,因為是透過Azure Stream Analytic建立,所以,看到但請不要碰它,一旦碰它之後(任何一個設定都一樣),整個資料集就會再也無法蒐集到資料
  • 上述發生後,就必須再重新建立一個新的串流資料集,然後呢,因為是新的資料集,所以會有新的名稱,但原本對應報表無法變更資料集,因此,所有報表就需要重新設計
  • PowerBI報表樣式有一個缺點就是無法在Online Clone,就會導致重新製作報表時候,辛苦拉的樣式就必須要全部重新設計
  • 雖然是可以做串流資料,有一點必須注意就是如果你把它當作24小時的看板來使用,該機器記憶體要大一點,不然圖表越多,它吃的記憶體就會越大,目前測試下來,如果有十張同時顯示即時串流,大概瀏覽器的記憶體會被吃到2G以上
  • 一個圖表只能接受一秒一個Event,如果遭超過你的圖表就不會顯示任何東西,但也不會有任何錯誤,就是空白,以生產線為例,如果是同時要顯示多條產線資訊,可以把這些資訊匯集到同一秒一次發送,不要零散發送,就可以解決

如果在使用上可以避開這些大坑,透過Power BI開發串流資訊圖表是滿方便也很快速的。當然,前提是你的資料必須要能上Azure

上一篇