パーティションのメンバーのマップ
パーティション・ソースとパーティション・ターゲットのメンバー数が同じで、同じメンバー名を使用している場合は、Essbaseによって自動的にメンバーがマップされます。ユーザーが行う必要があるのは、パーティションの検証、保存およびテストのみです。Essbaseによって自動的にマップされない場合は、手動でマップする必要があります。
パーティションを作成するには、Essbaseですべての共有ソース・データ・メンバーをターゲット・メンバーにマッピングできる必要があります。Oracleでは、特にパーティションが属性に基づいている場合に、パーティションのメンテナンス要件を減らすために、ソース・メンバー名とターゲット・メンバー名を同じにすることをお薦めします。
次のいずれかの方法で、ソース・メンバーをターゲット・メンバーにマップします。
-
メンバー名を手動で入力するか、選択します。(重複するメンバー名を入力する場合は、
"[State].[New York]"のように、修飾メンバー名を入力し二重引用符で囲みます。 -
領域固有マッピングを作成します。
このセクションのトピック:
異なる名前のメンバーのマッピング
Essbaseパーティションのソース・アウトラインとターゲット・アウトラインに異なるメンバーが含まれている場合、または各アウトラインでメンバーの名前が異なる場合は、ソース・メンバーをターゲット・メンバーにマップする必要があります。
次の例では、最初の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になります。
キューブと追加のディメンションのマップ
Essbaseパーティションのソースとターゲットのディメンションの数は異なる場合があります。このような場合の検証エラーを回避するには、追加メンバーを一方の半分にマッピングして、もう一方の半分に「無効」にマッピングする必要があります。
次の例は、ソース・アウトラインにターゲット・アウトラインよりも多くのディメンションがある場合を示しています。
Source Target
Product Product
Cola Cola
Market Market
East East
Year
1999
1998
1997Yearディメンションのメンバー1997をデータ・ターゲットのVoidにマップできます。まず、ターゲットと共有するソースの領域を定義します。
Source Target
@DESCENDANTS(Market), 1997 @DESCENDANTS(Market)次に、ソース・メンバーをターゲット内のVoidにマップします。
Source Target
1997 VoidVoidは自動的に表示されます。Voidを手動で入力すると、エラーが発生する場合があります。
領域定義に追加のディメンションのメンバーが1つも含まれていない場合、パーティションを検証しようとするとエラー・メッセージが表示されます。
ノート:
追加のディメンションのメンバーをマップすると、結果のパーティションにはマップされたメンバーのデータのみが反映されます。前述の例では、Yearディメンションには1999、1998および1997の3つのメンバーが含まれています。ソースのメンバー1997をターゲットにマップすると、パーティション結果には1997のProductおよびMarketのデータのみが反映されています。1998と1999のProductとMarketのデータは抽出されません。
次の例は、ターゲットにソースよりも多くのディメンションが含まれている場合を示しています。
Source Target
Product Product
Cola Cola
Market
East
Year Year
1997 1997このような場合は、最初にソースとターゲットの共有領域を定義します。
Source Target
@IDESCENDANTS(Product) @IDESCENDANTS(Product), East次に、メンバーEastをデータソースのMarketディメンションからVoidにマップします。
Source Target
Void EastターゲットのMarketディメンションのメンバーEastがターゲット領域の定義に含まれていない場合、パーティションを検証しようとするとエラー・メッセージが表示されます。
共有メンバーのマップ
共有メンバーを使用して複製または透過パーティションを作成する場合は、マッピングでプロトタイプ・メンバー名を使用します。
Essbaseによってソースからのプロトタイプ・メンバーがマップされています。
メンバーに関連付けられた属性のマップ
Essbaseパーティションが有効であることを確認するには、属性ディメンションとメンバーをソース・データからターゲット・データに正確にマップする必要があります。
ノート:
レプリケートされたパーティションの属性ディメンションのメンバーはマップできません。ただし、透過パーティションの属性をマップできます。「Essbaseパーティションの属性」を参照してください。
次の例では、ソース・アウトラインに、メンバー100 (Cola)を持つProductディメンションが含まれています。子100-10と100-20はCaffeinated属性ディメンションのメンバーTRUEに、子100-30はCaffeinated属性ディメンションのメンバーFALSEに関連付けられています。
ターゲット・アウトラインのProductディメンションには、メンバー200 (Cola)が含まれています。子200-10と200-20はWith_Caffeine属性ディメンションのメンバーYesに、子200-30はWith_Caffeine属性ディメンションのメンバーNoに関連付けられています。
最初に、ソースからターゲットに共有する領域を定義します。
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にマップすると、検証中にエラー・メッセージが表示されます。ターゲットでカフェイン入りコーラをソースからカフェイン入りコーラに関連付ける必要があります。
属性ディメンションまたは属性メンバーは、ソース・アウトラインには存在できますが、ターゲット・アウトライン(OR)には存在できませんが、ソース・アウトラインには存在しません。たとえば:
Source Target
Caffeinated
True
Falseこのような場合、次の選択肢があります。
-
ターゲットのアウトラインにCaffeinated属性ディメンションとそのメンバーを作成してProductディメンションに関連付けます。その後、属性をソースからターゲットにマップできます。
-
ソースのCaffeinated属性ディメンションをターゲットのVoidにマップします。
詳細領域固有マッピングを作成します。
標準のメンバー・マッピングを使用して、パーティション・ソースのすべてのメンバーをデータ・ターゲットの対応するメンバーにマップできる場合は、詳細領域固有マッピングを実行する必要はありません。
領域間マッピングでは、次の処理を実行できます。
-
データの取得元に応じて、データを異なる方法でマップします。
-
データソースの複数のメンバーを、データ・ターゲットの単一のメンバーにマップします。
Essbaseではデータソースの複数のメンバーをデータ・ターゲットの単一のメンバーにどのようにマップするかを判断できないため、データのサブセットに1つのマッピング・ルールを適用できるようになるまでデータを分割する方法を論理的に決定する必要があります。次に、領域固有マッピングのコンテキストでそのルールを使用して、メンバーをマップします。
例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はデータ・ターゲットの1999, Budgetに対応することがわかっています。したがって、たとえばデータソースのCola, East, 1998のデータ値が15の場合、データ・ターゲットのCola, East, 1998, Actualのデータ値は15になります。
マッピングはメンバーの組合せではなくメンバーに対して機能するため、単に1998を1998, Actualにマップすることはできません。領域(1998と1998, Actual)を定義し、この領域の領域固有マッピング・ルールを作成します。
また、データソースにはActualメンバーとBudgetメンバーがないため、これらのメンバーをデータ・ターゲットのVoidにマップする必要があります。
例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にマップする必要があります。