建立 DAX 衡量值的方法

Power BI 中的 DAX 函式

Carl Rosseel

Curriculum Manager

隱含 vs 明確的衡量值

隱含

  • 由 Power BI 自動建立
  • 直接來自資料庫
  • 例如:將 Sales 拖到表格的值區時,Power BI 會自動加總
  • 可用下拉選單設定彙總:sum、average、count、…

明確

  • 以明確方式撰寫衡量值
  • 例如:Total Sales = SUM(Orders[Sales])
  • 更具彈性
Power BI 中的 DAX 函式

為何偏好明確衡量值

  • 降低對衡量值是什麼、在做什麼的混淆
    • Total Sales = SUM(Orders[Sales])
    • 「Total Sales」比「Sales」更清楚(是 SUM、AVG、MIN,還是其他?)
  • 可在其他衡量值中重複使用
    • Total Sales East = CALCULATE([Total Sales],Orders[Region] = 'East')
  • 可自訂名稱以說明用途
  • 讓複雜模型更易於維護
Power BI 中的 DAX 函式

最佳實務

  • 將 DAX 衡量值放在一起管理:
    • 衡量值可放在任一資料表中
    • 與隸屬特定資料表的計算欄不同

Screenshot 2021-07-22 at 11.22.15.png

  • 為 DAX 設定格式並加上註解:
    • 用縮排提升可讀性
      • Shift Enter 換行
      • Tab 縮排
    • // 後加入註解
Power BI 中的 DAX 函式

用變數讓你的公式更好

  • 以具名變數儲存運算式結果
  • 可作為其他衡量值運算式的引數

  • 四大優點:

    • 提升效能
    • 提高可讀性
    • 簡化除錯
    • 降低複雜度

語法:

  • VAR <name> = <expression>
    • Name = 變數名稱
    • 回傳純量或資料表值的 DAX 運算式
    • 後接 RETURN 陳述式
Power BI 中的 DAX 函式

用變數讓你的公式更好-範例

  • 計算去年的銷售並存成變數
VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN
  • 在公式中使用此變數
Sales growth = [Sales] - SALESPRIORYEAR
Power BI 中的 DAX 函式

用變數讓你的公式更好-範例

  • 合併起來會像這樣:
Sales growth = 

VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN

Sales growth = [Sales] - SALESPRIORYEAR
Power BI 中的 DAX 函式

一起來練習吧!

Power BI 中的 DAX 函式

Preparing Video For Download...