表操作函数

Power BI 中级 DAX

Maarten Van den Broeck

Content Developer at DataCamp

表操作函数概览

之前学过的函数
DISTINCT(<table> | <table>)

从表中移除重复行或从列中移除重复值

SELECTCOLUMNS(<table>, <name>, <expression>)

将其他表中的所选列作为新表返回

新函数
ADDCOLUMNS(<table>, <name>, <expression>)

返回在输入表中追加来自其他表的所选列

SUMMARIZE(<table>,
          <groupBy_columnName>,
          <name>,
          <expression>)

返回按分组计算汇总的汇总表

Power BI 中级 DAX

ADDCOLUMNS()

ADDCOLUMNS(<table>, <name>, <expression>) 

返回在输入表中追加来自其他表的所选列

ADDCOLUMNS(Fact_table,
           "Profit",
           Revenue - Costs)
Power BI 中级 DAX

ADDCOLUMNS()

ADDCOLUMNS(<table>, <name>, <expression>) 

返回在输入表中追加来自其他表的所选列

ADDCOLUMNS(Fact_table,
           "Profit",
           Revenue - Costs) 
Revenue Costs Profit
100 25 75
150 25 125
Power BI 中级 DAX

ADDCOLUMNS()

ADDCOLUMNS(<table>, <name>, <expression>) 

返回在输入表中追加来自其他表的所选列

ADDCOLUMNS(Fact_table,
           "Profit",
           Revenue - Costs) 
Revenue Costs Profit
100 25 75
150 25 125
SELECTCOLUMNS(<table>, <name>, <expression>)

将其他表中的所选列作为新表返回

SELECTCOLUMNS(Fact_table,
              "Profit",
              Revenue - Costs) 
Profit
75
125
Power BI 中级 DAX

SUMMARIZE()

SUMMARIZE(<table>,
          <groupBy_columnName>,
          <name>,
          <expression>)

返回按分组计算汇总的汇总表

Power BI 中级 DAX

SUMMARIZE()

SUMMARIZE(<table>,
          <groupBy_columnName>,
          <name>,
          <expression>)

返回按分组计算汇总的汇总表

SUMMARIZE(Amounts,

Amounts[Year], Amounts[Category],
"Total Amount", SUM(Amounts[Amount]))
Year Category Amount
2019 Tickets 50
2019 Postcards 500
2020 Tickets 200
2020 Tickets 400
Power BI 中级 DAX

SUMMARIZE()

SUMMARIZE(<table>,
          <groupBy_columnName>,
          <name>,
          <expression>)

返回按分组计算汇总的汇总表

SUMMARIZE(Amounts,

Amounts[Year], Amounts[Category],
"Total Amount", SUM(Amounts[Amount]))
Year Category Amount
2019 Tickets 50
2019 Postcards 500
2020 Tickets 200
2020 Tickets 400

$$

Year Category Total Amount
2019 Tickets 50
2019 Postcards 500
2020 Tickets 600
Power BI 中级 DAX

SUMMARIZE() 最佳实践

  • SUMMARIZE() 创建的列可能因上下文而产生意外结果

$$

SUMMARIZE(Amounts,
          Amounts[Year],
          Amounts[Category]),
          "Total Amount",
          SUM(Amounts[Amount])
  • 创建新列时,最佳做法是用 ADDCOLUMNS() 包裹 SUMMARIZE()
ADDCOLUMNS(
    SUMMARIZE(Amounts,
               Amounts[Year],
               Amounts[Category]),
    "Total Amount",
    SUM(Amounts[Amount])
)
Power BI 中级 DAX

Vamos praticar!

Power BI 中级 DAX

Preparing Video For Download...