Power BI如何用DAX生成上月年月格式的计算列
DAX 实现上月年月(mm/yyyy格式)计算列
你之前使用的=Date.Month([Last Data Update])-1公式存在两个问题:仅提取了月份数值,没有处理1月日期取上月时的跨年逻辑,也没有做年份拼接、月份两位数补零,因此无法得到预期的05/2022格式结果。
正确写法(直接返回mm/yyyy格式文本)
新建计算列时输入以下DAX代码:
report month = VAR PrevMonthFirstDay = EOMONTH([Last Data Update], -2) + 1 RETURN FORMAT(PrevMonthFirstDay, "MM/yyyy")
逻辑说明
EOMONTH([Last Data Update], -2):取当前日期往前2个月的最后一天,加1天后自动得到上月第一天的日期值,天然支持跨年场景:比如日期为01/05/2022时,会自动计算得到2021/12/01,不需要额外写判断分支FORMAT(..., "MM/yyyy"):将日期直接格式化为两位月份+四位年份的文本,1-9月会自动补前导零,最终输出和示例要求完全一致。
关联日历表优化提示:如果你的日历表关联键是日期类型而非文本类型,不建议输出文本格式的关联键,会影响关联性能和后续时间智能计算,推荐使用日期类型方案:
report month = EOMONTH([Last Data Update], -2) + 1公式返回上月第一天的日期值,写完后选中该列,在顶部「列工具」选项卡的格式设置中,选择自定义格式输入
MM/yyyy,既保留日期类型方便关联,显示效果也符合05/2022的要求。
内容的提问来源于stack exchange,提问作者NorwegianLatte
相关产品推荐
相关产品推荐

