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

Power BI DAX:如何在Backlog计算中正确加入状态排除条件

解决方案

直接调整ClosedIncidents的过滤逻辑,并新增对取消工单的单独统计,确保Backlog计算逻辑准确:

Backlog = 
VAR CreatedIncidents =
    CALCULATE(
        COUNT(Tabla_INC[Opened_WithoutTime]),
        FILTER(
            ALL(Tabla_INC),
            Tabla_INC[Opened_WithoutTime] <= MAX(Tabla_Fechas_Incidencias[Date]) &&
            Tabla_INC[Assignment_Group] = "N1 SYSTEMS"
        )
    )

VAR ClosedIncidents =
    CALCULATE(
        COUNT(Tabla_INC[Closed_WithoutTime]),
        FILTER(
            ALL(Tabla_INC),
            Tabla_INC[Closed_WithoutTime] <= MAX(Tabla_Fechas_Incidencias[Date]) &&
            Tabla_INC[Assignment_Group] = "N1 SYSTEMS" &&
            Tabla_INC[Status] <> "Cancelled" -- 正确添加排除取消工单的条件
        )
    )

VAR ResolvedCases =
    CALCULATE(
        COUNT(Tabla_INC[Resolved_WithoutTime]),
        FILTER(
            ALL(Tabla_INC),
            ISBLANK(Tabla_INC[Closed_WithoutTime]) &&
            Tabla_INC[Assignment_Group] = "N1 SYSTEMS" &&
            Tabla_INC[Status] <> "Cancelled" -- 补充排除条件,避免异常数据干扰
        )
    )

VAR CancelledIncidents =
    CALCULATE(
        COUNT(Tabla_INC[Opened_WithoutTime]),
        FILTER(
            ALL(Tabla_INC),
            Tabla_INC[Opened_WithoutTime] <= MAX(Tabla_Fechas_Incidencias[Date]) &&
            Tabla_INC[Assignment_Group] = "N1 SYSTEMS" &&
            Tabla_INC[Status] = "Cancelled"
        )
    )

VAR Result = CreatedIncidents - ClosedIncidents - ResolvedCases - CancelledIncidents

RETURN MAX(0, Result)

逻辑说明

  • CreatedIncidents:保留原有逻辑,统计所有创建的工单(包含后续取消的),符合业务需求。
  • ClosedIncidents:添加Status <> "Cancelled"条件,仅统计正常关闭的工单,排除取消类工单。
  • ResolvedCases:补充排除取消状态的条件,虽然业务上已解决工单不会是取消状态,但可避免异常数据影响计算结果。
  • CancelledIncidents:新增变量统计已取消的工单,这类工单已被计入创建总数,但不应留在Backlog中,因此需要从最终结果中扣除。
  • Result:调整计算公式,减去取消工单数量,确保Backlog仅包含未关闭、未解决且未取消的有效工单。

可选调整(根据数据模型适配)

如果取消工单的Closed_WithoutTime字段有值,可将CancelledIncidents的统计改为基于关闭时间:

VAR CancelledIncidents =
    CALCULATE(
        COUNT(Tabla_INC[Closed_WithoutTime]),
        FILTER(
            ALL(Tabla_INC),
            Tabla_INC[Closed_WithoutTime] <= MAX(Tabla_Fechas_Incidencias[Date]) &&
            Tabla_INC[Assignment_Group] = "N1 SYSTEMS" &&
            Tabla_INC[Status] = "Cancelled"
        )
    )

内容的提问来源于stack exchange,提问作者Pablo Sánchez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:23:16