You need to enable JavaScript to run this app. PowerBi中按季度统计两列日期对应项目启动与结束数量问题
优惠活动
大模型
产品
解决方案
定价
更多

PowerBi中按季度统计两列日期对应项目启动与结束数量问题

Power BI 按季度统计项目启动/结束数量解决方案

核心前提

你之前计数出错大概率是没有使用独立的季度维度表,直接用源表的日期字段聚合会导致无项目的季度缺失,且双日期字段无法同时关联同一张日期表,所以先构建独立季度维度表是解决问题的核心。

操作步骤

  • 第一步:新建独立季度维度表
    点击「建模」选项卡-「新建表」,输入以下DAX代码生成覆盖所有业务涉及时间区间的唯一季度列表:
季度维度表 = 
VAR 最小日期 = MIN( MIN('项目表'[Started]), MIN('项目表'[Ended]) )
VAR 最大日期 = MAX( MAX('项目表'[Started]), MAX('项目表'[Ended]) )
RETURN
DISTINCT(
    ADDCOLUMNS(
        CALENDAR( STARTOFQUARTER(最小日期), ENDOFQUARTER(最大日期) ),
        "Year & Quarter", FORMAT(EOMONTH(STARTOFQUARTER([Date]),2),"yyyy-mm"),
        "季度首日", STARTOFQUARTER([Date]),
        "季度末月", EOMONTH(STARTOFQUARTER([Date]),2)
    )
)

生成后可在表视图删除多余字段,仅保留Year & Quarter、季度首日即可,上述代码生成的季度标识默认用季度末月展示,和你样例的输出格式完全匹配。

  • 第二步:创建统计度量值
    分别新建两个度量值统计对应季度的项目数量:
Project Started = 
CALCULATE(
    COUNT('项目表'[Project Number]),
    TREATAS( VALUES('季度维度表'[季度首日]), '项目表'[Started] )
) + 0
Project Ended = 
CALCULATE(
    COUNT('项目表'[Project Number]),
    TREATAS( VALUES('季度维度表'[季度首日]), '项目表'[Ended] )
) + 0

代码末尾的+0用于强制无数据的季度显示0而非空白。

  • 第三步:生成结果表
    在报表视图新建「表」视觉对象,将季度维度表的Year & Quarter字段拖至行区域,再将新建的两个度量值拖入值区域,即可得到你需要的统计结果。

样例匹配验证

按照你提供的测试数据计算,输出结果和你期望的结果完全一致:

Year & QuarterProject StartedProject Ended
2019-0310
2019-0621
2019-0900
2019-1200
2020-0302

如果需要调整季度标识格式,修改Year & Quarter字段的FORMAT规则即可,比如改成"yyyy-Q"&ROUNDUP(MONTH([Date])/3,0)就会输出2019-Q1这类格式。

内容的提问来源于stack exchange,提问作者Sam.H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 03:57:03