PowerBI 2019年4月更新 PowerBI團隊開掛大幅更新
- 2019 年 10 月 6 日
- 筆記


介紹
PowerBI團隊4月開掛了,PowerBI教父發話:

兄弟們慢點,4天發布6項更新,你們不考慮下大家有時間學不,還有競爭對手會蒙圈的~ 產品經理無奈回復:這不是老大你安排的嘛。
於是又來到了今天的Power BI Destkop更新。按照官方的話說,這是一個興奮的月份,整個產品線都在更新,尤其是可以根據DAX表達式來動態定義可視化元素的標題,這僅僅是 DAX驅動可視化 的第一步。還包括跨報告鑽取,一大堆連接器,M語言智慧感知等特性更新。
我想強調的是:DAX驅動可視化。微軟的原話是:基於表達式來配置可視化元素屬性。如果是我們的老戰友,應該知道我們經常提倡的DRY以及OCP原則,一切都應該是動態化的,這樣才可以設計出最靈活的系統。不好意思,一不小心又替微軟發明一個新詞【DAX驅動可視化】,我們今天會來演示如果用這個思想構建PowerBI多語言系統。
實際案例,在跨國企業常常涉及到不同國家文化背景的人查看同一份報告,雖然英語是通用語言,但有時候確實需要訂製成客戶本地的,那麼如何僅僅製作一次報告,不同的用戶登錄的時候看到的是不同的語言呢,答案是可以實現的。針對不同登陸用戶顯示不同語言,涉及到多個技巧的結合,不再展開,後續會做專題介紹,這裡會結合4月更新來講解如何1個度量值全動態搞定多語言顯示。
DAX 引擎版本在本月已經升級到1465,值得一提的是SSAS 2017的版本是1400,也就是說 Power BI Desktop 中總會運行最新的引擎版本。
為了節省時間,一些點一點滑鼠就知道的功能就簡單說明,對於一些有重要意義的功能,我們做重點介紹並來給出實際商業場景。
強大的篩選面板
沒錯,這是本次很重要的更新,繼續優化了篩選面板:

大家可以自己操作體驗即可。

原來的可視化篩選,頁面篩選,報告篩選全部從原有結構轉移。由於功能的重複,可以理解,而且使用篩選器面板是一項正確的進化。
注意:通過測試發現,這個篩選面板功能還有一些小BUG和設計的不完美,在 Power BI Desktop 隱藏的篩選器發布後卻顯示了出來;另外,有時候使用篩選器是一種技巧,旁邊的數字其實顯得畫蛇添足,例如:

這裡僅僅是為了讓用戶選擇截至到的日期,根本沒有必要顯示它們對應的元素個數。相信這些細節問題都可以得到修復。
可視化元素標題支援DAX表達式

我們可以使用DAX表達式來動態設置標題。例如微軟給出的案例:

PowerBI 介面多語言實現方案
讓我們來實現一個酷炫的商業場景吧。
英文介面:

中文介面:

為了實現這個介面,我們需要提前準備一個文本語言字典庫,可以預先準備在Excel里,為了演示,我們直接用DAX來演示:

並建立一個配套的度量值:

然後可以直接為元素選擇標題,非常方便:

其巧妙之處在於,這個標題是選出來的,而僅僅只需要一個度量值來動態選擇標題。(請各自腦補DAX基礎和PBI基礎知識)
擴展思考:當不同的用戶登陸Power BI Service後可以根據預先的配置而顯示不同的語言嗎?例如,日本人登陸顯示日本,中國人登陸顯示中文,答案是肯定的,限於篇幅,不再展開,關鍵技巧在於利用行級別許可權控制的技巧來實現,相信各位戰友已經可以猜測出如何實現了。
觀看影片欣賞:
跨報告鑽取
因為很多戰友抱怨無法從一個報告直接跳轉到另一個報告,因此,微軟補充了這個缺陷,先來看看效果來理解是什麼意思:
在一個工作區內有多個報告,注意,必須是在同一個工作區內,如下:

我們現在想從主報告到明細報告,可以這樣:

然後就可以跨報告鑽取到明細報告,如下:

注意,這是不同的兩個報告哦。終於,現在可以在同一個工作區的不同報告中跨報告鑽取。這個效果實現起來也非常容易,如果已經熟悉了跨頁鑽取,那這個原理是一樣的,如下:

這需要打開跨報錶快關即可。同時需要注意整個報告的選項也要允許此功能,如下:

以上。
跨報告鑽取的問題
微軟的產品經理肯定是累了,跨報告鑽取到了明細報告,但點擊返回按鈕,沒有任何反應,也就是說,可以從A到B,卻回不去了。

