知识库

对财政年度使用日期函数


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

问题

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

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

环境

Tableau Desktop

解决方案

使用 DATEADD('month',...) 将实际日期转换为相应的相对日期。例如,如果 2 月是财年的第一个月,那么 2 月应该转换为下个 1 月份。请参阅下面的附加信息部分,了解更多解释。
 
单击以展开步骤
示例 1:查找财政年度、季度或月份编号
  1. 选择“分析”>“创建计算字段”
  2. 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”
    1. 命名此计算字段。在此示例中,计算字段名为“Fiscal Year Number”(会计年度编号)
    2. 在公式字段中,创建一个类似于如下的计算:
      DATEPART('year' DATEADD('month', 11, [Order Date]) )
    3. 注意:根据需要,将上述计算中的“年”替换为“季度”或“月”。将 11 替换为正确的偏移量,请参阅附加信息了解更多解释。
  3. 在需要会计年度编号的任何计算中使用“[Fiscal Year Number]”(会计年度编号)。
  4. (可选)将新创建的计算字段转换为“维度”,以将其与视图中的其他日期字段结合使用。 
要查看以下视频中显示的步骤,请展开上述部分。注意:视频没有声音。
 
单击以展开步骤
示例 2:查找会计周编号
  1. 选择“分析”>“创建计算字段”
  2. 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”
    1. 命名此计算字段。在此示例中,计算字段名为“First fiscal day”(第一个会计日)
    2. 在公式字段中,创建一个类似于如下的计算:
      DATE( "2/1/" + STR( YEAR( DATEADD( 'month', 11, [Order Date] ))))
    3. 注意:将 11 替换为正确的偏移量,用正确的财年第一天替换“2/1/”。请参阅附加信息了解更多解释。
  3. 使用类似于如下的计算创建一个名称类似于“Fiscal Week Number”(会计周编号)的计算字段:
    DATEDIFF('week',[First fiscal day],[Order Date]) +1
    
  4. 在需要会计周编号的任何计算中使用“[Fiscal Week Number]”(会计周编号)。
  5. (可选)将新创建的计算字段转换为“维度”,以将其与视图中的其他日期字段结合使用。 
要查看以下视频中显示的步骤,请展开上述部分。注意:视频没有声音。
 

原因

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

其他信息

使用什么日期转换?

财年的标准定义使用财年最后一个月的日历年数。从 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 月份的财年时,使日期函数起作用



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