You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Power BI DirectQuery的DAX分组统计父任务成败数量

DAX实现父任务成功/失败统计(DirectQuery模式)

核心逻辑

按父任务分组,判断该父任务下所有子任务的状态是否全部为finished:

  • 全为finished则标记为成功
  • 否则标记为失败
    再基于这个标记统计对应父任务的数量。

1. 创建父任务状态判断度量值

先定义一个度量值来判定单个父任务的状态:

父任务状态 = 
VAR 当前父任务子状态 = 
    CALCULATETABLE(
        VALUES('任务表'[子任务状态]),
        ALLEXCEPT('任务表', '任务表'[父任务ID])
    )
RETURN
    IF(
        COUNTROWS(当前父任务子状态) = 1 && "finished" IN 当前父任务子状态,
        "成功",
        "失败"
    )

说明:ALLEXCEPT用于锁定当前父任务的上下文,获取该父任务下所有子任务的去重状态集合。如果集合仅包含finished这一个值,说明所有子任务都完成,标记为成功;反之则为失败。

2. 统计成功/失败父任务数量

基于上面的状态度量值,分别创建统计数量的度量值:

成功父任务数量

成功父任务数 = 
CALCULATE(
    DISTINCTCOUNT('任务表'[父任务ID]),
    FILTER(
        VALUES('任务表'[父任务ID]),
        [父任务状态] = "成功"
    )
)

失败父任务数量

失败父任务数 = 
CALCULATE(
    DISTINCTCOUNT('任务表'[父任务ID]),
    FILTER(
        VALUES('任务表'[父任务ID]),
        [父任务状态] = "失败"
    )
)

DirectQuery模式适配说明

  • 上述DAX写法会被Power BI自动转换为对应的SQL查询,完全适配DirectQuery模式,无需提前创建SQL视图。
  • 请将代码中的'任务表'、[父任务ID]、[子任务状态]替换为你实际的表名和字段名。

内容的提问来源于stack exchange,提问作者shalpha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:15:39