使用动态时间序列成员计算期初至今值

Essbase 中,您可以计算期初至今值。为此,请在大纲中定义“动态时间序列”成员。例如,要计算季初至今的值,您可以启用 Q-T-D 成员,并将其与特定层代关联。

动态时间序列的示例用例是您想要计算本季度到本月的销售值时。如果当月是五月,则使用标准日历季度,季度合计为四月和五月的值合计。

Essbase 中,您可以通过以下方式计算期初至今值:

  • 在批处理计算期间,使用 @PTD 函数

  • 动态地,当用户请求值时,使用动态时间系列成员

  • 作为 MDX 查询的一部分,使用 DTS 函数

本节介绍如何使用“动态时间序列”成员动态计算期初至今值。使用动态时间序列成员几乎始终是最有效的方法。有关详细示例,请参阅计算帐户维中的期初至今值

使用动态时间序列成员

要动态计算期初至今值,请在时间维上为期间启用“动态时间序列”成员。不要在 Essbase 大纲中创建“动态时间序列”成员。相反,您可以在大纲属性中启用预定义的“动态时间序列”成员,并将其与层代关联。

例如,要计算季初至今的值,您可以启用 Q-T-D 成员,并将其与表示季度的层代关联。

动态时间系列成员在大纲中不会显示为成员,但您可以从 Smart View 中的成员选择工具访问它们以将其添加到查询中。

在示例基本模块中,启用了 H-T-D(历史至今)和 Q-T-D(季初至今)。H-T-D 与年份(第 1 代)关联,Q-T-D 与季度(第 2 代)关联。Q-T-D 成员计算限制为所选季度(最多指定月份)的 0 级每月值。H-T-D 成员计算全年的 0 级每月值,直到指定月份。

Essbase 提供了八个预定义的动态时间系列成员:

  • H-T-D(历史至今)

  • Y-T-D(年初至今)

  • S-T-D(季节初至今)

  • P-T-D(期初至今)

  • Q-T-D(季度初至今)

  • M-T-D(月初至今)

  • W-T-D(周初至今)

  • D-T-D(至此时)

这些成员提供了多达八个级别的期间累计报表。您使用的成员数量和成员数量取决于数据和大纲。

例如,如果多维数据集包含每小时、每天、每周、每月、每季度和每年的数据,您可以报告至月初至今 (D-T-D)、周初至今 (W-T-D)、月初至今 ( M-T-D)、季度初至今 ( Q-T-D),和年初至今 (Y-T-D)。

如果多维数据集包含最近 5 年来的每月数据,您可以报告年初至今 (Y-T-D) 和历史迄今为止 (H-T-D) 信息,以特定的年份为上限。

如果该多维数据集跟踪季节性期间的数据,您可以报告期初至今 (P-T-D) 或季节初至今 (S-T-D) 信息。

您可以将“动态时间序列”成员与时间维中的任何层代(最高层代编号除外)关联,而不考虑数据。例如,您可以使用 P-T-D 成员报告季初至今信息。您不能将动态时间系列成员与时间维的 0 级别成员相关联。

注意:

如果您计划在“动态时间系列”计算中使用剩余时间属性,则 Oracle 建议您不要为该成员分配剩余时间属性(如“第一”,“最后”,“平均”和“平均”)分配给这类成员。否则,将可能在您的帐户维中检索不正确的父代成员值。

启用和禁用动态时间序列成员

要使用预定义的“动态时间序列”成员,必须在 Essbase 大纲属性中启用该成员,并将其与相应的生成编号关联。

要使用 Essbase Web 界面启用动态时间系列,请打开大纲进行编辑,然后打开大纲属性。在“动态时间序列”选项卡中,启用一个或多个预定义成员并将其与正确生成关联。每个层代编号只能映射一个预定义成员。


块存储大纲属性中的“动态时间序列”选项。已启用 H-T-D 并将其与第 1 代关联。Q-T-D 已启用并与第 2 代关联。

注意:

所显示的层代数量取决于时间维中层代的数量。您不能将“动态时间系列”成员与最高级别代(0 级成员)相关联。

如果要使用应用程序工作簿/ 多维数据集设计器构建多维数据集,请在 Cube.Settings 工作表上的一个或多个动态时间序列成员旁边输入生成编号,或删除生成编号以禁用它。请参阅了解 Cube.Settings 工作表:动态时间系列