這個大BUG絕對值得吐槽。有正常思維的產品設計都不會搞出來這種,雖然我們推崇PowerBI,但是對於多年的使用者也可以清晰地看到在產品設計上,很多設計存在推倒重來的問題,例如:
- 色彩飽和度
- 篩選面板
那回不去怎麼辦呢,自己想辦法咯。
解決跨報告鑽取無法返回 - 按鈕導航
只能靠手工修復這個問題了,方法是:
- 將找到主頁的URL
- 在子報告加一個按鈕,並設置動作為URL
- 使用度量值賦予動態性
這同時利用了本月更新的功能,如下:

這個Web URL是:

這樣就可以返回了,微軟的產品不徹底,只能自己想辦法來繞過問題。
URL跳轉返回的瑕疵
上述方法確實是奏效的,但有個嚴重的問題:
- 它會打開新的頁面再打開PowerBI網站進入原來的報告
- 原來的報告如果會被刪除或重新設置,可能導致URL失效
尤其是打開新的網站頁面絕對不能容忍的,這就是我們的態度,我們對帶細節是追求極致的,在沒有條件完成的時候也要創造條件來完成。
修復URL跳轉返回的瑕疵
我們的價值觀之一是:極致。而另一個就是:創新。我們繼續思考,那麼能不能繼續利用跨報告篩選再鑽取回原來的頁面的,答案是肯定的,這裡需要做一些特別的小設計,效果如下:

你以為我們真的做了一個按鈕嗎?非也。給你看看那是個啥:

我們完全憑藉技巧和對 PowerBI 所有細節的精通,硬生生的把一個矩陣搞成看似按鈕的樣子,還很自然地提醒用戶點【右鍵鑽取返回】。這讓我們不斷深化對價值的看法:創新-極致 是Excel120-PowerBI戰友聯盟的核心驅動力。
我們猜測微軟應該會彌補這個很明顯的瑕疵,在微軟沒有彌補之前,至少我們有方法是可以繞過這個問題的。
欣賞影片效果:
新的DAX函數:ALLCROSSFILTERED
該函數用來去除位於多對多關係中,一個表對另一個表的篩選。微軟其實並沒有仔細解釋這個問題,直接設置多對多關係,是一種相當複雜的存在,一般不建議使用,而對於那些對於DAX完全精通,願意來挑戰智商的人隨意,不信你看:

不解釋了,總之,能不用則不用。
Power Query M 智慧感知
M 目前一共有798個函數(元素),很多戰友問起如何學習M語言,其實非常簡單,微軟官方給出了 M 的語法,大概不到幾十頁,先理解基本的 M 語法,然後所有的函數就像單詞一樣,用到了查單詞就可以了。
多年前,我們就提取了M的所有內置文檔解釋,如下:

M 語言的文檔已經大部分內置在引擎的元數據中,可以直接提取參考。 而如今,M又支援並正式發布了智慧感知,那麼可以更方面的編寫M表達式了,如下:

好了,大家可以自己體驗的。
PowerBI Report Builder
本月更新了很多特性,但很多重要特性都必須使用 Power BI Premium,這個也是。但不妨礙我們來感受一下,首先在微軟官方的部落格可以免費下載這個工具,然後安裝好運行:

我們將他與分析服務連接,並構建一個簡單的報告,如下:

點擊運行來預覽:

沒錯,這是 Power BI Report Builder 第一次發布,還有超級多的BUG,但不影響我們去判斷這個事物的未來,我們可以注意到,它可以導出成各種格式的文件,如下:

來看看BI工具排名第一的功能,導出到Excel,如下:

怎麼樣,驚呆了吧,這個功能不要甩 Power BI 好幾條街,居然這個組件沒有出現太多的BUG,它甚至居然可以保持分組和輪廓線,這就是企業級報告的基礎。
然後,怎麼看呢,目前無法直接發布到 Power BI Service,我們從雲端來撈取這個報告,會得到:

這分明就是告訴你這是 Power BI Premium 的功能,不能用可惜了,不過 Power BI Premium 還沒有落地中國,這給我們所有人都留有了學習的時間。
正如 Power BI 教父所言:

支援企業級報表沒毛病,整個 Power BI 體系大廈,尚未建成,但可以充分看到微軟對這個路線非常清晰,最後可以猜測的是,這個工具的名字叫:PowerBI Report Builder,足以說明微軟的定位,因為PowerBI本身一直與SSRS有重複的定位,從這個名字可以看出,Power BI 將可以承載 SSRS 原有的職能,由 IT 創建企業級報告,而業務專家可以使用 Power BI Desktop 自助式分析,這個狀態我們一起期盼。
總結
有一些個人認為不是很實用的功能並沒有完全介紹,而我們花了很多精力研究並實踐了:
- Power BI 多語言支援方案
- 跨報告鑽取及返回方案
- Power BI Report Builder
更多細節可以參考微軟官方的說明,DAX驅動可視化和跨報告鑽取可以說是本次的最大亮點,大家可以多多實踐,下期再戰。