ASO勘定科目ディメンションのタイム・バランスおよびフロー・メトリック

Essbase集約ストレージ(ASO)キューブのタイム・バランス・プロパティは、時間ディメンションに沿って組込みの計算を提供します。フロー・タグは、時間関連の勘定科目の計算を最適化するのに役立ちます。フロー・メトリックは、定期的および年次累計の値を保管する符号なし勘定科目ディメンション・メンバーです、

ASO勘定科目ディメンションでのタイム・バランス・タグの使用

集約ストレージ・アカウント・ディメンションにタイム・バランス・プロパティを設定することで、時間ディメンションに沿った組込みの計算を実行できます。これにより、メンバー式を使用してタイム・バランス機能を実現するときの時間とパフォーマンスのオーバーヘッドが削減される。

保管済または式を含む勘定科目ディメンション・メンバーでは次のタイムバランス・プロパティがサポートされています:

  • タイム・バランス初回、タイム・バランス最終、タイム・バランス平均

  • なしのスキップ、欠落のスキップ

人事管理アプリケーションの「Headcount」などの保管済メジャーについて考えてください。Year-Quarter-Months階層では、「Headcount」のデータは月レベルでロードされます。

目的の年ごとまたは四半期のHeadcount値は、その月の合計ではありません。そうではなく、期間内に記録された最後の値である必要があります。

SKIPMISSINGで「Headcount」に「Time Balance Last」のタグは、「Year 2005」の場合、その値がその月の従業員数の空でない最後の値であることを意味します。Decに欠落していない「Headcount」値がある場合は、その値が戻されます。そうでない場合は、「Nov」の値がチェックされ、不足していない場合はこの値を戻します。

式を持つメンバーにタイム・バランス・タグがある場合、この式はレベル0の時間メンバーに対してのみ実行され、時間ディメンションはタイム・バランス・タグに従って集約されます。

タイム・バランス・タグによって、時間ディメンションに沿った組込みの計算が実行されます。期間累計およびローリング平均などの式を使用するその他の時間ベースの計算を実行するには、TimeViewというディメンションを作成し、そのディメンションにすべての時間ベースの式を記述します。これを実行することで、他の時間ベースの計算を実行不可になることなく、タイム・バランス計算の機能を使用できます。


この図は、「Headcount」に「TB Last」と「Skip Missing」のタイム・バランス・プロパティがタグ付けされているアウトラインを示します。

ASO勘定科目ディメンションでのフロー・タグの使用

フロー・メトリックを使用して、集約ストレージ・キューブの時間ベース勘定科目の計算を最適化できます。フロー・メトリックは、アウトラインで定期的および年次累計の値を保管する符号なし勘定科目ディメンション・メンバーである。

次の例では、フロー・メトリックで解決される問題について説明します。12か月すべてに売上と追加のデータがあるものとします。各月の初めの在庫を読み込むために集約を実行する必要があります。

表37-6在庫計算

- 販売 追加 インベントリ
1月 5 1 50
2月 6 3 46
3月 4 2 43
Apr 7 0 41
... ... ... ...

Beginning Inventoryメンバーに対するMDX式を使用し、その値を計算します。フロー・メトリックを使用せずに各月の期首在庫を取得するには、計算機エンジンでMDX式を指数関数的に繰り返す必要があります。

Inventory = SUM(MemberRange(Jan:Time.CurrentMember), (Additions - Sales)) + Beg_Inventory

図で示した例を最適化するには、Essbase Webインタフェースでアウトライン・エディタを使用して、Inventoryメンバーに式(Addition - Sales)を割り当ててから、メンバーにフロー・タグを付けます。


集約ストレージ・キューブのアウトライン・エディタのフロー・メトリック・オプション。

メンバーにフロー・タグを付ける前に、メンバーが次を満たすことを確認してください。

  • 勘定科目ディメンションのメンバーです

  • 数式を持っています

  • タイム・バランス・タグがあります

タイム・バランスおよびフロー・メトリックの代替階層の制限

代替階層が集約ストレージの時間ディメンションで使用される場合は、勘定科目ディメンションにフロー・タグとタイム・バランス・タグを使用するとくに、次の制限が適用されます。

  1. 代替時間階層間での共有レベルは、レベル0である必要があります。

  2. 代替時間階層間の共有レベルでのメンバーの順序は、すべての代替階層内で同じである必要があります。

  3. 保管済メンバーの共有数は、前の兄弟の数を超えないようにしてください。前の兄弟とは、同じ世代にある、アウトラインで以前保管されたメンバーを意味します。

    たとえば、次のYearディメンションについて考えてみます。4月(3)の共有の数が3月の共有数(1)よりも大きいため、代替階層は無効です。


    共有メンバーを含む代替階層を持つYearディメンションを示すアウトライン。

タイムバランス・タグが付けられたメジャーの集計

MDXの集計関数を使用して、タイム・バランス・タグでタグ付けされたメジャーを集計します。

ASOキューブのタイム・バランス・メジャーにおける属性計算の影響

次のような場合、次の計算ロジックが適用されます

  1. 集約ストレージ・アウトラインには、1つ以上の属性またはリンク属性ディメンションを持つ時間ディメンションまたは日付/時間ディメンションが含まれています。

  2. タイム・バランス・タグが付いたメジャーで問合せを実行する。

前述のケースが両方とも当てはわる場合は、セルを評価するためにMDXのAggregate()セマンティクスが使用されます。

たとえば、次のようなシナリオを考えてみます。

  • 「Year」は日レベルの階層を持つ日時ディメンションです。

  • 「Holiday」はYEARの属性ディメンションであり、それぞれの日付にHoliday_TRUEまたはHoliday_FALSEのタグを付けられている。

  • 「Opening Inventory」にTime Balance Firstのタグが付けられている。

(Year、 Holiday_TRUE、 [Opening Inventory])の値は、次のMDXロジックに従って評価されます。

Aggregate( {Set of dates that are holidays in Year}, [Opening Inventory])