PowerBI 2019年5月更新 引入做計劃預測大殺器

  • 2019 年 10 月 6 日
  • 筆記

介紹

本月除了常規的更新以外,引入了一個非常牛的大殺器,叫做VALQ,專門用來做計劃,預測,調整等,在很多領域都有廣泛的運用。

單單是VALQ,就可以用很多文章來描述,因此我們介紹了5月更新後,將重點講解下這個VALQ的功用。

報表方面

性能分析器

很多人會問如何對PowerBI進行性能優化,無疑此次的更新給我們提供了這樣的功能:

每一個圖形元素的渲染都可以包括三部分時間:

  • DAX查詢時間
  • 視覺對象顯示時間
  • 其他

另外這裡提供了複製查詢的功能,可以將實際發送給DAX引擎的查詢複製出來,例如:

// DAX Query  DEFINE VAR __DS0FilterTable =    TREATAS({"Y2012",      "Y2013",      "Y2014"}, '日期'[年份名稱])    EVALUATE    TOPN(      1001,      SUMMARIZECOLUMNS('日期'[年份名稱], '日期'[年份序號], __DS0FilterTable, "銷售_銷售額", '業務指標 銷售類'[銷售 銷售額]),      '日期'[年份序號],      1,      '日期'[年份名稱],      1    )    ORDER BY    '日期'[年份序號], '日期'[年份名稱]  

這樣有助於高級分析師徹底理解PowerBI與DAX引擎的交互,用來調試錯誤。對於此,我們將在後續文章專門講解使用性能分析器來調試DAX的方法。

篩選器面板改進

篩選器面板的改進主要體現在:

排序

這點完全是從用戶角度出發,因為這個篩選器面板是為了用戶設計的,用戶的需求會非常靈活,例如篩選器的排列順序位置等,因此,必須能夠更加靈活的定義篩選器,雖然本次有了這個改進,但仍然有些功能是存在問題的,在此前的文章已經描述,這裡不再贅述。

支援主題

篩選器支援了主題,可以像配置PowerBI顏色一樣,對篩選器進行主題的設置,例如:

{       "name": "FilterPaneTheme",       "visualStyles": {           "*": {               "*": {                   "outspacePane": [{                       "backgroundColor": {"solid": {"color": "#999999"}},                       "foregroundColor": {"solid": {"color": "#374649"}},                       "transparency": 50,                       "titleSize": 35,                       "headerSize": 8,                       "fontFamily": "Arial",                       "border": true,                       "borderColor": {"solid": {"color": "#374649"}}                   }],                   "filterCard": [                       {                       "$id": "Applied",                       "transparency": 0,                       "backgroundColor": {"solid": {"color": "#AFB5B6"}},                       "foregroundColor": {"solid": {"color": "#374649"}},                       "textSize": 15,                       "fontFamily": "Arial",                       "border": true,                       "borderColor": {"solid": {"color": "#ffffff"}},                       "inputBoxColor": {"solid": {"color": "#C8C8C8"}}                       },                       {                       "$id": "Available",                       "transparency": 40,                       "backgroundColor": {"solid": {"color": "#CCCCCC"}},                       "foregroundColor": {"solid": {"color": "#ffffff"}},                       "textSize": 10,                       "fontFamily": "Arial",                       "border": true,                       "borderColor": {"solid": {"color": "#123456"}},                       "inputBoxColor": {"solid": {"color": "#777777"}}                   }]               }           },           "page": {               "*": {                   "outspace": [{                       "color": { "solid": { "color": "#000000" }}                   }]               }           }       }   }  

表和矩陣支援鍵盤

PowerBI在整體的設計上,是要支援全鍵盤操作的,因此,本次對錶和矩陣做了這方面的增強,在選擇表或矩陣元素後,按Ctrl+右可以鎖定到具體的表(或矩陣)中的一個單元格位置。

線圖支援控制標籤位置

但它更大的作用在於:

通過自定義系列與標籤位置的配合,可以讓不同的線呈現出標籤與線的顏色一致且位置統一在上,這樣對區分不同的線有很重要的作用,尤其是在線很多很密集的時候。

KPI可視化對象支援設置文本大小

分析方面

關鍵影響因素支援設置顏色

支援設置顏色:

同時也支援了在手機端查看,但這項功能是一把雙刃劍,如果完全需要這種帶概率式的洞察,則該功能是很有用的,然而這種不確定性也是在製作報表的時候很多場景不願意看到的。

建模方面

禁用自動日期時間智慧

由於義大利大師的強烈建議,微軟PowerBI團隊增加了一個可以取消自動時間智慧設置的選項,可以設置PowerBI文件默認不使用自動日期時間智慧,如下:

與此同時,這裡給出目前筆者認為是最佳的日期表模板及模式:

1、構造一個日期表模板

