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

Power BI中用DAX计算每周新增物品数量并生成柱状图的需求

按年度每周统计新增物品数量的DAX实现

核心思路

要统计每周新增物品,关键是识别每个物品的首次出现周,然后统计每个周内首次出现的物品数量,同时用「年份+周数」的组合标识周,避免跨年时第52周与第1周的统计混淆。

步骤1:计算物品首次出现日期(可选,提升性能)

在物品表中添加计算列,存储每个物品的首次报告日期:

First Report Date = 
CALCULATE(
    MIN('物品表'[report date]),
    ALLEXCEPT('物品表', '物品表'[item number])
)
  • 这个计算列会为每个物品标记它第一次出现在报表中的日期,后续统计时无需重复计算,提升性能。

步骤2:创建「每周新增物品数」度量值

使用以下度量值来统计每周的新增物品数量:

每周新增物品数 = 
VAR CurrentYearWeek = 
    SELECTEDVALUE('日期表'[year]) 
    & "-W" 
    & FORMAT(SELECTEDVALUE('日期表'[weekofyear]), "00")  // 生成如2025-W01的唯一周标识
RETURN
CALCULATE(
    DISTINCTCOUNT('物品表'[item number]),
    FILTER(
        ALL('物品表'),
        // 生成物品首次出现的周标识,与当前统计周匹配
        YEAR('物品表'[First Report Date]) 
        & "-W" 
        & FORMAT(WEEKNUM('物品表'[First Report Date], 2), "00")  // 参数2表示周一为周起始,可按需调整
        = CurrentYearWeek
    )
)

无计算列的纯度量值方案(灵活但性能稍弱)

如果不想添加计算列,可使用纯度量值直接计算:

每周新增物品数 = 
VAR CurrentWeekStart = STARTOFWEEK(MIN('日期表'[Date]), 2)  // 2表示周一为周起始
VAR CurrentWeekEnd = ENDOFWEEK(MAX('日期表'[Date]), 2)
RETURN
CALCULATE(
    DISTINCTCOUNT('物品表'[item number]),
    FILTER(
        ALL('物品表'),
        // 当前物品在本周出现
        '物品表'[report date] >= CurrentWeekStart 
        && '物品表'[report date] <= CurrentWeekEnd
        // 且该物品从未在本周之前出现过
        && NOT EXISTS(
            FILTER(
                ALL('物品表'),
                '物品表'[item number] = EARLIER('物品表'[item number])
                && '物品表'[report date] < CurrentWeekStart
            )
        )
    )
)

关键细节说明

  1. 周标识唯一性:用年份-W周数(如2024-W52、2025-W01)的组合,彻底解决跨年时周数重复的统计问题。
  2. 周起始设置:WEEKNUM函数的第二个参数可调整周起始日,比如1是周日起始,2是周一起始,根据业务需求选择。
  3. 日期表关联:确保物品表的report date与日期表的Date字段建立一对一或多对一的关系,且日期表已标记为「日期表」(Power BI模型视图中右键日期表→标记为日期表)。

示例验证

针对你提供的测试数据:

  • 2025年第1周(1/3):itm0001、itm0002、itm0003首次出现,统计值为3
  • 2025年第2周(1/6-1/7):itm0004、itm0005、itm0006首次出现,统计值为3
    完全符合你的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:34:52