咨询:在Microsoft Access中获取当前年份整数并计算年份差值的方法
获取当前年份与目标年份差值的解决方案
不是必须使用计算列,以下分场景给出可行方案:
为什么计算列里用Date()会报错
计算列是逐行静态计算的,Date()/TODAY()这类返回当前日期的易变函数会导致计算列频繁刷新,影响性能,因此被系统禁止在计算列中使用。
方案1:使用度量值(动态实时计算,推荐)
如果需要每次查看时都用最新的当前年份计算差值,用度量值最合适,它支持使用易变函数:
年份差值 = YEAR(TODAY()) - SELECTEDVALUE('你的表名'[目标年份列])
YEAR(TODAY()):提取当前系统日期的年份SELECTEDVALUE('你的表名'[目标年份列]):获取当前筛选上下文下的目标年份值- 两者相减直接得到整数结果
方案2:在Power Query中添加自定义列(静态存储刷新时的差值)
如果需要把差值作为固定列存储,可在Power Query编辑器中处理(加载数据时计算一次,刷新数据时更新):
- 进入Power Query编辑器
- 点击「添加列」→「自定义列」
- 输入以下公式(替换
[目标年份列]为你的实际列名):
Date.Year(DateTime.LocalNow()) - [目标年份列]
- 关闭并应用,即可得到存储差值的静态列
方案3:Excel普通单元格公式(非Power BI场景)
如果是在Excel中操作,直接在单元格输入公式即可,无需计算列:
=YEAR(TODAY()) - A2
将A2替换为目标年份所在的单元格,下拉填充即可批量计算
内容的提问来源于stack exchange,提问作者user14634285
相关产品推荐
相关产品推荐