2、使用日期表模板來構造自己的日期表

則日期表模板是:

Model.DatesTemplate =  // 模板函數  // 構造日期表的方法  // 本方法基於數據模型中最大的表    VAR BeginDate   = MINX( { MIN( 'FactOrders'[訂單日期] ) , MIN( 'FactOrders'[發貨日期] ) } , [Value] )  // 根據實際修改  VAR EndDate     = MAXX( { MAX( 'FactOrders'[訂單日期] ) , MAX( 'FactOrders'[發貨日期] ) } , [Value] )  // 根據實際修改    // 生成日期表,以下內容無需修改    RETURN  ADDCOLUMNS(          CALENDAR(          DATE( YEAR( BeginDate ) ,   1  ,    1  ) , // 開始日期          DATE( YEAR( EndDate ) ,     12 ,    31 )   // 結束日期      ),      "Year" , YEAR( [Date] ) ,      "Quarter" , SWITCH( TRUE() , MONTH( [Date] ) IN { 1,2,3 } , 1 , MONTH( [Date] ) IN { 4,5,6 } , 2 , MONTH( [Date] ) IN { 7,8,9 } , 3 , MONTH( [Date] ) IN { 10,11,12 } , 4 ) ,      "YearQuarter" , YEAR( [Date] ) * 10 + SWITCH( TRUE() , MONTH( [Date] ) IN { 1,2,3 } , 1 , MONTH( [Date] ) IN { 4,5,6 } , 2 , MONTH( [Date] ) IN { 7,8,9 } , 3 , MONTH( [Date] ) IN { 10,11,12 } , 4 ) ,      "Month" , MONTH( [Date] ) ,      "YearMonth" , YEAR( [Date] ) * 100 + MONTH( [Date] ) ,      "Week" , WEEKNUM( [Date] , 2 ) ,      "YearWeek" , YEAR( [Date] ) * 100 + WEEKNUM( [Date] , 2 ) ,      "Weekday" , WEEKDAY( [Date] , 2 ) ,      "Day" , DAY( [Date] ) ,      "DayInWeek" , WEEKDAY( [Date] , 2 ) // 周1 = 1 , ... ,周日 = 7  )  

注意,其中的BeginDateEndDate表示了日期表的範圍,而這個範圍由事實表鎖定。

而主日期表為:

DimDates =    // 主日期表  // 通過日期表模板構造  // 模板  // 依賴  //      DatesTemplate  // 注意  //      請設置各列的默認屬性,如果需要可以構造日期層級    'Model.DatesTemplate' // 日期表模板  

DAX函數 ALLSELECTED

現在 ALLSELECTED 與 ALL 類似,開始支援多參數了。

自定義可視化

ArcGIS

支援了查看錯誤面板,可以幫助我們快速鎖定到有問題的欄位描述,以修復地圖。

Walkers Animated Pictogram

該公司還出品了一個大家都曾看到過的賽跑圖:

還記得中國GDP與各國GDP的賽跑嗎?這個圖可以完全製作出這個效果,有興趣的夥伴可以自己嘗試。

其他

PowerBI Desktop 加入查詢自動取消特性

為了提升性能,在以下場景,PowerBI Desktop會將查詢自動取消:

  • 當一個可視化元素產生了一個新查詢而之前的查詢尚未完成,則會自動取消之前的查詢。這種情況在選擇切片器、多選以及交叉篩選時會出現。
  • 當一個可視化元素處於隱藏狀態,查詢會自動取消。
  • 當切換頁面時,上一個頁面未完的查詢會自動取消。
  • 當關閉報告,所有的查詢將自動取消。

注意:目前這個特性僅僅適用於PowerBI Desktop,並不適用於雲端的PowerBI Service版。

ValQ

重點來了,本月更新中,微軟介紹了一個重要的可視化組件,叫做:ValQ(我Q)。

先來看看它的樣子吧:

以財務預算為例,每項預算都是由其他項組成,而其他項由更多的子項構成,因此這就構成了一個級聯連鎖結構。而財務分析師通常需要改變其中某些局部變數來觀察每個層級的變化以進行財務預算、分攤等處理。

通過方案對比,最終選擇合適的方案。它可以以樹形或表形的形式存在,來進行計算:

可以批量更改參數,也可以只是更改某個細節:

整體如下:

關於valQ的使用遠遠超過一次文章能介紹清楚,這款軟體由VisualBI打造,用來彌補Excel在此方面的不足:

在PowerBI中的架構如下:

ValQ可以勝任的角色及場景:

大家可以自行嘗試,這個工具還是有很強的專業性的。

總結

2019年5月更新,PowerBI 引入了 性能分析器以實現了性能分析。與此同時,引入了一家製作了ValQ的重要合作商以及其產品ValQ,這些特性大家可以自己嘗試。