知识库

对财政年度使用日期函数


发布时间: 28 Jun 2013
上次修改日期: 03 Jan 2024

问题

使用日期函数时,例如 DATEPART(),将忽略财年的开始时间。

例如,如果财年设置为 2 月,那么 DATEPART('month', #2/1/2022#) 将返回 2,即使 2 月应该是第一个月。

环境

Tableau Desktop

解决方案

使用 DATEADD('month',...) 将实际日期转换为相应的相对日期。例如,如果 2 月是财年的第一个月,那么 2 月应该转换为下个 1 月份。请参阅下面的附加信息部分,了解更多解释。
 
单击以展开步骤
示例 1:查找财政年度、季度或月份编号
要查看以下视频中显示的步骤,请展开上述部分。注意:视频没有声音。
 
单击以展开步骤
示例 2:查找会计周编号
要查看以下视频中显示的步骤,请展开上述部分。注意:视频没有声音。
 

原因

按照设计,日期函数当前基于日历年来返回值。

其他信息

使用什么日期转换?

财年的标准定义使用财年最后一个月的日历年数。从 2022 年 2 月 1 日到 2023 年 1 月 31 日的财年将被称为 2023 财年。对于此标准,日期应转换为下一个日历年的相应相对日期。

例如,日期 #2/1/2022# 应该转换为 #1/1/2023#。这将允许 DATETRUNC('month', DATEADD('month', 11, [Original Date Field] ) ) 返回正确的月份数 (1) 和正确的年份数 (2023)。
 
财年开始月份要添加的月数
二月11
三月10
四月9
五月8
六月7
七月6
八月5
九月4
十月3
十一月2
十二月1


说明

  • DATETRUNC('<date part>', DATEADD('month', N, [Date Field] )) 在其他计算字段中可能很有用,但向最终用户公开时要小心,因为这可能会引起混淆。它返回正确的日期分组,但确切的日期将与日历日期不匹配。例如,DATETRUNC('quarter', DATEADD('month', 11, [Order Date] )) = #1/1/2023# 将正确返回 2022 年 2 月、2022 年 3 月和 2022 年 4 月,但最终用户可能会被 #1/1/2023# 弄糊涂。
  • 财政周需要不同的计算方法,因为只需将月份转换为下一年的相应月份,就会导致工作日按转换到的月份中的周进行分组。 
  • 该解决方案使用标准日历日期分组,并为其提供新的会计名称。一些财年系统使用不同的日期分组。有关其他解决方案,请参阅使用 ISO-8601 日期函数创建 4-4-5 日历将财年设置为月中日期 

为了表达您对在将来的产品版本中包括此增强功能的支持,请为以下社区理念投下您的一票:当设置不是始于 1 月份的财年时,使日期函数起作用



讨论本文章...反馈论坛
此文章是否已解决问题?