只要10分鐘,善用2個工具讓你的Power BI報表跑得更快!

在做數據分析的時候,如果要列出一份"常見Q&A清單",最常見的問題莫過於"為什麼我的Power BI報表跑這麼久?"

每一張報表慢的原因都不一樣,通常將資料變成視覺化報表的過程當中大致會分成三個步驟:匯入、查詢、視覺,今天就來分享報表緩慢的時候如何自我檢測和優化。

目標設定:你希望一張報表在多少時間內跑出來?多少時間以上稱之為太慢?

快跟慢都是相對的,如果是一張給高階主管看的業務報表,可能會希望在10秒鐘之內呈現,因為存取報表的場合可能是出差中並且正使用行動裝置,注意力無法集中太久;相反的如果是軟體測試的telemetry,等待時間就可以拉長,畢竟資料量非常龐大,每一秒都能產生好幾筆,而且平常即使用資料庫可能都要這麼長的時間,因此容忍度可以更高。因此要設定目標之前,可以先思考你的觀眾的使用行為,設定一個可行的目標。

善用分析工具找出最花時間的workload

Power BI報表上有許許多多的圖表,究竟是哪張圖表在拖慢整體速度?又是當中的哪個步驟佔最長時間?這裡提供兩個工具來檢測:

  1. Performance Analyzer

打開Power BI Desktop,選擇上方的view,並在Performance Analyzer打勾,就可以見到右邊多出一個欄位顯示Performance Analyzer。按下Start recodring後即可見到Analyzer開始記錄每張報表的存取時間。建議可在換頁後開始record.

Source: Performance Analyzer

如果佔據最多Duration的是Query,代表蒐集資料部分的語法有改進的空間,如果是Visual Display的占比最多,可能代表使用了不適合的視覺來呈現,可以嘗試更換一個,通常Power BI內建的效能會比較好。下圖是一位來找我諮詢的客戶,本來跑一張報表需要兩分鐘以上,在經過調教後耗時最久的一張視覺也可以在4秒內完成。

調教前
調教後

2. DAX Studio

如果已經發現時間大多花在Query上面,那麼就可以使用DAX Studio來做進一步分析。DAX Studio是一個免付費工具用來分析、編輯、查詢DAX語法,可和Power BI Designer 、Power Pivot for Excel 、and Analysis Services Tabular搭配使用。

如果是第一次使用的話可以參考以下說明:

從上方的連結下載DAX Studio並跟著步驟完成安裝以後,應該會看到以下介面,選取左上方的File->Open來連結Power BI報表。

接著選取All Queries

別忘了把下方的卡片選到All Queries,到這裡,你的Dax Studio已經準備好紀錄Power BI報表的查詢資料。

或是如果手上已經有剛才Performance Analyzer匯出的Report,也可以從上方的Load Perf Data匯入。

以下是其中一章節圖,從當中可以看到Power BI在做查詢時候的每一個動作以及耗費時間,從中就可以判斷究竟在哪個步驟耗時最長,並特別挑出來看語法作分析。

此外,Dax Studio也可以分析每張報表每個欄位的大小。看到這裡讀者可能會感到奇怪"我是資料分析師,怎麼會不知道數據大小?",其實在許多公司裡面,資料管理員和分析師常常是分開來的部門和職位,所以分析師不擁有資料存取權限是很常見的事情,也因為這樣,更需要善用工具來找出問題作跨部門合作。

下面這張是一個將欄位大小匯出後的截圖,標黃色的是Power BI中沒有使用到的欄位,可是其實佔據了不少的空間。於是我就用這份資料去說服客戶回頭檢視究竟需要和資料管理員要哪些資料?而他的觀眾又需要看到那些資料?最後發現,其實在整張表單的400多個欄位中,只有30個是最後拿來分析的。於是在經過瘦身後,不僅檔案大小縮小很多,變得更便於傳輸,報表的速度也獲得提升

以上是兩個我在健檢緩慢報表時必備的工具,這些工具除了好上手之外,也包含能夠聚焦問題往下鑽研的特色。畢竟在面對緩慢的報表時,如果只是抱怨"很慢 "、"跑很久",經常無法對症下藥。相反的,若能多問幾個問題,將問題拆解,並提供數據說明,對於改善將非常有幫助。以下舉個例子說明如何多問幾個問題:

這張報表跑得多慢:花了多少時間?

報表裡哪一個圖跑最慢:哪張視覺花最長時間?

慢在什麼步驟:資料匯入 、查詢過程 或是視覺化圖形?

下一步:找出了問題在哪後,接下來會進一步說明如何善用Power BI內建功能來改善效能

10個真實的跨領域轉職進入雲端領域的案例

想要跟你分享我從相對傳統的製造業跨領域到雲端運算領域,非本科出身,如何將工作之間的「可轉換技能」找出來並說服雇主的故事,也很幸運地完成了出國工作的夢想。

我相信沒有人生下來就是行業專家,我們就像個背包客,不斷地在職涯道路上尋找可以放進背包、帶得走的東西,即使踏入不同領域,也能夠發揮價值,佔有一席之地。成功轉職後,我觀察身邊的同事,發現非本科系出身的不在少數。

所以我紀錄並分析後整理成一份檔案。在這個檔案中,我會分享給你十位真實案例,都是我身邊的 同事,他們之中不乏從文組、金融業等成功轉職的故事。

有需要的朋友歡迎訂閱電子報,就可以下載這份跨領域轉職案例的分析,以及各種資源。

中途筆記

--

--

雲端架構師|中途筆記
數據分析不是個事

我幫助被逆境困住的人做熱愛的工作,自我實現、享受生活。有時候講話會口吃,考托福口說的時候曾經一個字都說不出來,現在在澳洲當雲端架構師,指導企業設計和規劃雲端解決方案。https://wanchunghuang.com/