使用动态时间序列成员计算期初至今值
在 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 界面启用动态时间系列,请打开大纲进行编辑,然后打开大纲属性。在“动态时间序列”选项卡中,启用一个或多个预定义成员并将其与正确生成关联。每个层代编号只能映射一个预定义成员。

注意:
所显示的层代数量取决于时间维中层代的数量。您不能将“动态时间系列”成员与最高级别代(0 级成员)相关联。
如果要使用应用程序工作簿/ 多维数据集设计器构建多维数据集,请在 Cube.Settings 工作表上的一个或多个动态时间序列成员旁边输入生成编号,或删除生成编号以禁用它。请参阅了解 Cube.Settings 工作表:动态时间系列。

如果使用 REST API 更改大纲,请在执行更新操作时使用 enableDtsMbr 大纲属性启用动态时间系列成员,或使用 disableDtsMbr 属性禁用大纲。请参阅运行批大纲编辑的文档。
如果需要,可以为“动态时间序列”成员指定别名。请参阅指定动态时间序列成员的别名。
为动态时间序列成员指定别名
可以为 Q-T-D 动态时间系列成员的预定义动态时间系列成员(如 QtrToDate)指定别名。然后,您可以使用别名检索 Smart View 或报表中的动态时间序列成员。
要使用 Essbase Web 界面为动态时间系列成员添加别名,请打开大纲进行编辑,然后打开大纲属性。在“Dynamic Time Series(动态时间序列)”选项卡中,在“Default(默认)”表中或多维数据集当前定义的任何其他别名表中提供别名。

您最多可以为每个动态时间系列成员创建八个别名。Essbase 将每个别名保存在您指定的动态时间系列别名表中。
动态时间系列成员的预定义生成名称
启用动态时间系列成员并将其与层代编号关联时, 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
-
连接到 Smart View 中的多维数据集。
-
从 Essbase 功能区中,打开 Member Selection(成员选择)工具。
-
切换到动态时间序列视图。

-
选择一个“动态时间序列成员”(例如 Q-T-D)并单击“添加”。
-
选择要报告的最近期间,然后单击“确定”两次。

-
刷新工作表以查看该值。
在下面的示例中,Q-T-D(May) 显示通过将 4 月和 5 月的值相加而获得的 5 月的期初至今值 (32917 + 33674 = 66591)。
图 22-2 显示 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 ,源分区和目标分区上的时间维必须相同。
