组合、分组和重命名

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-052016-01-06...2017-01-01 的日期字符串。我将它们用作列。

我想查找年份 (16),然后查找月份 (01),然后在下一列中再次查找年份 (16) 和月份 (2)。然后我想将月份解释为缩短的月份名称,例如 Jan 或 Feb。最后我想将数据重新组合在一起。所以最后它会像这样工作:

如何在不为每年的每个月手动输入 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}))