親子階層のファクトの格納について
ファクトは、親子階層のリーフ・メンバーのみ、またはリーフ以外のメンバーを含む親子階層の任意のレベルのメンバーに対してのみファクト表に格納できます。
親子階層のリーフ・メンバーのみのファクトの格納
このオプションは、親子階層のリーフ以外のメンバーのファクトをリーフ・メンバーのファクトから完全に導出できる場合に使用します。 たとえば、実際の製品メンバーが階層のリーフ・メンバーとしてのみ表示される親子製品階層がある場合、収益ファクト表では、この製品階層のリーフ・メンバーの収益ファクトのみを記録することが理にかなっています。 製品階層の非リーフ・メンバー(製品カテゴリなど)の収益の数字を完全に派生させるには、階層の最下位にあるリーフ製品メンバーのファクトを集計します。
この図は、親子階層のリーフ・メンバーのファクトのみが格納される場合のデータの例を示しています。
次の表では、ディメンション表PRODUCT_DIMのデータの例を示しています。
| MemberKey | 名前 | ParentKey |
|---|---|---|
|
P1 |
Product1 |
C1 |
|
P2 |
Product2 |
C1 |
|
C1 |
Category1 |
C2 |
|
C2 |
Category2 |
C3 |
|
C3 |
Category3 |
- |
次の表では、ファクト表REVENUE_FACTSのデータの例を示しています。
| ProductKey | YearKey | 収益 |
|---|---|---|
|
P1 |
2020 |
100,000 |
|
P1 |
2021 |
105,000 |
|
P2 |
2020 |
75,000 |
|
P2 |
2021 |
80,000 |
親子階層でリーフ以外のメンバーを含むすべてのレベルのメンバーのファクトを格納します
このオプションでは、ファクトは親子階層の任意のレベルのメンバーに対して格納されます。 これは、リーフ・メンバー以外のメンバーのファクトがリーフ・メンバーのファクトから完全に導出されない場合に必要です。 たとえば、営業担当が営業担当でもあるマネージャにレポートする営業担当階層があります。 マネージャも含めて、個人の営業員にそれぞれ異なる収益の数字を指定し、それをファクト表に格納できます。
次の表では、ディメンション表SALES_REP_DIMのデータの例を示しています。
| MemberKey | 名前 | ParentKey |
|---|---|---|
|
101 |
Phillip |
201 |
|
102 |
Vivian |
201 |
|
201 |
Jacob |
301 |
|
202 |
Audrey |
301 |
|
301 |
Ryan |
- |
次の表では、ファクト表REVENUE_FACTSのデータの例を示しています。
| SalesRepKey | YearKey | 収益 |
|---|---|---|
|
101 |
2021 |
1,200,000 |
|
102 |
2021 |
1,100,000 |
|
201 |
2021 |
250,000 |
|
202 |
2021 |
1,400,000 |
リーフ・メンバーと非リーフ・メンバーの両方のファクトの格納は、親子階層を集計するルールが複雑な場合や、問合せ時に階層を集計するコストが高く、問合せのレスポンス時間が許容できないほど長い場合にも適しています。 この場合、ファクト表には、リーフ・メンバーに対して格納されたファクトに加えて、非リーフ・メンバーに対して事前集計されたファクトも格納されます。