我是阿切尔的新手。
我正在尝试根据其他2个字段创建计算日期字段。
我想看到的是,如果字段A的值为6/12/2017而字段B的值为每年(365天),则字段C应显示值6/12/2018
谢谢
答案 0 :(得分:1)
这很容易:)
请在FIELD C
中写下以下计算:(使用DATEADD内置函数)
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 :(得分:0)
另一种方法是在非布局字段中捕获“日月”和“年”。示例如下所示。这可能需要对如何将其重新组合到“计算的日期”字段中进行一些调整。这种方法的好处是可以处理leap年,并且我们不必担心每个月有多少天。简单地在日期中添加很多天,将导致很多不必要的结果,处理这些结果将导致某些真正复杂的解决方案。
注意:计算格式取自RSA关于调试计算的文档。
示例
帮手日
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]))
)