RSA弓箭手计算的日期



我是Archer的新手。

我正在尝试基于其他两个字段创建一个计算的日期字段。

  • 字段A(日期字段)
  • 字段B(值列表):每年(365天);半(182天);每月(30天)
  • 字段C(日期字段)

我想看到的是,如果字段A具有6/12/2017和Field B的值,则每年有值(365天),则字段C应该向我展示值6/12/2018

谢谢

这很容易:)

请在FIELD C中写下以下计算:

IF([FIELD B] =VALUEOF(FIELD B], "Annually"), DATEADD(DAY, 365,[FIELD A]),
IF([FIELD B] =VALUEOF(FIELD B], "Semi"), DATEADD(DAY, 182,[FIELD A]),
DATEADD(DAY, 30,[FIELD A])))

希望这会有所帮助!!

另一种方法是在布局场上捕获一天和年度。如下所示。这可能需要对如何将其合并回计算的日期字段进行一些调整。这种方法的好处是它处理了LEAP年,而且我们不担心每个月有多少天。只需在日期中添加这么多天,就会产生如此多的不良结果,并处理会导致一些真正的复杂解决方案。

注意:计算格式是从RSA的调试计算文档中获取的。

示例

helper Day

DAY([Field A])

助手月

IF(
    [Field B] = VALUEOF(FIELD B], "Semi")
,   MONTH([Field A])+6
,   IF(
       [Field B] = VALUEOF(FIELD B], "Monthly")
    ,  MONTH([Field A])+1
    ,  MONTH([Field A])
    )
)

助手年

IF(
   [Field B] = VALUEOF(FIELD B], "Annually")
,  YEAR([Field A])+1
,  IF(
      [Helper Month] > 12
   ,  YEAR([Field A] + ([Helper Month] - 12))
   ,  YEAR([Field A])
   )
)

字段C

IF(
   [Helper Month] > 12
   ,  DATEFORMAT(CONCATENATE([Helper Day],"/",[Helper Month] -12,"/",[Helper Year]))
   ,  DATEFORMAT(CONCATENATE([Helper Day],"/",[Helper Month] -12,"/",[Helper Year]))
)

最新更新