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

如何用DAX基于周数、年份和星期几计算日期并实现星期排序?

问题解决指南

一、让Weekday按周一至周日顺序排列

  • 新建计算列Weekday_Order,用DAX给每个星期分配排序值:
    Weekday_Order = 
    SWITCH(
        [Weekday],
        "星期一", 1,
        "星期二", 2,
        "星期三", 3,
        "星期四", 4,
        "星期五", 5,
        "星期六", 6,
        "星期日", 7
    )
    
  • 选中Weekday列,在「列工具」选项卡点击「排序依据」,选择Weekday_Order列,之后可视化中的星期就会按 chronological 顺序展示。

二、修复DAX日期计算的Token EOF错误

原公式错误源于列名不匹配([week no]需对应数据集里的[Week_Number]),同时逻辑上需调整周数计算避免日期偏移。修正后的公式如下:

New_Date = 
VAR _st = DATE([Year], 1, 1)
VAR _st_week = _st - WEEKDAY(_st, 2) + 1  // 取当年第一个周一作为第一周起始
RETURN
_st_week + 7 * ([Week_Number] - 1)  // 减1是因为第一周已从_st_week开始,避免多算7天
  • 说明:WEEKDAY(_st, 2)指定周一为一周第1天,确保_st_week是当年第一个周一;[Week_Number]-1的调整是为了让第1周对应起始日期,后续周数按(周数-1)*7天累加,得到对应周的周一日期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:09:59