自定义功能 - 计算下一季度的第一个日期

时间:2015-08-31 00:54:52

标签: date filemaker

我正在尝试创建一个在Filemaker中给定日期的自定义函数,我希望它确定本周的会计年度数是否在季度的第一周内,它将计算下一季度的第一个日期。我们的财政年度从7月1日开始

因此,对于定义的要求,我们的FY从7月1日开始,Qtrs在第1周,第14周,第27周,第40周,我们的周从1-52开始,周从星期二开始(定义为第3天)。如果周一开始的时间比第一周开始的话将是周一(因此是一个短周),那么第2周将是整整7天的一周。

实施例--->如果我的日期是09/09/2011,那将是第一季度的第11周,因此,因为它不是本季度的第一周,我希望下一个Qtr的下一个日期是Wk 14第一个9/27日期/ 2011。因此,我的评估需要确定给定日期是否在qtr的第一周(第1周,第14周,第27周,第40周)或提供下一个qtr的第一周。

此处还有我与Brian Dunnings网站合作的最初CF.

https://www.briandunning.com/cf/147

我知道这会在filemaker中开发,但也许用其他语言开发可能适用的东西......

提前致谢

1 个答案:

答案 0 :(得分:1)

以此为出发点:

Let ( [ 
startFY = Date ( 7 ; 1 ; Year ( Datefield ) - ( Month ( Datefield ) < 7 ) ) ;
firstTuesday = startFY - Mod ( startFY - 2 ; 7 ) ; 
fiscalWeek = Div ( Datefield - firstTuesday ; 7 ) ;  //numbering starts at 0
targetWeek = 13 * Ceiling ( fiscalWeek / 13 ) 
] ;
firstTuesday  + 7 * targetWeek 
)

请注意,结果是始终星期二;您可能希望针对会计年度开始和结束的边界情况进行调整。现在的工作方式,2015年6月15日到2015年7月6日,您将获得2015年7月30日的结果。