应用程序工作簿中的“动态时间序列”选项。已启用 H-T-D 并将其与第 1 代关联。Q-T-D 已启用并与第 2 代关联。

如果使用 REST API 更改大纲,请在执行更新操作时使用 enableDtsMbr 大纲属性启用动态时间系列成员,或使用 disableDtsMbr 属性禁用大纲。请参阅运行批大纲编辑的文档。

如果需要,可以为“动态时间序列”成员指定别名。请参阅指定动态时间序列成员的别名

为动态时间序列成员指定别名

可以为 Q-T-D 动态时间系列成员的预定义动态时间系列成员(如 QtrToDate)指定别名。然后,您可以使用别名检索 Smart View 或报表中的动态时间序列成员。

要使用 Essbase Web 界面为动态时间系列成员添加别名,请打开大纲进行编辑,然后打开大纲属性。在“Dynamic Time Series(动态时间序列)”选项卡中,在“Default(默认)”表中或多维数据集当前定义的任何其他别名表中提供别名。


块存储大纲属性中的“动态时间序列”选项。H-T-D 在 gen1 上启用,别名为 HistToDate。Q-T-D 在 Gen2 处启用,别名为 QtrToDate。

您最多可以为每个动态时间系列成员创建八个别名。Essbase 将每个别名保存在您指定的动态时间系列别名表中。

在下面的 Smart View 查询中,将设置工作表(使用 Smart View 选项)以显示成员名称旁边的别名。


Smart View 查询为动态时间序列成员显示 Q-T-D(五月)和 QtrToDate(五月)。

有关指定和显示别名的信息,请参见 Set Aliases

动态时间系列成员的预定义生成名称

启用动态时间系列成员并将其与层代编号关联时, Essbase 会为该层代编号创建预定义的层代名称。

动态时间序列成员及其对应的生成名称为:

  • D-T-D:日
  • H-T-D:历史记录
  • M-T-D:月
  • P-T-D:期间
  • Q-T-D:季度
  • S-T-D:季节
  • Y-T-D:周

这些成员和层代名称保留供 Essbase 使用。

例如,在 Sample Basic 中,可以为名为 Quarter 的层代启用动态时间序列。季度包含成员 Qtr1、Qtr2 等中的季度数据。如果为生成季度启用动态时间序列,则 Essbase 将创建名为 Q-T-D 的动态时间序列成员。

检索期初至今的值

检索动态时间系列成员时,必须告知 Essbase 要计算期初至今值的最早时间期。此时间段(称为最新时间段)必须是时间维上的 0 级别成员。

以下用于指定查询中最新时间段的示例基于 Sample Basic。

Smart View

  1. 连接到 Smart View 中的多维数据集。

  2. Essbase 功能区中,打开 Member Selection(成员选择)工具。

  3. 切换到动态时间序列视图。


    Smart View 成员选择对话框启用了“动态时间序列”视图,以便可以将隐藏成员 H-T-D 和 Q-T-D 添加到工作表。

  4. 选择一个“动态时间序列成员”(例如 Q-T-D)并单击“添加”。

  5. 选择要报告的最近期间,然后单击“确定”两次。


    Smart View 成员选择对话框。选择“五月”作为用于工作表中的 Q-T-D 报告的月份。

  6. 刷新工作表以查看该值。

    在下面的示例中,Q-T-D(May) 显示通过将 4 月和 5 月的值相加而获得的 5 月的期初至今值 (32917 + 33674 = 66591)。

    图 22-2 显示 5 月期初至今值的电子表格


    季初至今值为 5 月的电子表格查询。

报告编写器

以下报表脚本示例基于 Sample Basic。

<PAGE (Product, Market, Scenario)
<COLUMN (Measures)
Sales
<ROW (Year)
<ICHILDREN Qtr2
Q-T-D (May)
    !

上面的示例生成以下报表:

      Product Market Scenario Sales 

Apr                32,917 
May                33,674 
Jun                35,088 
  Qtr2            101,679 
  Q-T-D(May)       66,591 

优化透明分区中的动态时间序列成员

要针对包含动态时间系列成员的 Essbase 大纲优化跨透明分区的查询时间,请将应用程序配置设置 TARGETTIMESERIESOPT 设置为 TRUE。

要使用 TARGETTIMESERIESOPT ,源分区和目标分区上的时间维必须相同。