首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSA Archer计算日期

RSA Archer计算日期
EN

Stack Overflow用户
提问于 2017-12-14 15:28:23
回答 2查看 886关注 0票数 0

我是阿彻的新手。

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

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

我想看到的是,如果字段A值为6/12/2017,字段B值为年值(365天),则字段C应显示值为6/12/2018

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-01-13 14:59:26

这很容易:)

请用FIELD C编写以下计算:(使用DATEADD内置函数)

代码语言:javascript
复制
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])))

希望这会有帮助!!

票数 1
EN

Stack Overflow用户

发布于 2019-07-11 00:28:28

另一种方法是在off布局字段中捕获日、月和年。示例如下所示。这可能需要对如何将其组合回计算的日期字段进行一些调整。这种方法的好处是它处理闰年,我们不关心每个月有多少天。简单地将这么多天添加到日期将导致许多不必要的结果和处理,这将导致一些真正的复杂的解决方案。

注:计算格式取自RSA关于调试计算的文档。

示例

帮佣日

代码语言:javascript
复制
DAY([Field A])

帮工月

代码语言:javascript
复制
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])
    )
)

帮工年

代码语言:javascript
复制
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

代码语言:javascript
复制
IF(
   [Helper Month] > 12
   ,  DATEFORMAT(CONCATENATE([Helper Day],"/",[Helper Month] -12,"/",[Helper Year]))
   ,  DATEFORMAT(CONCATENATE([Helper Day],"/",[Helper Month] -12,"/",[Helper Year]))
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47816881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档