辨識效能問題

Power BI 中級資料建模

Sara Billen

Curriculum Manager at DataCamp

解決效能問題

一位女性坐在電腦螢幕前,儀表板載入很慢。

Power BI 中級資料建模

效能問題

沙漏插畫。

可能出錯的環節:

  • 資料匯入
  • 以 DirectQuery 查詢資料庫
  • 視覺化顯示
  • 計算欄位 vs. 預先計算欄位
  • 低效的關聯
    • 多對多關聯
    • 雙向交叉篩選
Power BI 中級資料建模

最佳化資料匯入

  • 移除不必要的列與欄
  • 選用正確的資料型別
    • 數值資料占用較小空間
    • 型別轉換與彙總較慢
  • 分組並摘要資料
    • 磁碟儲存更少資料
    • 更快取得彙總結果

Pozer BI 中不同資料匯入方式示意圖;Excel、CSV 與資料庫。

Power BI 中級資料建模

最佳化 Direct Query

  • 連接資料的兩種方式:
    • Import model:將資料儲存在 Power BI 中
    • Direct Query:直接查詢資料庫

$$

  • 限制平行查詢數
  • 關聯式資料庫建議
    • 撰寫高效的 SQL 查詢
    • 使用適當索引
    • 只取所需欄與列

Power BI 載入資料的兩種方式示意圖:一邊是 Import,另一邊是 Direct Query(連到資料庫)。

Power BI 中級資料建模

計算欄位 vs. 預先計算欄位

以下方式建立自訂欄位:

計算欄位 預先計算欄位
DAX Power Query (M)
適合_簡單_計算,速度快 適合_簡單_計算,速度快
_複雜_計算較慢 _複雜_計算速度快
於視覺化執行時計算 匯入時計算一次
Power BI 中級資料建模

用篩選量值移除雙向篩選

  • 雙向篩選的使用情境
    • 在多個維度間找出相關的切片器項目
  • 第三種情境可用篩選量值來避免雙向關聯!
Power BI 中級資料建模

用篩選量值移除雙向篩選

Power BI 的資料模型,僅單向篩選,並包含 Slicer_MyFactTable 篩選量值。

Power BI 中級資料建模

用篩選量值移除雙向篩選

1) 在 DAX 建立篩選量值:

Slicer_MyFactTable = INT(NOT ISEMPTY('My Fact Table'))
  • 若事實表至少有一筆值,回傳 1
  • 若事實表沒有值,回傳 0

$$

2) 在切片器加入視覺化篩選,設定 Slicer_MyFactTable = 1

Power BI 中級資料建模

視覺化顯示

電腦螢幕顯示 Power BI 應用程式中的報表。

$$

  • 使用限制性篩選以縮小資料量
  • 視覺上盡量少顯示資料
  • 限制每頁視覺化元件數量
  • 僅使用速度快的自訂視覺
Power BI 中級資料建模

一起來練習吧!

Power BI 中級資料建模

Preparing Video For Download...