Total Pageviews

2022/01/20

[Power BI] DAX 應用 - TOPN / SELECTCOLUMNS / FORMAT

Requirement

假設我已從中選會取得公投第 17 案的相關資料



我希望顯示最高同意率的城市資料,該如何完成此需求


How-To

解決方法會使用到三個 DAX functions

  • TOPN:將「同意票數」除以「有效票數」、降冪排序、取出第一筆
  • SELECTCOLUMNS:將計 TOPN 算結果欄新增至指定的資料表運算式
  • FORMAT:將「同意票數」除以「有效票數」,轉換成百分比

Step 1. New measure (新增量值)

Step 2. 透過 TOPN 取得同意率最高的資料
TOPN(1,'第17案','第17案'[同意票數] / '第17案'[有效票數],DESC)

Step 3. 透過 SELECTCOLUMNS 取出該筆資料 (將 TOPN 取得的資料是為 SQL 中的 from),並組出該城市+同意率資料;運用 FORMAT function 將同意率轉為百分比顯示
第17案最高同意率 = SELECTCOLUMNS(TOPN(1,'第17案','第17案'[同意票數] / '第17案'[有效票數],DESC), "最高同意率", '第17案'[縣市]&" "&FORMAT('第17案'[同意票數]/'第17案'[有效票數], "Percent"))



若是要呈現右下的最低同意率


measure 則修改如下
第17案最低同意率 = SELECTCOLUMNS(TOPN(1, '第17案', '第17案'[同意票數]/'第17案'[有效票數],ASC),"最低同意率", '第17案'[縣市]&" "&FORMAT('第17案'[同意票數]/'第17案'[有效票數],"Percent"))



No comments: