Power BI 報告很強大,但通常情況下它的資訊是單向傳遞的,由報告製作者通過報表上的資料向使用者傳遞資訊,使用者可以在報告上互動圖表,但並不能在報告上新增資訊,這也是很多人期待的一個功能。
雖然 Power BI 本身不支援讓使用者輸入資料,不過利用 Power 家族的另外一個應用:Power Apps,也是可以輕鬆實現這個需求的。
以下面這個報告為例,展示了每個產品的環比增長資料:
假如把這個報告發給領導,領導看到後,可能會對部分產品提出處理建議,怎麼在 Power BI 中新增個輸入框讓領導輸入文字呢?
下面將利用 Power Apps 來實現這個需求,這個方法的前提條件是,需要有 Onedrive for business 賬戶,並擁有 Power Apps 許可證。
其基本原理是使用者輸入的資訊,通過 Power Apps 將資料回寫到 OneDrive 上,然後 Power BI 連線 Onedrive 上的資料,並呈現在視覺化報告上。
準備工作
首先在 Onedrive for business 上建一個表格,這裡我命名為“備註表”,有產品名稱和備註兩列,為了讓 Power Apps 識別到它,需要將這個資料轉換為智慧表,套用樣式就可以了:
這裡的備註列什麼資料都沒有,就是為了下面進行回寫而準備的。
然後利用 Power BI 連線 OneDrive 上的這個表格,匯入到模型以後,將這個表與原模型中的產品表建立關係:
然後就可以把備註表中的“備註”列,放到前面表格裡:
現在還沒有新增備註資訊,所以這一列都是空的。
利用 Power Apps 建立應用
畫布上新增 Power Apps 視覺物件:
將產品表中的欄位“產品名稱”放進來,待系統配置好環境以後,點選“新建”
稍後會彈出一長串網址,點選確定進入 Power Apps 雲端,進去之後,將現有的圖層“Gallery1”刪除:
然後就是一個空白的畫布,我們重新開始建應用。
1. 插入>窗體>編輯
2. 連線資料來源
點選新建的編輯框,然後在屬性>資料來源>連線符,選擇 OneDrive for business
然後選擇 OneDrive 裡面提前建好的“備註表”。
3. 新增欄位
將備註表中的兩個欄位都新增進來。
然後畫布上就出現有兩個欄位框。
4. 利用公式獲取 Power BI 上下文
為了讓上面建立的窗體獲取 Power BI 的上下文,還需要寫個公式,點選左側的圖層Form1,在上面的下拉框中選擇 Item,然後輸入公式:
LookUp(備註表,產品名稱=First(PowerBIIntegration.Data).產品名稱)
它的邏輯是通過 Power BI 上下文中的產品名稱來查詢備註表的資訊。
5. 新增按鈕
資訊輸入以後,還需要有一個按鈕動作來提交資訊,所以需要在畫布上插入一個按鈕:
關於按鈕的文字和格式,可以在右側格式皮膚中設定:
然後設定按鈕的操作屬性,上面的公式欄輸入:
SubmitForm(Form1)
6. 應用設計
可以在畫布上方插入一個標題,看起來更美觀,直接點選上方的插入>標籤。
另外,這裡還插入了一個文字框,以便提示使用者正確操作。
7. 儲存併發布
點選"檔案",選擇另存為到雲端:
然後在右下角點選儲存即可。至此該應用建立完成。返回到Power BI報表頁,就可以看到這個應用。
測試應用效果
先選擇一個產品,再對該產品做備註,比如選擇環比降幅最大的“VR眼鏡”,在備註中輸入:
請市場部解釋原因並拿出扭轉方案!
然後點選“確認”,這個備註資訊將回寫到 Onedrive 中。
這時表格裡並不會立即出現這個文字,因為報表沒有重新整理,先重新整理報表,或者只重新整理“備註表”
然後 Onedrive 中的資料匯入進來,表格的備註欄就會出現剛才輸入的文字:
將這個報告發出後,使用者就可以在 Power BI 頁面上面直接輸入意見,其他人只要重新整理報表,就可以看到對方的意見,是不是非常實用呢?
總結
以上就是 Power BI 整合 Power Apps 的一個經典應用場景,這裡主要介紹瞭如何建立應用,具體細節你還可以繼續優化,如果採用直連模式可設定自動重新整理、利用書籤來彈出/隱藏 Power Apps 應用視窗等。對 Power BI 感興趣的朋友,可以動手試用起來了!
微軟最有價值專家(MVP)
微軟最有價值專家是微軟公司授予第三方技術專業人士的一個全球獎項。29年來,世界各地的技術社群領導者,因其線上上和線下的技術社群中分享專業知識和經驗而獲得此獎項。
MVP是經過嚴格挑選的專家團隊,他們代表著技術最精湛且最具智慧的人,是對社群投入極大的熱情並樂於助人的專家。MVP致力於通過演講、論壇問答、建立網站、撰寫部落格、分享視訊、開源專案、組織會議等方式來幫助他人,並最大程度地幫助微軟技術社群使用者使用 Microsoft 技術。