この章の情報は、集約ストレージ・データベースのみに適用され、ブロック・ストレージ・データベースとは関係がありません。集約ストレージとブロック・ストレージの比較。も参照してください。
ほとんどのデータ分析には、時間(履歴)という観点が含まれています。集約ストレージ・アプリケーションには、時間次元と日時次元による組込みの時間ベースの機能があります。
集約ストレージの時間次元は、ブロック・ストレージの時間次元と同じです。これらの次元では、タイム・バランス計算などのために、勘定科目に期首、期末、平均および累計の値としてタグを付けることができます。時間次元は簡単に変更できます。
集約ストレージの日時次元により、期首、期末および平均のタイム・バランスのサポートが可能になります。さらに、Administration Servicesには、特殊なカレンダに基づいたすばやい日時次元の設定に加え、時間関連のデータのクロス集計レポートを可能にするリンク属性次元の設定のための、強力な日時次元の作成ウィザードがあります。日時次元の構造は堅牢で、一度作成した後は簡単には変更できません。
この章の残りの部分では、日時次元と、その次元に関連付けることができるリンク属性次元について説明します。集約ストレージ・アウトラインのタイム・バランス計算の詳細は、集約ストレージの会計次元のタイム・バランスおよびフロー・メトリック計算の実行を参照してください。
日時次元には、いくつかの標準的な企業カレンダの1つの選択に基づいた日付階層が含まれます。次元プロパティとメンバー・プロパティには、図161に示すように、Essbaseサーバーで階層の管理に使用されるテキスト文字列が含まれます。
この階層の最上部の次元メンバーには、次のコメントが示されています:
/* TI-HIER,TP[3,1,4,5]!TI-MBR,TSPAN[1–1–2008,12–31–2009]! */.
感嘆符(!)で囲まれたTI-MBR,TSPAN[date1, date2]の情報では、次元がカバーする時間範囲(この例の場合は、2008年1月1日から2009年12月31日までの2年間)を定義します。時間スパンの前に配置されている配列TI-HIER,TP[3,1,4,5]は、階層を示しています。配列の最初の数字である3は、階層が3つの期間に含まれていることを示しています。配列の残りの数字は、次のような指定可能なレベルに基づいて、どの期間が含まれているかを示しています:
1- 年
2- 半期
3- 三半期
4- 四半期
5- 月
6- 期間
7- 週
8- 日
配列TI-HIER,TP[3,1,4,5]は、配列に年、四半期および月という3つの期間が含まれていることを示しています。
同じ時間スパンTI-MBR,TSPAN構文を使用して、各メンバーのコメント・フィールドで、カバーされる時間範囲を定義します。たとえば、メンバー「Quarter 1 of Gregorian Year 2008」は2008年1月1日から2008年3月31日までをカバーし、メンバー「Quarter 2 of Gregorian Year 2008」は、2008年4月1日から2008年6月30日までをカバーします。
複数の期間内での相対的な位置という点でのデータの分析が、有用な場合があります。たとえば、あるコストが各四半期の最後の週に増加することを知ることは、支出のバランスをとるために役立ちます。リンク属性により、四半期の最初の月や月の4週目などの相対期間に基づいてデータを分析できます。
リンク属性次元は、日時次元のみと関連付けることができます。リンク属性次元の定義は、日時次元の作成ウィザードの一部分です。ユーザーが作成するリンク属性次元は、日時次元のカレンダを定義するときに選択する時間レベルに基づきます。たとえば、図162に示すように、年、四半期および月の時間レベルを選択してリンク属性を作成する場合、このウィザードでは、「Quarter by Year」、「Month by Year」および「Month by Quarter」という3つのリンク属性次元(デフォルトの次元名)が作成されます。各属性次元には、連続する数値名を持つメンバーが含まれます。この数値名は、該当の属性と関連付けられているメンバーを分析する際に使用される相対位置を示します。
リンク属性により、次に示すような単純なクロス集計分析で、四半期の最初の月の売上高を、四半期の2番目と3番目の月の売上高と比較できます:
注: | リンク属性は、年の時間レベルのメンバーには割り当てられません。 |
リンク属性次元は、2つの時間コンポーネントを反映しています。これは、「Quarter by Year」などのデフォルト名を使用する場合に簡単に理解できます。たとえば、「Quarter by Year」次元のメンバーは、図162の「Quarter 1 of Gregorian Year 2008」などの四半期の時間レベルのメンバーと関連付けられます。最初の時間コンポーネントである「Quarter」は、属性が関連付けられる日時次元メンバーを示すため、関連付けレベルと呼ばれます。
この例の2つ目の時間コンポーネントである「Year」は、添付レベルと呼ばれます。添付レベルは、関連付けられた日時次元内のメンバー・レベルを示します。リンク属性次元の各メンバーには、関連レベルと添付レベルの間の関係を示す数字が含まれています。「Quarter by Year: 1」は最初の属性メンバー、「Quarter by Year: 2」は2番目のメンバー、というように続きます。
リンク属性「Quarter by Year: 1」と関連付けられている日時次元メンバーは、それぞれの年の最初の四半期です。属性「Month by Quarter: 1」と関連付けられているすべての日時次元メンバーは、それぞれの四半期の最初の月です。そのため、リンク属性により、1番目、2番目、3番目などの一般的な期間の関係に基づいた情報の分析が可能になります。
Administration Servicesの「日時次元の作成」ウィザードでは、カレンダ・テンプレートによる日時次元を含む時間分析構造の設計に、オプション選択を使用します。時間分析のニーズに合うように、カレンダ・タイプを選択し、それをビジネスの要件に合わせてカスタマイズして、その他のオプションを選択します。このウィザードでは、次のアウトライン・コンポーネントを作成します:
日時次元。
日時次元の理解を参照してください。
(オプション)リンク属性次元とメンバー関連付け。
リンク属性の理解を参照してください。
(オプション)日レベルのメンバーと関連付けられた属性次元。これらは、特定の日付または曜日に基づく標準のブールまたはテキスト属性です。これらの属性を使用して、日レベルの情報を含めたり除外したりできます。たとえば、このウィザードでは次のような状況を定義できます:
選択した曜日に「週末」などのブール属性次元を割り当てることで、結果としてすべての曜日[週末].[True]または[週末}.[False}属性を持たせる。
指定した特別の日や休日のための属性を割り当てる。
適切な平日に「月曜日」や「火曜日」などのテキスト属性を割り当てる。
Administration Servicesの日時次元の作成ウィザードでは、指定されたカレンダと時間範囲のすべてのメンバーを構築します。
日時次元の作成ウィザードを実行する前に、次の点を考慮してください:
データベースのモデルにする必要があるのはどの期間ですか?開始日と終了日を指定する必要があります。
ビジネスでの使用に適しているのは、どのタイプのカレンダですか?
日時カレンダの理解を参照してください。
データベースがそのアウトライン内で反映する必要がある期間の粒度は、どれですか?ビジネス分析は週レベルまでドリル・ダウンしますか、または、レポート作成が月単位かそれ以上のレベルのため、週を省略できますか?すべてのビジネス・メジャーを日レベルまで分析およびレポートしますか?半期または三半期の分析結果は必須ですか?
時間関係の中でのデータの分析は有益ですか?たとえば、四半期を含むビジネス・カレンダ内で、売上高が各四半期の期末に向かうほど増加するかどうかなどの各第4四半期のトレンドを表示する機能は、有用ですか?
日時次元の作成ウィザードは、多数のオプションがある強力なツールです。このウィザードで構築される次元について理解を深めるため、何度か試験的に実行することを検討してください。また、Oracle Essbase Administration Services Online Helpのこのウィザードの各ページのトピックも参照してください。
日時次元の作成ウィザードのカレンダ・テンプレートでは、日時タイプの次元内のメンバーの階層構造を決定します。すべてのカレンダに対して、日時次元名、カレンダ・タイプ、週の最初の曜日、および日時次元メンバーを構築する開始日と終了日を選択する必要があります。また、カレンダ・メンバー階層を決定する時間レベルも選択する必要があります。すべてのカレンダで年の時間レベルが必須です。その他の時間レベルの可用性は、選択したカレンダ・タイプとその他の時間レベルによって変わります。たとえば、半期と三半期の時間レベルは相互に排他的です。
時間レベルを選択すると、ウィザードによって、それぞれの年の中でその時間レベルの各インスタンスのメンバーが作成されます。たとえば、月の時間レベルを選択すると、各年の下の階層内に12個の月メンバーが作成されます。命名規則には各メンバーの命名パターンが示されていて、これにはその年の祖先の中での相対位置を示す数字が含まれます。たとえば、図162に示されているグレゴリオ暦カレンダでは、「Month 4 of Gregorian Year 2008」などの月番号を含むデフォルトの命名パターンの後に月メンバーが続きます。
注: | 時間次元の命名規則を選択するときには、重複メンバーが作成される可能性があります。これにより、アウトラインがメンバー名の重複を許可するよう設定されていないかぎり、日時次元の作成手順が失敗することがあります。アウトラインがメンバー名の重複を許可するよう設定されていない場合は、重複を避ける必要があります。 |
カレンダ・テンプレートと選択した時間レベルによっては、期間の開始日または終了日、週の数、または月や週がその親メンバーでどのようにグループ化されているかなどの、年、月または期間の特徴(セマンティク・ルール)の定義が必要な場合があります。これらの特徴は、メンバーの構築と命名のルールに影響を与えます。一部のカレンダでは、年、期間または月のセマンティク・ルールの可用性は、選択したその他の年、期間または月のオプションに依存します。Oracle Essbase Administration Services Online Helpで日時次元の作成ウィザード - カレンダ階層の選択パネルに関する項を参照してください。
日時次元の作成ウィザードには、次のようなカレンダ・タイプが含まれています:
会計カレンダの定義は、企業の財務報告の要件に基づいて、任意の日付で開始できます。「Weeks In」財務カレンダには、7日間が含まれます。12か月のレポート期間には、4週の月が2か月と5週の月が1か月が含まれ、3か月のパターンが四半期ごとに繰り返されます(4-4-5、4-5-4または5-4-4週)。その年に53週ある場合、1か月に追加の週がある場合があります。
週の定義によって、カレンダ年を週に分割する方法が決まります。週の定義を調整して、52週または53週の年にすることができます。時間レベルは、年、半期、三半期、四半期、月、週および日です。
National Retail Federationのリテール・カレンダは、年をまたがった前週比データを分析するようにモデル化されています。このカレンダには、5年から6年ごとにうるう年の週がある、4-5-4の四半期のパターンがあります。開始日は年ごとに異なりますが、常に2月上旬に期限が切れます。前年同期比を比較するときの標準的な方法は、53週の年の最初の週を除外して追加の週の標準化を行い、一方でそれらの年で同じ休日を維持することです。使用可能な時間レベルは、年、半期、四半期、月、週および日です。
製造カレンダでは、7日の週で構成される13期間の年を定義します。製造期間は、それぞれ3期間の3つの四半期と、4期間の1つの四半期に分割されます。53週の年を除き、すべての期間に4週が含まれます。53週の年の場合、1つの期間には5週が含まれます。
13期間を定義するときは、どの四半期に追加の期間があるかを指定します。その年に53週ある場合は、どの期間に追加の週があるかを指定する必要があります。その年が特定の日付で始まると指定する場合は、その年が52週か53週かを指定する必要があります。52週の場合は、週を最初に53週まで減らし、その後52週に減らすため、52週と53週の両方のオプションの指定が必要な場合があります。使用可能な時間レベルは、年、半期、四半期、期間、週および日です。
日時次元を変更する唯一の方法は、手動による変更です。その密な構造のため、日時次元の変更には危険が伴う可能性があります。大抵の場合、変更にメンバーの追加または削除が伴う場合は特に、次元を削除してから、日時次元の作成ウィザードを使用して、このウィザードによって構築された変更で次元を再作成することをお薦めします。
軽微な変更の場合でも、日時次元の理解で説明しているコメント構造に注意する必要があります。TI-HIERおよびTI-MBR,TSPANセクションは、コメント・フィールドの最初に指定する必要があります。次のように、コメントは最後の!マークの後に追加できます:
TI-MBR,TSPAN[1-1-2006,1-31-2006]! This is the First Month
注: | メンバーのコメント内のTI-HIERおよびTI-MBR,TSPANセクションを編集する場合は、階層全体を通して確実に正しいメンバーが存在するようにする必要があり、祖先または子孫の依存範囲を編集する必要があります。たとえば、指定された月の範囲を変更する場合は、四半期の範囲も変更する必要があります。 |
日時次元を削除する場合は、関連するすべての属性次元も削除してください。リンク属性が意味を持つのは、それらが完全である場合のみです。つまり、すべてのメンバーが存在し、正しい順序で関連付けられている場合です。ほんのわずかのメンバーからリンク属性の関連付けを解除しても、アウトラインは無効になります。
次の項で要約する確認ルールに注意してください。
この次元には、日時のタグが付けられています。
この次元は、単一階層の、保管される次元です。
この階層はバランスがとられています。レベル0のすべてのメンバーの世代は同じです。
メンバーはすべて、加算(+)集計でタグ付けされます。
各メンバーのメンバー・コメント・フィールドには、コメントの一番左に次の情報が含まれています(詳細は、日時次元の理解を参照)。
最上位の次元メンバーのメンバー・コメント・フィールドには、階層構造を記述する配列を含むTI-HIER, TP[ ]指定が含まれます。
上位次元メンバーを含む各メンバーのメンバー・コメント・フィールドには、メンバーの日付範囲(開始日から終了日まで)が含まれるTI-MBR, TSPAN[ ]指定が含まれます。
世代に従って、日付範囲は連続している必要があり、昇順で増加する必要があります。たとえば、月世代では、各月メンバーの日付範囲には、前の期間の終了日から論理的に続く開始日が含まれている必要があります。時間の空白はないようにする必要があり、親メンバーはその子の合計時間スパンと等しい必要があります。
リンク属性次元には、リンク属性のタグが付けられています。
リンク属性次元は、日時次元と関連付けられています。
各リンク属性次元には、親レベルと子属性メンバーという、2つのレベルのみがあります。
リンク属性のメンバー名は、1から始まる連続番号です。
属性次元が存在する場合は、日時次元の添付レベルと関連レベルのすべての組合せが存在する必要があります。たとえば、日時次元に年、半期および月の時間レベルが含まれている場合に、リンク属性次元を作成する場合は、「Month by Year」、「Month by Semester」および「Semester by Year」を作成する必要があります。
日時次元のレベル0のメンバーにデータをロードするときは、メンバー名のかわりに日付文字列を使用できます。日付階層が日の粒度レベルにスパンしていない場合でも、データ・ソースは個々の日付によって指定できます。ロード・プロセスでは、値が集約され、その値が適切なレベルで保管されます。
日付に基づいたデータのロードには、次のような利点があります:
日付は、データ・ファイルの日付フォーマットがサポートされていれば、日レベルのロード・ファイルからロードできます。
データ・ロードを「既存のセルに追加」するよう設定すると、日レベルのロード・ファイルから階層内の粒度の低いレベルに(たとえば、週または月レベル0のセルに)データをロードできます。
表201に、データ・ロード・ルール・ファイルの日付フィールドを定義するときに使用できる日付フォーマットの文字列をリストします:
表 201. 日付フォーマット文字列
日付フォーマット文字列 |
例 |
---|---|
mon dd yyyy |
Jan 15 2006 |
Mon dd yyyy |
January 15 2006 |
mm/dd/yy |
01/15/06 |
mm/dd/yyyy |
01/15/2006 |
yy.mm.dd |
06.01.06 |
dd/mm/yy |
15/01/06 |
dd.mm.yy |
15.01.06 |
dd-mm-yy |
15-01-06 |
dd Mon yy |
15 January 06 |
dd mon yy |
15 Jan 06 |
Mon dd yy |
January 15 06 |
mon dd yy |
Jan 15 06 |
mm-dd-yy |
01-15-06 |
yy/mm/dd |
06/01/15 |
yymmdd |
060115 |
dd Mon yyyy |
15 January 2006 |
dd mon yyyy |
15 Jan 2006 |
yyyy-mm-dd |
2006-01-15 |
yyyy/mm/dd |
2006/01/15 |
ロング名 |
Sunday, January 15, 2006 |
ショート名 |
1/8/06 (m/d/yy) |
注: | 内部フォーマット文字列に含まれない余分な空白を使用すると、エラーが戻されます。日付フォーマットに一致すると、その後の文字は無視されます。日付フォーマットがmm/dd/yyの場合に日付文字列を06/20/2006と誤って使用すると、末尾の06が無視され、日付は2020年6月20日と解釈されます。ロング名フォーマットは、指定された日付に対する曜日の一致については確認されません。 |
MDXとSmart Viewのインタフェースでは、データ内の期間の関係を分析するために、リンク属性を活用します。
Smart Viewでは、リンク属性を次のようないくつかの方法で使用できます:
フリーフォーム・グリッドでの操作。選択されたグリッド上の日時メンバーで「メンバー選択」を使用すると、次元タイプとして日時が表示され、その次元のメンバーがリストされます。「期間」フィルタと「範囲」フィルタを使用して、リンク属性を使用する情報を選択および表示できます。
クエリー・デザイナの使用。
クエリー・デザイナのツールバーの日時次元を選択すると、属性リストにリンク属性が組み込まれます。
POVツールバーを使用して、リンク属性を選択し、それをフリーフォーム・グループにドラッグして、クエリーを実行できます。
追加情報は、Oracle Hyperion Smart View for Office User's Guideを参照してください。
表202で、日付階層の分析用に用意されているMDX関数をリストします。これらの関数の詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。
表 202. 日付階層の分析用のMDX関数
関数 |
説明 |
---|---|
DateDiff |
入力された2つの日付間の差異が戻されます。 |
DatePart |
日付部分(Year/Quarter/Month/Day/DayOfYear/Weekday)が数値として戻されます。 |
DateRoll |
指定された日付に、特定の時間間隔の数が更新(加算または減算)されて、別の日付が戻されます。 |
DateToMember |
入力日付で指定された日付階層メンバーが戻されます。 |
FormatDate |
フォーマットされた日付文字列が戻されます。 |
GetFirstDate |
日付階層メンバーの開始日が戻されます。 |
GetLastDate |
日付階層メンバーの終了日が戻されます。 |
Today |
Essbaseコンピュータの現在の日付を表す数値が戻されます。 |
ToDateEx |
日付文字列が、計算で使用できる日付に変換されます。 |