パーティション内のメンバーのマッピング
パーティションを作成するには、Essbaseですべての共有データ・ソース・メンバーをデータ・ターゲット・メンバーにマップできる必要があります。 Oracleでは、特にパーティションがメンバー属性に基づいている場合、パーティションのメンテナンス要件を減らすために、データ・ソース・メンバー名とデータ・ターゲット・メンバー名を同じにすることをお薦めします。
データ・ソースとデータ・ターゲットに同じ数のメンバーが含まれ、同じメンバー名を使用する場合、Essbaseは自動的にメンバーをマップします。 パーティションの検証、保存およびテストのみが必要です。 Essbaseが自動的にマップできない場合は、手動でマップする必要があります。
次のいずれかの方法で、データ・ソース・メンバーをデータ・ターゲット・メンバーにマップします:
-
メンバー名を手動で入力または選択します。 (重複するメンバー名を入力する場合は、修飾メンバー名を入力して二重引用符で囲みます。たとえば、
“[State].[New York]”
のようになります -
外部データ・ファイルからメンバー・マッピングをインポートします。
-
領域固有のマッピングの作成。
この項の内容:
異なる名前を持つメンバーのマッピング
データ・ソース・アウトラインとデータ・ターゲット・アウトラインに異なるメンバーが含まれている場合、またはメンバーの名前がアウトラインごとに異なる場合、データ・ソース・メンバーをデータ・ターゲット・メンバーにマップする必要があります。 次の例では、最初の2つのメンバー名は同じですが、3つ目のメンバー名は異なります:
Source Target
Product Product
Cola Cola
Year Year
1998 1998
Market Market
East East_Region
データ・ソースのEastがデータ・ターゲットのEast_Regionに対応していることがわかっているため、EastをEast_Regionにマップします。 次に、データ・ターゲット内のEast_Regionへのすべての参照は、データ・ソース内のEastを指します。 たとえば、データ・ソースのCola, 1998, Eastのデータ値が15の場合、データ・ターゲットのCola, 1998, East_Regionのデータ値は15です。
追加ディメンションでのデータ・キューブのマッピング
データ・ソースとデータ・ターゲットのディメンション数は異なる場合があります。 次の例は、データ・ソース・アウトラインにデータ・ターゲット・アウトラインよりも多くのディメンションがある場合を示しています:
Source Target
Product Product
Cola Cola
Market Market
East East
Year
1999
1998
1997
Yearディメンションの1997メンバーをデータ・ターゲットのVoidにマップできます。 最初に、データ・ターゲットと共有するデータ・ソースの領域を定義します:
Source Target
@DESCENDANTS(Market), 1997 @DESCENDANTS(Market)
次に、データ・ソース・メンバーをデータ・ターゲットのVoidにマップします:
Source Target
1997 Void
"Void"が自動的に表示されます。手動で"Void"と入力すると、エラーが発生する可能性があります。
領域定義に追加のディメンションのメンバーを1つ以上含めないと、パーティションを検証しようとしたときにエラー・メッセージが表示されます。
ノート:
追加のディメンションからメンバーをマップすると、パーティションの結果には、マップされたメンバーのデータのみが反映されます。 前述の例では、Yearディメンションに3つのメンバーが含まれています: 1999、1998および1997。 メンバー1997をデータ・ソースからデータ・ターゲットにマップすると、パーティション結果には1997年の製品および市場データのみが反映されます。 1998年および1999年の製品および市場データは抽出されません。
次の例は、データ・ターゲットにデータ・ソースより多くのディメンションが含まれる場合を示しています:
Source Target
Product Product
Cola Cola
Market
East
Year Year
1997 1997
このような場合は、まずデータ・ソースの共有領域とデータ・ターゲットを定義します:
Source Target
@IDESCENDANTS(Product) @IDESCENDANTS(Product), East
次に、データ・ターゲットのMarketディメンションからデータ・ソースのVoidにメンバーEastをマップできます:
Source Target
Void East
データ・ターゲットのMarketディメンションのメンバーEastがターゲット領域定義に含まれていない場合、パーティションを検証しようとするとエラー・メッセージが表示されます。
共有メンバーのマッピング
共有メンバーを使用してレプリケートまたは透過パーティションを作成する場合は、マッピングで参照されるメンバー名を使用します。 Essbaseは、参照されるメンバーをデータ・ソースからマップします。
メンバーに関連付けられたマッピング属性
パーティションが有効であることを確認するには、属性ディメンションおよびメンバーをデータ・ソースからデータ・ターゲットに正確にマップする必要があります。
透過パーティションの属性をマップできます。 「パーティションの属性」を参照してください。
次の例では、データ・ソースのアウトラインにメンバー100 (Cola)を持つProductディメンションが含まれています。 子100-10および100-20はCaffeinated属性ディメンションのメンバーTRUEに関連付けられ、子100-30はCaffeinated属性ディメンションのメンバーFALSEに関連付けられています。
データ・ターゲット・アウトラインには、メンバー200 (Cola)を持つProductディメンションがあります。 子200-10および200-20はWith_Caffeine属性ディメンションのメンバーはいに関連付けられ、子200-30はWith_Caffeine属性ディメンションのいいえに関連付けられます。
まず、データ・ソースからデータ・ターゲットに共有する領域を定義します:
Source Target
@DESCENDANTS(100) @DESCENDANTS(200)
@DESCENDANTS(East) @DESCENDANTS(East)
次に、属性をマップします:
Source Target
100–10 200–10
100–20 200–20
100–30 200–30
Caffeinated With Caffeine
Caffeinated_True With_Caffeine_True
Caffeinated_False With_Caffeine_False
属性Caffeinated_Trueを属性With_Caffeine_Noにマップすると、検証中にエラー・メッセージが表示されます。 データ・ソースのカフェイン・コーラをデータ・ターゲットのカフェイン・コーラに関連付ける必要があります。
属性ディメンションまたは属性メンバーは、データ・ソースのアウトラインには存在できますが、データ・ソースのアウトラインには存在できません。または、データ・ターゲットのアウトラインには存在しますが、データ・ソースのアウトラインには存在できません。 例:
Source Target
Caffeinated
True
False
このような場合は、次の選択肢があります:
-
データ・ターゲットのアウトラインでCaffeinated属性ディメンションとそのメンバーを作成し、Productディメンションに関連付けます。 その後、属性をデータ・ソースからデータ・ターゲットにマップできます。
-
データ・ソースのCaffeinated属性ディメンションをデータ・ターゲットのVoidにマップします。
拡張領域固有マッピングの作成
標準のメンバー・マッピングを使用して、データ・ソース内のすべてのメンバーをデータ・ターゲット内の対応するメンバーにマップできる場合、領域固有の高度なマッピングを実行する必要はありません。
ただし、Essbaseでメンバーをより詳細なレベルでマップする方法を制御する必要がある場合は、ある領域のメンバーを特定の領域マップのコンテキストでのみ別の領域のメンバーにマップする、領域固有のマッピングを使用する必要があります。
エリア間マッピングを使用して、次の操作を実行します:
-
データのマップ元は、データのコピー元によって異なります。
-
データ・ソースの複数のメンバーをデータ・ターゲットの単一メンバーにマップします。
Essbaseでは、データ・ソースの複数のメンバーをデータ・ターゲットの単一メンバーにマップする方法を決定できないため、あるマッピング・ルールをデータのサブセットに適用できるまで、データの分割方法を論理的に決定する必要があります。 次に、領域固有のマッピングのコンテキストでそのルールを使用して、メンバーをマップします。
例10-1 例1: 拡張領域固有マッピング
データ・ソースおよびデータ・ターゲットには、次のディメンションおよびメンバーが含まれます:
Source Target
Product Product
Cola Cola
Market Market
East East
Year Year
1998 1998
1999 1999
Scenario
Actual
Budget
データ・ソースにScenarioディメンションがありません。 かわりに、過去のデータは実際のデータで、将来のデータは予測(予算)データであると想定しています。
データ・ソースの1998は1998に対応し、データ・ソースのActualは1999に対応し、データ・ターゲットのBudgetに対応する必要があることがわかっています。 したがって、たとえば、データ・ソースのCola, East, 1998のデータ値が15の場合、データ・ターゲットのCola, East, 1998, Actualのデータ値は15である必要があります。
マッピングはメンバーの組合せではなくメンバーに対して機能するため、1998を1998, Actualにマップすることはできません。 エリア(1998および1998, Actual)を定義し、そのエリアにエリア固有のマッピング・ルールを作成します。
データ・ソースには実績メンバーと予算メンバーがないため、これらのメンバーをデータ・ターゲットの無効化にマップする必要もあります。
例10-2 例2: 拡張領域固有マッピング
また、データ・ソースとデータ・ターゲットの構造が大きく異なり、同じ種類の情報が含まれている場合は、拡張領域固有マッピングを使用することもできます。
この戦略は、たとえば、データ・ソースとデータ・ターゲットに次のディメンションとメンバーが含まれている場合に機能します:
Source Target
Market Customer_Planning
NY NY_Actual
CA NY_Budget
CA_Actual
CA_Budget
Scenario
Actual
Budget
データ・ソースのNYおよびActualはデータ・ターゲットのNY_Actualに対応し、データ・ソースのNYおよびBudgetはデータ・ターゲットのNY_Budgetに対応している必要があることがわかります。 したがって、たとえば、データ・ソースのNY, Budgetのデータ値が28の場合、データ・ターゲットのNY_Budgetのデータ値は28である必要があります。
マッピングはメンバーの組合せではなくメンバーに対して機能するため、NY、ActualをNY_Actualにマップすることはできません。 領域(NY、ActualおよびNY_Actual)を定義し、その領域に対して領域固有のマッピング・ルールを作成します。
データ・ターゲットにはNYおよびCAメンバーがないため、データ・ソースからデータ・ターゲットへの移動時にディメンショナリティが完了するように、これらのメンバーをデータ・ターゲットのVoidにマップする必要もあります。