跳至主要内容
Adaptive Planning
上次更新时间 :2023-06-23
概念:Day(this) 公式和自定义日历

概念:Day(this) 公式和自定义日历

在 2017.2 发行版中引入了弹性时间建模后,
day(this)
根据您的实例使用的是旧版日历还是自定义日历,对公式中的值进行不同的解释。旧版日历是指在 2017.2 发行版之前创建且未在“时间管理”区域中变更的日历。请参见 步骤:更改日历
如要确定您的日历是否为旧版日历,最简单的方法是查看“时间管理”的工具栏。只有旧版日历具有往过去延长按钮和往将来延长按钮。
旧版日历的“时间管理”工具栏
自定义日历的“时间管理”工具栏
旧版日历的“时间管理”工具栏
自定义日历的“时间管理”工具栏
旧版日历将解释为
day(this)
函数用作数字 15。
如果您通过延长、更改标签或增删时间层级等操作对旧版日历进行变更,则旧版日历将变为自定义日历。默认情况下,在 2017.2 发行版之后创建的任何实例,不管是否有“月”时间层级,都将自动作为自定义日历运行。旧版日历始终返回数字 15,
day(this),
解释自定义日历
day(this)
日期整数(包含时段的第一个日期的日整数)。
旧版日历中的 day(this)
自定义日历中的 day(this)
daythisOldCal.png
daythisNewCal.png
2016 年 1 月的返回值 = 15
2016 年 1 月的返回值 = 1
例如,在按周配置的自定义日历中,如果一年的第一周从 1 月 1 日开始,则使用
day(this)
第 2 周返回数字 8。1 月 8 日是第 2 周的开始日。
day-this-calendar-week2.png

方式
(this)
在某个范围内的比较中被解释
IF
对账单

对于旧版日历,字词 (
this
) 在公式中可以表示任何月份的 15 日(如果该月份在计算公式中用作比较)。
IF
语句。
在自定义日历中
(this)
表示时段的开始日期。
例如,公式
IF(this>toDate(2016,1,1),1,0)
将在开始于 2016 年 1 月的旧版日历中返回 1。在自定义日历中,该公式会从 2016 年 2 月开始返回 1。
在 2016 年 1 月的旧版日历中,
this)
表示 1-15-2016,在自定义日历 (
this)
指“2016 年 1 月 1 日”。
IF(this>toDate(2016,1,1),1,0)
2016 年 1 月
2016 年 2 月
旧版
结果 = 1
结果 = 1
自定义
结果 = 0
结果 = 0

编辑方式
day
(this)
将旧版日历中的公式用于新版日历

如果您在 2017.2 发行版之后创建的自定义日历或实例中使用公式,需要执行两个步骤来确保这些公式生成预期的结果。
  1. 在所有公式中,将以下项的所有实例替换为
    day(this)
    在旧版日历中显示数字“15”。
  2. IF
    旧版日历中的“语句”将替换以下字词
    (this)
    toDate(this.year,this.month,15).