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

基于日期添加DAX列:上月末及之前标记YTD,否则标记FCT

Power Query生成YTD/FCT列的正确实现

原代码问题分析

  1. 语法错误:代码中Added Custom"的引号位置错误,正确写法应为"Added Custom"
  2. 逻辑偏差:使用Today()无法满足“上月末或更早日期”的需求,需要精准计算上月末日期

修正后的完整代码

"Added Custom" = Table.AddColumn(#"Change Type4", "YTD Date", each if [Date.Custom] <= Date.EndOfMonth(Date.AddMonths(Date.From(DateTime.LocalNow()), -1)) then "YTD" else "FCT")

代码逻辑说明

  • Date.EndOfMonth(Date.AddMonths(Date.From(DateTime.LocalNow()), -1)):精准计算上月最后一天的日期
    • DateTime.LocalNow():获取当前系统的日期时间
    • Date.From():将日期时间转换为纯日期类型,避免时间部分干扰判断
    • Date.AddMonths(..., -1):得到上个月的对应日期
    • Date.EndOfMonth():提取该月的最后一天
  • 条件判断:当[Date.Custom]早于或等于上月末时返回YTD,否则返回FCT

额外提示

如果[Date.Custom]是日期时间格式,建议将其转换为纯日期后再判断,避免因时间部分导致的误判,修改后的条件部分如下:

if Date.From([Date.Custom]) <= Date.EndOfMonth(Date.AddMonths(Date.From(DateTime.LocalNow()), -1)) then "YTD" else "FCT"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:27:04