ビジネス・モデルのコンテンツの特定
ビジネス・モデルに含めるコンテンツを決定するにはまず、ユーザーが問い合せる必要がある論理列を特定する必要があります。
次に、各列のロールをメジャー列、またはディメンション属性のいずれかとして特定する必要があります。最後に、関連するロール、列間のリレーションシップ、およびロジックに基づいて、論理列をディメンション・モデルに配置します。
ビジネスは関連するディメンション基準によって分析されるため、これらの関連するディメンションからビジネス・モデルを開発します。これらのディメンション・モデルは、Oracle BIサーバーで使用する有効なビジネス・モデルの基盤となります。
すべてのディメンション・モデルがスター・スキーマに基づいて作成されるわけではありませんが、ビジネス・モデル・レイヤーでは単純なスター・スキーマを使用することをお薦めします。つまり、ディメンション・モデルは、様々なディメンション属性に関して表示される測定可能なファクトを表す必要があります。
ビジネス・モデルの要件を分析したら、ビジネス・モデルに含める必要がある具体的な論理表や階層を特定する必要があります。
このセクションには次のトピックが含まれます:
論理ファクト表の特定
ビジネス・モデルとマッピング・レイヤーの論理ファクト表には、集計が定義に組み込まれているメジャーが含まれます。
リレーショナル・モデルでは、論理ファクト表は物理ファクト表とは異なります。リレーショナル・モデルにおける物理表では、可能なかぎり最低のグレインでファクトが定義されます。論理ファクト表には様々なグレインのメジャーを格納できます。
ファクトから集計されるメジャーは、論理ファクト表で定義する必要があります。メジャーとは、ドル値や売上数量など、計算されたデータです。ディメンション値を使用してメジャーを指定できます。たとえば、特定の期間の特定の市場における特定の製品に関するドル合計を確認できます。
各メジャーには、SUM
、AVG
、MIN
、MAX
などの独自の集計ルールがあります。ビジネスによっては、メジャーの値を比較し、比較を表す計算が必要な場合があります。特定のディメンションに集計ルールを指定できます。Oracle BIサーバーで、ディメンション固有の複雑な集計ルールを定義できます。
ビジネス・モデルとマッピング・レイヤーの表は、ファクト表またはディメンション表として明示的に指定されるわけではありません。Oracle BIサーバーでは、結合の1の側の表がディメンション表として扱われ、結合の多側の表がファクト表として扱われます。
この図は、ビジネス・モデル図におけるファクト表への多対1結合を示しています。ビジネス・モデル図では、すべての結合は、Fact-Pipeline表から発する(1方向の)矢印を持っており、その表を指す結合はありません。ビジネス・モデルにおけるこの例は、管理ツールでリポジトリを開き、ファクト表を右クリックし、「ビジネス・モデル図」を選択し、次に「図全体」を選択します。
論理ディメンション表の特定
ディメンション表には、ビジネス・エンティティ(顧客名、地域、住所、国など)を説明する属性が格納されています。
企業では、ファクトを使用して、時間、製品、市場など、確立されたディメンションを使用してパフォーマンスを測定します。各ディメンションには、一連の説明属性があります。ディメンション表には、各メンバーを特定する主キーが格納されています。
ディメンション表の属性によって、サービス・リクエストを分類する機能を提供するなど、数値データにコンテキストが提供されます。サービス・リクエストのディメンション表に格納される属性には、サービス・リクエストの所有者、領域、アカウント、優先度などがあります。
ビジネス・モデルのディメンションは適合済ディメンション、つまりディメンション間に一貫性があるディメンションです。特定のデータ・ソースに特定のCustomer表の5つの異なるインスタンスがある場合でも、ビジネス・モデルのCustomer表は1つのみです。適合性を実現するために、Customerの5つの物理ソース・インスタンスのすべてが1つのCustomer論理表にマップされ、必要に応じて論理表ソースで変換が行われます。適合済ディメンションによって、ユーザーは物理レイヤーの複雑さを感じることなく、様々な単位の複数のファクト・ソースのデータを結合できます。適合済ディメンションにより、複数のデータ・ソースの組合せが可能になります。
ビジネス・モデルでは、生成された代理キーではなく、ディメンションとレベル・キーのビジネス・キーを使用します。たとえば、1076823のような値を持つCustomer Keyではなく、Oracleなどの値を持つCustomer Nameを使用してください。ビジネス・モデルでビジネス・キーを使用することで、そのディメンションのすべてのソースを、同じ論理キーとレベル・キーを持つ同じ論理ディメンション表に適合させることができます。
生成された代理キーは物理レイヤーに存在でき、そこではキーは結合に対する問合せのパフォーマンスの利点があるため有用です。ビジネス・モデルとマッピング・レイヤーに代理キー列はありません。
ディメンションの特定
ディメンションは、ビジネスを定義するための属性のカテゴリです。
一般的な属性としては、期間、製品、市場、顧客、仕入先、プロモーション条件、原材料、製造工場、輸送手段、メディアの種類、時刻などがあります。特定のディメンション内に多数の属性がある場合があります。たとえば、期間ディメンションには、属性として日、週、月、四半期および年を含めることができます。ディメンションに含まれる属性は、ビジネスをどのように分析するかによって決まります。
ディメンションには、ディメンション内のメンバー間のトップダウン・リレーションシップのセットである階層が含まれています。階層には2つのタイプがあります。
-
レベルベース階層(構造階層)
-
親子階層(値階層)
レベルベース階層では、同じタイプのメンバーが1つのレベルにのみ存在します。一方、親子階層のメンバーはすべて同じタイプです。Oracle Analytics Serverでは、時系列データをモデリングするための機能を備えた、時間ディメンション・レベルベースの階層がサポートされています。レベルベース階層では、下位レベルから上位レベルへとレベルがロールアップされます。たとえば、月を年にロールアップできます。このようなロールアップは階層要素全体で行われ、存在するビジネス・リレーションシップにまたがります。
親子階層には、組織階層ツリーの管理者/従業員リレーションシップなど、実際には同一タイプの異なるメンバー間にビジネス・リレーションシップが存在します。親子階層には、明示的に指定されたレベルはありません。親子階層内の暗黙レベルの数に制限はありません。
階層を定義するには、すべての計算におけるロールアップ集計、およびレポートやダッシュボードにおけるドリルダウン・ナビゲーションを容易にするための含むリレーションシップをビジネスに定義します。たとえば、月が年にロールアップされ、集計表が月レベルに存在する場合、月レベルのすべてのデータを合計して年のデータを計算することで、その表を使用して年レベルの質問に回答できます。
ニーズにあわせて適切なタイプの階層を使用する必要があります。使用する適切なタイプを判断するために、次の点を考慮します。
-
すべて同じタイプのメンバーであるか(従業員、組立品、顧客など)、基本的にレベルに分類される異なるタイプのメンバーであるか(年/四半期/月、大陸/国/都道府県、ブランド/ライン/製品など)。
-
メンバーの属性セットが同じかどうか。たとえば、Employeesのような親子階層では、すべてのメンバーにHire Date属性があると考えられます。Timeのようなレベルベース階層では、DayタイプにはHoliday属性がありますが、MonthタイプにはHoliday属性がありません。
-
設計時にレベルが固定されているか(年-四半期-月)、実行時のビジネス・トランザクションによってレベルが増えたり減ったりする可能性があるか。たとえば、現在最下位の従業員が新たに最下位になる部下を雇用する場合はレベルを追加できます。
-
特定の階層タイプを必要とする制約がプライマリ・データ・ソースにあるかどうか。プライマリ・データ・ソースがある方法でモデル化されている場合、その他の要因とは無関係に、ビジネス・モデルで同じ階層タイプを使用する必要があります。
複数の階層を持つディメンションについて
ディメンションに複数の階層が含まれる場合があります。複数の階層を持つディメンションは必ず、同じリーフ表で終わる必要があります。
たとえば、Timeディメンションには多くの場合、暦年を表す階層と会計年度を表す階層があります。
この図は、Oracle BI管理ツールのビジネス・モデルとマッピング・レイヤーに表示された、複数の階層を持つディメンションを示しています。

図mult_hier.gifの説明
参照表の特定
多言語スキーマから翻訳されたフィールド情報を表示する必要がある場合は、物理レイヤーの参照表に対応する論理参照表を作成します。
参照表には、ベース表の行に対応する多言語データが格納されます。特定の論理参照表を使用するには、まず、「論理表」ダイアログの「一般」タブで、その表を参照表として指定する必要があります。Oracle Analytics Serverの管理のリポジトリでのメタデータ名のローカライズを参照してください。
参照表は、ある値セットをユーザーに表示し、対応する別の値セットを物理問合せで使用する場合に使用できます。参照表は、別のデータソースで検索される判読可能な値を提供するために使用できます。