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

Power BI中如何在日期表按周一为首日获取可排序的星期与月份

Power Query日期表:实现星期/月份的有序显示

一、星期信息处理(周一为起始日,周日对应7)

要兼顾排序需求和显示效果,需要同时维护数字排序键和星期名称:数字键用于图表排序,名称用于前端展示。具体操作如下:

  1. 添加星期序号(数字类型,周一=1,周日=7):
#"Added Weekday Order" = Table.AddColumn(#"你的上一步骤名称", "Weekday Order", each 
    let
        dayNum = Date.DayOfWeek([Date], Day.Monday) // 指定周一为一周第一天,返回0(周一)到6(周日)
    in
        if dayNum = 6 then 7 else dayNum + 1, Int64.Type
)
  1. 添加对应的中文星期名称:
#"Added Weekday Name" = Table.AddColumn(#"Added Weekday Order", "Weekday Name", each 
    Date.DayOfWeekName([Date], "zh-CN", Day.Monday), type text
)

在可视化图表中,将Weekday Name设为分类轴,再设置排序规则为Weekday Order升序,就能实现周一到周日的正确顺序。

二、月份信息处理(按一月到十二月排序)

同样采用「数字序号+文本名称」的方案:

  1. 添加月份序号(1-12,数字类型):
#"Added Month Order" = Table.AddColumn(#"你的上一步骤名称", "Month Order", each Date.Month([Date]), Int64.Type)
  1. 添加中文月份名称:
#"Added Month Name" = Table.AddColumn(#"Added Month Order", "Month Name", each Date.MonthName([Date], "zh-CN"), type text)

图表中使用Month Name作为显示字段,以Month Order作为排序依据,即可实现月份的自然排序。

关于你之前的代码问题

你之前调用Date.DayOfWeekName.monday是错误语法,Date.DayOfWeekName是函数而非属性集合,正确调用需要传入日期参数,可选指定语言和一周起始日,所以之前的代码才返回了数字而非星期名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:40:09