迭代函数

Power BI 中的 DAX 函数

Maarten Van den Broeck

Content Developer at DataCamp

迭代函数

  • 遍历给定表的每一行以执行表达式

SUMX(<table>, <expression>) AVERAGEX(<table>, <expression>)

  • X 代表 eXpression(表达式)
  • 允许在每行进行高级计算
Power BI 中的 DAX 函数

迭代函数:SUMX()

计算列示例
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
总成本
$2,569
Power BI 中的 DAX 函数

迭代函数:SUMX()

计算列示例
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
总成本
$2,569
迭代函数示例
Total Costs SUMX = 
SUMX(Fact_Orders,
     Fact_Orders[Sales] - Fact_Orders[Profit])
总成本 SUMX
$2,569
Power BI 中的 DAX 函数

筛选迭代函数

  • 使用筛选函数(如 FILTER())返回筛选后的表
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])
Power BI 中的 DAX 函数

筛选迭代函数

  • 使用筛选函数(如 FILTER())返回筛选后的表
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])

$$ $$ $$ $$ $$ $$

区域 总成本 East 区总成本 SUMX
Central $501,239.89
East $678,781.24 $678,781.24
South $391,721.91
West $725,457.82
合计 $2,297,200.86 $678,781.24
Power BI 中的 DAX 函数

迭代函数:RANKX()

RANKX(
    <table>,
    <expression>)
  • 按总成本为区域排名
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • 使用 ALL() 评估维度表的所有行
Power BI 中的 DAX 函数

迭代函数:RANKX()

RANKX(
    <table>,
    <expression>)
  • 按总成本为区域排名
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • 使用 ALL() 评估维度表的所有行

$$ $$ $$

区域 总成本 总成本 RANKX
Central $725,457.82 1
East $678,781.24 2
South $501,239.89 3
West $391,721.91 4
Power BI 中的 DAX 函数

DAX 中的运算符

比较运算符
运算符 含义
= 等于
== 全等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
Power BI 中的 DAX 函数

DAX 中的运算符

比较运算符
运算符 含义
= 等于
== 全等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
文本运算符
运算符 含义 示例
& 连接文本值 [City]&", "&[State]
Power BI 中的 DAX 函数

DAX 中的运算符

比较运算符
运算符 含义
= 等于
== 全等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
文本运算符
运算符 含义 示例
& 连接文本值 [City]&", "&[State]
逻辑运算符
运算符 含义 示例
&& AND 条件 ([City] = "Bru") && ([Return] = "Yes"))
|| OR 条件 ([City] = "Bru") || ([Return] = "Yes"))
IN { } 每行的 OR 条件 Product[Color] IN {"Red", "Blue", "Gold"}
Power BI 中的 DAX 函数

Lesson[Knowledge] IN {"Poor", "Great", "Awesome!"}

Power BI 中的 DAX 函数

Preparing Video For Download...