使用 DAX 篩選與計數

Power BI 中的 DAX 函式

Maarten Van den Broeck

Content Developer at DataCamp

篩選函式

  • 篩選套用在篩選脈絡
  • 篩選優先於任何視覺項目
Total Sales = SUM(Orders[Sales])

Power BI 中的 DAX 函式

篩選函式

  • 篩選套用在篩選脈絡
  • 篩選優先於任何視覺項目
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • 與中介函式搭配使用
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Region Total Sales
Central $501,239.89
East $678,781.24
South $391,721.91
West $725,457.82
TOTAL $2,297,200.86
Power BI 中的 DAX 函式

篩選函式

  • 篩選套用在篩選脈絡
  • 篩選優先於任何視覺項目
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • 與中介函式搭配使用
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Region Total Sales Total Sales ALL
Central $501,239.89 $2,297,200.86
East $678,781.24 $2,297,200.86
South $391,721.91 $2,297,200.86
West $725,457.82 $2,297,200.86
TOTAL $2,297,200.86 $2,297,200.86
Power BI 中的 DAX 函式

更多篩選選項

  • FILTER(<table>, <filter>)
    • 回傳篩選後的資料表
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Power BI 中的 DAX 函式

更多篩選選項

  • FILTER(<table>, <filter>)
    • 回傳篩選後的資料表
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Total Sales Total Sales Chuck
$2,297,200.86 $235,856.05

$$

  • RELATED() 用於從其他資料表取值
Power BI 中的 DAX 函式

更多篩選選項

  • CROSSFILTER(<col1>, <col2>, <direction>)
    • 指定兩欄之間的交叉篩選方向

兩個資料表(Fact_Orders 與 Dim_Returns)之間的單向關聯

CROSSFILTER(Dim_Returns[Order ID], 
            Fact_Orders[Order ID],
            Both)
  • 覆寫資料模型的關聯方向
Power BI 中的 DAX 函式

在 DAX 中篩選的好處

  • 提升效能
    • 篩除不必要的資料
    • 定義資料表間的特定關聯
  • 可重用性
    • 參照其他計算量值
  • 更複雜的計算
    • 精簡語法
Power BI 中的 DAX 函式

計數

  • COUNT(<column>)
    • 回傳欄位中含數字、日期或字串的列數
  • COUNTA(<column>)
    • 回傳欄位中含數字、日期、字串或布林值的列數
  • COUNTBLANKS(<column>)
    • 回傳空白列的數量
  • DISTINCTCOUNT(<column>)
    • 回傳欄位中不重複值的數量
  • COUNTROWS(<table>)
    • 回傳資料表中含數字、日期與字串的列數
Power BI 中的 DAX 函式

一起來練習吧!

Power BI 中的 DAX 函式

Preparing Video For Download...