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

调整Power BI度量:统计All_OOS_AD表A-D类数据并控制0值范围

Power BI度量调整解决方案

需求1:扩展类别统计范围并补全日期-类别组合的0值

原度量Total OOS A (NS)仅统计Item Category为"A"的条目,需修改为覆盖类别A-D,且对All_OOS_AD表中已存在的日期,无对应类别的数据时返回0。

解决方案DAX代码

Total OOS A-D (NS) = 
VAR CategoryList = {"A", "B", "C", "D"}
VAR DateCategoryCombination = 
    CROSSJOIN(
        VALUES(All_OOS_AD[Date]),
        SELECTCOLUMNS(CategoryList, "Item Category", [Value])
    )
RETURN
SUMX(
    DateCategoryCombination,
    CALCULATE(
        COALESCE(SUM(All_OOS_AD[OOS Value]), 0),
        All_OOS_AD[Item Category] = [Item Category],
        All_OOS_AD[Date] = [Date]
    )
)

逻辑说明

  • 用CategoryList定义需统计的类别范围(A-D)
  • 通过CROSSJOIN生成All_OOS_AD表中所有日期与A-D类别的完整组合
  • SUMX遍历每个组合,用CALCULATE计算对应类别的OOS值,COALESCE确保无数据时返回0

需求2:限制仅All_OOS_AD表内日期返回0,其他日期返回空

当前度量Total OOS A-D/Date (NS) T1 *NB*对主DATE表中不在All_OOS_AD的日期返回0,需调整为仅All_OOS_AD内的日期无数据时返回0,其余日期不返回值(显示为空)。

解决方案DAX代码

Total OOS A-D/Date (NS) T1 *NB* = 
VAR IsDateInOOS = NOT(ISEMPTY(RELATEDTABLE(All_OOS_AD)))
RETURN
IF(
    IsDateInOOS,
    COALESCE(
        -- 替换为你原度量的核心计算逻辑,例如:SUM(All_OOS_AD[OOS Value])
        SUM(All_OOS_AD[OOS Value]),
        0
    ),
    BLANK()
)

逻辑说明

  • IsDateInOOS判断当前上下文的日期是否存在于All_OOS_AD表中
  • 仅当日期在All_OOS_AD内时,计算度量值并在无数据时返回0;不在的话返回BLANK(),报表中不会显示无效日期的0值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:46:01