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

Power BI中如何根据周数字段填充对应月份名称

Power BI 基于Week Number填充Month Name操作方案

前置说明:默认你使用的是自然年周数规则,若使用ISO周或自定义周规则,可对应调整周起始日参数即可

方案1:DAX计算列实现(适合报表层动态计算)

  • 第一步先提取年份字段(避免跨年周数重复匹配错误,已有年份字段可跳过):
    新建计算列,输入公式:
    Year = YEAR('你的实际表名'[New Status Date])
  • 第二步新建Month Name计算列,输入DAX公式:
    Month Name = 
    // 计算当年第一天
    VAR FirstDayOfYear = DATE('你的实际表名'[Year], 1, 1)
    // 计算当前周的第一天,WEEKDAY第二个参数2代表周一为周首日,改成1代表周日为周首日
    VAR FirstDayOfCurrentWeek = FirstDayOfYear + ('你的实际表名'[Week Number] - 1)*7 - WEEKDAY(FirstDayOfYear, 2) + 1
    // 返回当前周第一天所在月份的完整名称
    RETURN FORMAT(FirstDayOfCurrentWeek, "mmmm")
    
  • 替换公式内的你的实际表名为你的数据表真实名称即可生效

方案2:Power Query M实现(适合数据清洗阶段静态处理)

  • 进入Power Query编辑器,选中目标数据表
  • 依次点击「添加列」→「自定义列」,输入M公式:
    // Date.DayOfWeek第二个参数Day.Monday代表周一为周首日,改为Day.Sunday即为周日为周首日
    = Date.MonthName(
        Date.AddDays(
            #date([Year],1,1), 
            ([Week Number]-1)*7 - Date.DayOfWeek(#date([Year],1,1), Day.Monday) + 1
        )
    )
    
  • 点击确定后,新列会自动填充所有行的月份名称,应用更改后加载到模型即可使用

特殊场景适配:如果你的周存在跨月情况,需要取周内天数占比更高的月份作为归属月,只需要在原有公式基础上增加周首日和周尾日的月份判断,取天数更多的月份即可


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:09:03