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

PowerBI中如何按月初首个阶段统计月度项目数量?

解决项目月度阶段统计重复问题:仅统计月初所处阶段

方法一:Power Query预处理数据(推荐)

没必要拆分每一天的数据,直接定位每个项目在目标月初当天所处的阶段即可:

  • 添加自定义列,判断当前阶段是否包含目标月初日期(以2022年8月1日为例):
    = [Start] <= #date(2022,8,1) and [Finish] >= #date(2022,8,1)
    
    把这个列命名为IsInTargetMonthStart
  • 筛选出IsInTargetMonthStart值为true的行
  • 按Project ID去重(一个项目只会有一个阶段覆盖月初当天)
  • 用处理后的数据集做条形图,就不会出现重复统计的问题了

如果需要批量处理多个月份,可以把目标日期做成参数:

  1. 创建参数TargetMonthStart,类型设为日期
  2. 把自定义列公式改成:
    = [Start] <= TargetMonthStart and [Finish] >= TargetMonthStart
    
    之后修改参数就能切换不同月份的统计。

方法二:DAX度量值动态统计

如果不想修改原始数据集,直接用DAX写度量值来计算:

项目数(月初阶段)= 
VAR TargetDate = DATE(2022,8,1) -- 这里可以替换成你需要的月初日期
RETURN
CALCULATE(
    DISTINCTCOUNT('表'[Project ID]),
    FILTER(
        '表',
        '表'[Start] <= TargetDate && '表'[Finish] >= TargetDate
    )
)

要是需要配合月份切片器动态切换,把TargetDate替换成:

VAR TargetDate = EOMONTH(SELECTEDVALUE('日期表'[日期]),-1)+1

这样选任意月份,都会自动取该月第一天作为判断基准。

为什么之前的方法会重复?

拆分每日数据后,同一个项目在8月的两个阶段都会生成多条记录,但我们只需要关注月初当天项目处于哪个阶段——由于项目阶段是连续推进的,每个项目在月初只会属于一个阶段,直接判断月初日期是否落在阶段的时间区间里,就能精准定位到该阶段,不需要拆分每日数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:57:24