使用 Planning 中存储的日期执行计算

Planning 允许用户在表单中输入日期值。例如,如果使用的格式为 MM/DD/YYYY,可以将开始日期输入为 11/01/2021。尽管值以日期格式输入,仍可以根据输入的日期计算值。

Oracle Essbase 会将 Planning 日期值存储为数值。例如,在 Essbase 中,开始日期 11/01/2021 存储为 20211101。如果 Planning 中的结束日期为 06/30/2022(Essbase 值为 20220630),您可以使用 @ROUND Essbase 函数计算这两个日期之间的月数,如以下示例中所示:

  1. 计算结束日期年份与开始日期年份之间的月数。

    (@ROUND ("End Date",-4) - @ROUND ("Start Date",-4))/10000*12

    计算 (20220000 - 20210000/100000*12) 所得结果为 12。
  2. 计算结束日期年份的开始日期与结束日期之间的月数。

    (@ROUND ("End Date",-2) - @ROUND ("End Date",-4))/100

    计算 (20220600 - 20220000/100) 所得结果为 6。
  3. 计算开始日期年份的开始日期与开始日期之间的月数。

    (@ROUND ("Start Date",-2) - @ROUND ("Start Date",-4))/100

    计算 (20211100 - 20210000/100) 所得结果为 11。
  4. 要确定开始日期与结束日期之间的月数,则从步骤 1 的结果 (12) 和步骤 2 的结果 (6) 之和中减去步骤 3 的结果 (11)。

    开始日期与结束日期之间的月数 = (12+6)-11=7

    您可以使用 @INT@TRUNCATE Essbase 函数编写类似公式。