動的時系列メンバーを使用した期間累計値の計算
Essbaseでは、期間累計値を計算できます。これを行うには、アウトラインで動的時系列メンバーを定義します。たとえば、四半期累計値を算出するには、Q-T-Dメンバーを使用可能にし、それを特定の世代に関連付けます。
動的時系列のユースケース例は、当月までの当四半期の売上値を計算する必要があるときです。当月が5月の場合、標準カレンダの四半期を使用すると、四半期合計は4月と5月の値の合計になります。
Essbaseでは、次の方法で期間累計値を計算できます。
-
バッチ計算時に、@PTD関数を使用して算出する方法
-
ユーザーが値を要求したときに、動的時系列メンバーを使用して動的に算出する方法
-
MDX問合せの一部として、DTS関数を使用して算出する方法
この項では、動的時系列メンバーを使用して、期間累計値を動的に計算する方法を説明します。動的時系列メンバーの使用は、ほとんどの場合において最も効率的な方法です。詳しい例は、「勘定科目ディメンションの期間累計値の計算」を参照してください。
動的時系列メンバーの使用
期間累計値を動的に計算するには、時間ディメンションで期間の動的時系列メンバーを有効にします。Essbaseアウトラインに動的時系列メンバーを作成しません。かわりに、アウトライン・プロパティで事前定義済の動的時系列メンバーを有効にし、それを世代に関連付けます。
たとえば、四半期累計値を計算するには、Q-T-Dメンバーを有効にして、四半期を表す世代に関連付けます。
動的時系列メンバーは、アウトラインのメンバーとして表示されませんが、Smart Viewのメンバー選択ツールからアクセスして問合せに追加できます。
Sample Basicでは、H-T-D (累計)とQ-T-D (四半期累計)が有効になっています。H-T-Dは年(世代1)に関連付けられ、Q-T-Dは四半期(世代2)に関連付けられています。Q-T-Dメンバーは、選択した四半期(指定した月まで)に制限されたレベル0の月次値を計算します。H-T-Dメンバーは、指定した月までの年全体のレベル0の月次値を計算します。
Essbaseには、次の事前定義済の動的時系列メンバーが8個用意されています。
-
H-T-D (累計)
-
Y-T-D (年次累計)
-
S-T-D (季節累計)
-
P-T-D (期間累計)
-
Q-T-D (四半期累計)
-
M-T-D (月次累計)
-
W-T-D (週次累計)
-
D-T-D (日次累計)
これらのメンバーは、最大8レベルの期間累計レポートを提供します。使用するメンバーの数と種類は、データおよびアウトラインによって異なります。
たとえば、キューブに1時間、1日、1週間、1か月、四半期および1年ごとのデータが含まれる場合、日次累計(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メンバーに関連付けることはできません。
ノート:
動的計算用に設定されたメンバーを動的時系列計算で使用する場合、これらのメンバーにタイム・バランス・プロパティ(期首、期末、平均、#Missingのスキップ)を割り当てないことをお薦めします。割り当てると、勘定科目ディメンションの親メンバーについて正しくない値が取得される可能性があります。
動的時系列メンバーの有効化と無効化
事前定義済の動的時系列メンバーを使用するには、Essbaseアウトライン・プロパティでそのメンバーを有効にして、適切な世代番号に関連付ける必要があります。
Essbase Webインタフェースを使用して動的時系列を有効にするには、編集するアウトラインを開き、アウトラインのプロパティを開きます。「動的時系列」タブで、1つ以上の事前定義済メンバーを有効にし、それを正しい世代に関連付けます。世代番号ごとに1つの事前定義済メンバーのみをマップできます。

ノート:
表示される世代数は、時間ディメンションの世代数によって異なります。動的時系列メンバーを最上位の世代(レベル0メンバー)と関連付けることはできません。
アプリケーション・ワークブック/キューブ・デザイナを使用してキューブを構築する場合は、Cube.Settingsワークシートの1つ以上の動的時系列メンバーの横に世代番号を入力するか、世代番号を削除して無効にします。Cube.Settingsワークシートの理解: 動的時系列を参照してください。

REST APIを使用してアウトラインを変更する場合は、更新アクションの実行時にenableDtsMbrアウトライン・プロパティを使用して動的時系列メンバーを有効にするか、disableDtsMbrプロパティを使用して無効にしてください。バッチ・アウトライン編集の実行のドキュメントを参照してください。
必要に応じて、動的時系列メンバーの別名を指定できます。「動的時系列メンバーの別名の指定」を参照してください。
動的時系列メンバーの別名の指定
定義済の動的時系列メンバーに別名を指定できます。たとえば、動的時系列メンバーQ-T-Dの別名としてQtrToDateを指定できます。別名を使用して、Smart Viewまたはレポートで動的時系列メンバーを取得できます。
Essbase Webインタフェースを使用して動的時系列メンバーの別名を追加するには、編集するアウトラインを開き、アウトラインのプロパティを開きます。「動的時系列」タブで、デフォルト表、またはキューブに現在定義されている他の別名表に別名を指定します。

動的時系列メンバーごとに最大8個の別名を作成できます。Essbaseは、指定した動的時系列の別名表に各別名を保存します。
次のSmart View問合せでは、ワークシートが(Smart Viewオプションを使用して)メンバー名の横に別名を表示するように設定されます。

別名の指定および表示の詳細は、「別名の設定」を参照してください。
動的時系列メンバーの事前定義済世代名
動的時系列メンバーを有効にして世代番号に関連付けると、Essbaseによってその世代番号の定義済の世代名が作成されます。
動的時系列メンバーとそれに対応する世代名は、次のとおりです:
- D-T-D: Day
- H-T-D: History
- M-T-D: Month
- P-T-D: Period
- Q-T-D: Quarter
- S-T-D: Season
- Y-T-D: Week
これらのメンバーと世代名は、Essbaseで使用するために予約されています。
たとえば、Sample Basicで、Quarterという名前の世代の動的時系列を有効にできます。Quarterには、Qtr1、Qtr2などのメンバーに四半期ごとのデータが含まれます。世代Quarterの動的時系列を有効にすると、EssbaseでQ-T-Dという動的時系列メンバーが作成されます。
期間累計値の取得
動的時系列メンバーを取得するときには、期間累計値を計算する期間をEssbaseで指定する必要があります。この期間は、最新期間と呼ばれ、時間ディメンションのレベル0メンバーである必要があります。
問合せで最新の期間を指定するための次の例は、Sample Basicに基づいています。
Smart View
-
Smart Viewでキューブに接続します。
-
Essbaseリボンから、「メンバー選択」ツールを開きます。
-
「動的時系列」ビューに切り替えます。
-
いずれかの動的時系列メンバー(Q-T-Dなど)を選択し、「追加」をクリックします。
-
レポートする最新の期間を選択し、「OK」を2回クリックします。
-
ワークシートをリフレッシュして値を表示します。
次の例では、Q-T-D(May)に、AprとMayの値の加算(32917 + 33674 = 66591)によって得られる5月の期間累計値が表示されています。
図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を使用するには、ソース・パーティションとターゲット・パーティションの時間ディメンションが同一である必要があります。