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

Power BI计算列与度量值:本年记录标记问题求助

解决Power BI中标记当前财年记录的问题

我来帮你搞定这个计算列的需求,核心就是把规划表的记录和你定义的当前财年(也就是[Current Year]返回的2018/19)做精准匹配,分场景处理会更严谨:

一、先理清楚匹配逻辑

你的[Current Year]是2018/19这种财年格式,而规划表有FiscalYear(数字型)和ReportDate两个关键字段,我们分两种情况判断:

  • 如果ReportDate不为空,优先通过关联的日期表获取该日期对应的财年(匹配日期表的FiscalYearSlash字段)
  • 如果ReportDate为空,就用规划表的FiscalYear生成和[Current Year]一致的格式(比如2018 → 2018/19)再做匹配

二、计算列DAX公式

假设你的规划表叫规划表,日期表叫日期表,且两者已经通过ReportDate和日期表的日期字段建立了关系,直接复制下面的DAX创建计算列就行:

IsCurrentFiscalYear = 
VAR CurrentFY = [Current Year]
-- 从日期表获取ReportDate对应的财年
VAR FYFromReportDate = RELATED(日期表[FiscalYearSlash])
-- 用FiscalYear生成和Current Year一致的财年格式
VAR FYFromFiscalYear = 
    IF(
        NOT(ISBLANK(规划表[FiscalYear])),
        FORMAT(规划表[FiscalYear], "0000") & "/" & FORMAT(规划表[FiscalYear] + 1, "00"),
        BLANK()
    )
RETURN
SWITCH(
    TRUE(),
    -- 有ReportDate且对应财年是当前财年
    NOT(ISBLANK(规划表[ReportDate])) && FYFromReportDate = CurrentFY, "是",
    -- 无ReportDate但FiscalYear匹配当前财年
    NOT(ISBLANK(FYFromFiscalYear)) && FYFromFiscalYear = CurrentFY, "是",
    -- 其他情况都标记为否
    "否"
)

三、你的样本数据测试结果

代入你提供的样本数据,[Current Year]为2018/19时,最终标记结果如下:

FiscalYearReportDateStatusIsCurrentFiscalYear
201701/4/2018Open是(该日期属于2018/19财年)
2018Open是(FiscalYear2018生成2018/19)
2017Closed否(FiscalYear2017生成2017/18)
201601/10/2016Complete否(该日期属于2016/17财年)
201601/8/2017Complete否(该日期属于2017/18财年)

四、几个注意点

  1. 一定要确保规划表和日期表的关系正确(ReportDate关联日期表的日期字段),不然RELATED函数没法正常获取日期表的财年信息
  2. 如果你的财年格式不是YYYY/YY(比如是YY/YY),要调整FORMAT函数的参数,保证生成的财年字符串和[Current Year]完全一致
  3. 如果[Current Year]是动态计算的(比如基于系统当前日期),这个计算列会自动跟着财年变化更新标记结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:12:13