使用動態時間序列成員計算期間累計值

Essbase 中,您可以計算迄今週期值。若要這麼做,請在大綱中定義「動態時間序列」成員。例如,若要計算季累計值,您可以啟用 Q-T-D 成員並將其與特定層代建立關聯。

動態時間序列的範例使用案例是要計算目前季度到目前月份的銷售值。如果本月是 5 月,使用標準行事曆季別,則季總計是 4 月和 5 月值的總計。

Essbase 中,您可以透過下列方式計算迄今期間值:

  • 在批次計算期間,使用 @PTD 函數

  • 動態地,當使用者使用「動態時間序列」成員要求值時

  • 作為 MDX 查詢的一部分,使用 DTS 函數

本節說明如何使用「動態時間序列」成員來動態計算迄今週期值。使用「動態時間序列」成員幾乎都是最有效率的方法。如需詳細範例,請參閱計算帳戶維度中的期間累計值

使用動態時間系列成員

若要動態計算迄今週期值,請啟用時間維度中某個期間的「動態時間序列」成員。您不會在 Essbase 大綱中建立「動態時間序列」成員。請改為在大綱特性中啟用預先定義的「動態時間序列」成員,並將其與層代建立關聯。

例如,若要計算季累計值,您可以啟用 Q-T-D 成員,並將其與代表季度的層代建立關聯。

「動態時間序列」成員不會顯示為大綱中的成員,但您可以從智慧型檢視中的成員選擇工具存取它們,以便將它們新增至您的查詢。

在 Sample Basic 中,啟用了 H-T-D (歷史記錄累計) 和 Q-T-D (季別累計)。H-T-D 與 Year (第 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) 資訊。

如果立方體包含過去五年的每月資料,您可以報告迄今年度 (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。然後,您可以使用別名來擷取智慧型檢視或報表中的「動態時間序列」成員。

若要使用 Essbase Web 介面新增「動態時間序列」成員的別名,請開啟大綱以進行編輯並開啟大綱特性。在「動態時間序列」頁籤中,在「預設」表格或目前在立方體中定義的任何其他別名表格中提供別名名稱。


區塊儲存大綱特性中的動態時間序列選項。在 Gen1 啟用 H-T-D,其別名為 HistToDate。已在別名為 QtrToDate 的 gen2 啟用 Q-T-D。

您最多可以為每個「動態時間序列」成員建立 8 個別名。Essbase 會將每個別名儲存在您指定的「動態時間序列」別名表格中。

在下方的智慧型檢視查詢中,工作表已設定 (使用智慧型檢視選項) 以在成員名稱旁顯示別名。


「智慧型檢視」查詢會顯示「動態時間序列」成員的 Q-T-D (五月) 和 QtrToDate (五月)。

如需有關指定與顯示別名名稱的資訊,請參閱設定別名

動態時間序列成員的預先定義產生名稱

當您啟用「動態時間序列」成員並將其與層代編號建立關聯時, Essbase 會為該層代編號建立預先定義的層代名稱。

「動態時間序列」成員及其對應的層代名稱如下:

  • D-T-D:天
  • H-T-D:歷史
  • M-T-D:月份
  • P-T-D:期間
  • Q-T-D:季別
  • S-T-D:季節
  • Y-T-D:週

這些成員與層代名稱已保留供 Essbase 使用。

例如,在「基本範例」中,您可以為名為 Quarter 的層代啟用「動態時間序列」。季別包含第 1 季、第 2 季等成員的每季資料。如果您針對「季別」產生啟用「動態時間序列」, Essbase 會建立一個名為 Q-T-D 的「動態時間序列」成員。

擷取期間累計值

當您擷取「動態時間序列」成員時,必須將要計算迄今週期值的期間告知 Essbase 。此期間 (稱為最新期間 ) 必須是時間維度的層級 0 成員。

下列用於在查詢中指定最新期間的範例是以 Sample Basic 為基礎。

智慧型檢視

  1. Smart View 中連線至立方結構。

  2. Essbase 功能區中,開啟成員選擇工具。

  3. 切換至動態時間序列檢視。


    「智慧型檢視成員選擇」對話方塊已啟用「動態時間序列」檢視,因此隱藏的成員 H-T-D 與 Q-T-D 可新增至工作表。

  4. 選取其中一個「動態時間序列成員」(例如,Q-T-D),然後按一下「新增」。

  5. 選取您要報告的最新期間,然後按一下「確定」兩次。


    「智慧型檢視成員選擇」對話方塊。選取「五月」作為工作表中 Q-T-D 報表使用的月份。

  6. 重新整理工作表以檢視值。

    在下面的範例中,Q-T-D (May) 會新增 Apr 和 May 的值來顯示 May 的期間累計值 (32917 + 33674 = 66591)。

    圖 22-2 顯示 5 月期間累計值的試算表


    試算表查詢的季別累計至今值截至 5 月。

報告撰寫程式

下列報表指令碼範例是以「基本範例」為基礎。

<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 ,來源分割區與目標分割區上的時間維度必須相同。