组合、分组和重命名
Combine, Group and Rename
这是我当前的公式:
if left ({Command.NextDueDate},7) = "2016-01" then "January'16"
else if left ({Command.NextDueDate},7) = "2016-02" then "February'16"
...
else if left ({Command.NextDueDate},7) = "2017-01" then "January'17"
我从我的数据库中获取格式为 2016-01-05
、2016-01-06
...2017-01-01
的日期字符串。我将它们用作列。
我想查找年份 (16),然后查找月份 (01),然后在下一列中再次查找年份 (16) 和月份 (2)。然后我想将月份解释为缩短的月份名称,例如 Jan 或 Feb。最后我想将数据重新组合在一起。所以最后它会像这样工作:
- 16 + 01 变为 Jan16
- 16 + 02 变为 Feb16
- 17 + 01 变为 Jan17
如何在不为每年的每个月手动输入 if-else 子句的情况下执行此操作?
无需硬编码 - 使用此公式获取月份和年份:
MonthName(Month(CDateTime({Command.NextDueDate}))) +
Right(Left({Command.NextDueDate},4),2);
当您可以通过巧妙地使用公式获得信息时,不要使用 if/else 语句。有几种方法可以让 Ankur 的公式变得更好:
要获得简短的月份名称,请使用:MonthName(Month(CDateTime({Command.NextDueDate})),True)
最后的 True 将名称缩短为 "Jan","Feb"、"Mar" 等等。
要获取年份,请使用 Year(CDateTime({Command.NextDueDate}))
结合这两个公式,所有为您完成:
MonthName(Month(CDateTime({Command.NextDueDate})),True) +
Year(CDateTime({Command.NextDueDate}))
这是我当前的公式:
if left ({Command.NextDueDate},7) = "2016-01" then "January'16"
else if left ({Command.NextDueDate},7) = "2016-02" then "February'16"
...
else if left ({Command.NextDueDate},7) = "2017-01" then "January'17"
我从我的数据库中获取格式为 2016-01-05
、2016-01-06
...2017-01-01
的日期字符串。我将它们用作列。
我想查找年份 (16),然后查找月份 (01),然后在下一列中再次查找年份 (16) 和月份 (2)。然后我想将月份解释为缩短的月份名称,例如 Jan 或 Feb。最后我想将数据重新组合在一起。所以最后它会像这样工作:
- 16 + 01 变为 Jan16
- 16 + 02 变为 Feb16
- 17 + 01 变为 Jan17
如何在不为每年的每个月手动输入 if-else 子句的情况下执行此操作?
无需硬编码 - 使用此公式获取月份和年份:
MonthName(Month(CDateTime({Command.NextDueDate}))) +
Right(Left({Command.NextDueDate},4),2);
当您可以通过巧妙地使用公式获得信息时,不要使用 if/else 语句。有几种方法可以让 Ankur 的公式变得更好:
要获得简短的月份名称,请使用:MonthName(Month(CDateTime({Command.NextDueDate})),True)
最后的 True 将名称缩短为 "Jan","Feb"、"Mar" 等等。
要获取年份,请使用 Year(CDateTime({Command.NextDueDate}))
结合这两个公式,所有为您完成:
MonthName(Month(CDateTime({Command.NextDueDate})),True) +
Year(CDateTime({Command.NextDueDate}))