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

Power BI中借助DAX创建每月首个工作日标识的问题求助

Power BI日期表每月首个工作日标识列DAX实现方案

原有代码问题原因

你之前的代码未限制年份维度,也未正确处理行上下文和筛选上下文的转换,导致筛选范围覆盖所有年份的对应月份,最终仅返回每年最早的符合条件日期,不符合按年月分组的需求。

正确实现代码

直接新增如下计算列即可一步得到你需要的first_workday_per_month标识字段:

first_workday_per_month = 
VAR cur_year = D_DATE[year]
VAR cur_month = D_DATE[month]
// 计算当前行所属年月的首个工作日
VAR month_first_workday = 
CALCULATE(
    MIN(D_DATE[date]),
    ALL(D_DATE),
    D_DATE[year] = cur_year,
    D_DATE[month] = cur_month,
    D_DATE[first_workday_per_week] = 1
)
// 匹配当前行日期返回标识
RETURN IF(D_DATE[date] = month_first_workday, 1, 0)

逻辑说明

  • 用VAR提前固定当前行所属的年份、月份,避免上下文转换后取值混乱
  • ALL(D_DATE)清除当前行上下文的筛选限制,在全表范围内筛选同年同月、且为周首个工作日的日期,取最小值即为当月首个工作日
  • 最后判断当前行日期是否匹配当月首个工作日,返回1或0作为标识

适配说明

如果你的year、month字段为文本格式,只要字段取值规则统一,无需修改代码可直接运行;如果日期表已被标记为官方日期表,执行效率会更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:08