A 次元モデルの設計

このマニュアルでは、例としてGlobalスキーマを使用します。この付録では、Global Computing Companyという架空の会社を想定してそのビジネス要件を検討し、それらの要件からデータ・モデルを設計する方法について説明します。

この付録の内容は次のとおりです。

A.1 事例のシナリオ

Global Computing Companyという、1990年に設立された会社があるとします。Global Computingは、コンピュータのハードウェアおよびソフトウェアのコンポーネントを世界規模で顧客に供給しています。営業部門では、見積値を満たしていません。結果として、この部門では、成功を収める営業戦略の開発に挑戦してきました。

Global Computingは、きわめて競争の激しい市場で経営を行っています。競争相手は多数あり、顧客は価格に特に敏感で、利益幅は少なくなる傾向にあります。収益を高めて発展するために、Global Computingは最も利益を生む製品の売上を増やす必要があります。

Global Computingの現在のビジネスにおける次の様々な要素が、売上および収益における低下を示しています。

  • Global Computingでは、従来、第3四半期(7月から9月)に売上が低下します。しかし、最近は、他の四半期の売上も予測を下回っています。この会社は急速な成長を経験してきたのですが、過去2年間の第1四半期の売上が、その前までの年と比較して明確な理由もなく下がっています。

  • Global社は、最新の販売チャネルであるインターネットでは成功を収めています。このチャネルにおける売上は伸びていますが、全体の収益は減少しています。

  • 以前はGlobal Computingの収益の大半を占めていたパーソナル・コンピュータの利益が急速に減少していることが、最も重要な要因である可能性があります。

Global Computingは、これらの各要素がビジネスにどのように影響しているのかを理解する必要があります。

現在のレポート作成はIT部門が行っており、月単位の標準的なレポートが作成されています。非定形のレポートはすべて必要に応じて処理されますが、ITスタッフは限られているため時間的な制約があります。営業部門では、レポート作成要求への対応が遅いことに不満が広がっています。IT部門でも、方針を頻繁に変更し、より詳細な情報を求める分析者に対する不満が蓄積しています。

営業部門では、何が売れているのか、誰が購入しているのか、どのように購入しているのかといったタイムリな情報の不足に悩まされています。情報主任との打合せでは、営業部長が「情報は入手した時点でもう役に立たない。情報を入手できるのは月末で、それには仕事で必要な詳細情報が含まれていない」と報告しています。

A.1.1 要件のレポート

必要事項をより具体的にするよう求められると、営業部長は次の要件を特定しました。

  • 特定の顧客、地域およびセグメントの売上データの傾向。

  • 現地販売員に対する情報および一定の情報分析能力の提供。販売員は世界中に分散しているため、Webインタフェースが好ましい。

  • 月単位および四半期単位の通信販売、電話販売および電子メール販売に関する詳細(過去の期間との比較も含める)。情報を使用して、各チャネルでいつ、何がどのように売れているのかを確認できる必要がある。

  • 各売上のドル貢献を知るための、製品に関する利益情報。

  • 売上、数量および利益の、前の期間および1年前の期間との変化率。

  • 非定型のグルーピングによるデータ分析の実行。

情報主任はチーム内でこれらの要件について話し合い、生産受注システムに対する標準的なレポート・ソリューションは、必要とされる分析能力を提供するだけの柔軟性がないという結論に達しました。また、ビジネス分析のレポート要件があまりにも多様なので、開発の見積りコストや要求に対して期待される応答時間を考慮すると、このソリューションを容認することはできません。

そこで、情報主任のチームは、分析をサポートするためにアナリティック・ワークスペースを使用することを推奨しました。チームでは、営業部門のITグループがIT企業と連携し、彼らの要件を満たす情報分析用のアナリティック・ワークスペースを構築することを提案しました。

A.1.2 ビジネスの目標

開発チームは、このプロジェクトで満たす必要のある高水準のビジネス目標を特定しました。

  • Global Computingの戦略上の目標として、より高い利益の製品の売上および全体の売上高を伸ばすことによって、会社の収益を増加させます。

  • 営業部門の目標は次のとおりです。

    • 業界の傾向を分析し、特定の市場セグメントを標的にする。

    • 販売チャネルを分析し、収益を向上させる。

    • 製品の傾向を識別し、適切なチャネルを開拓する戦略を作成する。

A.1.3 情報の要件

ビジネスの目標を確立したら、それらの目標の達成に役立つ情報のタイプを決定できます。エンド・ユーザーがアナリティック・ワークスペースのデータをどのように調べるかを理解するために、広範囲のヒアリングを実施することが重要です。キーとなるエンド・ユーザーのヒアリングから、ビジネスに対する調査方法および回答が欲しいビジネス分析の問合せのタイプを決定できます。

A.1.3.1 ビジネス分析の問合せ

Global Computingの営業部長、販売員および市場分析者からのヒアリングによって、次のビジネス分析の問合せが明らかになりました。

  • どの製品が利益が高いか。

  • 顧客は誰か、彼らは何をどのように購入するのか。

  • どのアカウントが最も収益性が高いか。各流通チャネルの業績はどうか。

  • ビジネスに季節的な分散はまだ存在するか。

次に、これらのビジネス分析の各問合せを詳細に調査します。

どの製品が利益が高いか。

このビジネス分析の問合せは次の問合せから構成されます。

  • 任意の月、四半期、年または任意の流通チャネルにおける任意の項目、製品ファミリ、製品クラスの総売上の比率はどれくらいか。この売上比率が1年前とどのように異なるか。

  • 任意の特定月における任意の項目について、各単位の単位価格、単位原価および単位当たりの利益はいくらか。任意の月における任意の項目の価格、原価および利益の傾向はどうなっているか。

  • 任意の流通チャネルおよび任意の地域または市場セグメントにおける、任意の月、四半期、年の最も利益の高かった項目は何か。収益性は前の期間からどのように変化したか。前の期間からの収益性の変化率はどれくらいか。

  • 前の期間から収益性が最も変化した項目は何か。

  • 任意の流通チャネルおよび任意の地域または市場セグメントにおける、任意の月、四半期、年の総収益に最も貢献した項目は何か。

  • 任意の特定月において、単位当たりの利益が最も高い項目は何か。

  • 要約すると、どのような傾向があるか。

顧客は誰か、彼らは何をどのように購入するのか。

このビジネス分析の問合せは次の問合せから構成されます。

  • 任意の月、四半期または年における任意の項目、製品ファミリ、製品クラスの売上はいくらだったか。

  • 任意の流通チャネル、地域または市場セグメントにおける任意の項目、製品ファミリ、製品クラスの売上はいくらだったか。

  • 売上は前の期間からどのように変化したか。前の期間からの売上の変化率はどれくらいか。

  • 売上は1年前からどのように変化したか。1年前からの売上の変化率はどれくらいか。

  • 要約すると、どのような傾向があるか。

どのアカウントが最も収益性が高いか

このビジネス分析の問合せは次の問合せから構成されます。

  • 任意の項目、製品ファミリ、製品クラスについて、任意の流通チャネルにおける任意の月、四半期、年の最も利益の高いアカウントは何か。

  • 任意の流通チャネルおよび任意の製品について、任意の月、四半期、年のアカウントの売上および総利益(粗利益)はいくらだったか。

  • アカウントの収益性を前の期間とどのように比較するか。

  • どのアカウントが前の期間と比較して最も売上が伸びたか。

  • 前の期間からの売上の割合変化はどれくらいか。収益性の変化率が、売上の変化率と同じ比率で増加したか。

  • 要約すると、どのような傾向があるか。

各流通チャネルの業績はどうか。

このビジネス分析の問合せは次の問合せから構成されます。

  • 任意の項目、製品ファミリ、製品クラスまたは任意の地域、市場セグメントの各流通チャネルの総売上に対する売上比率はどれくらいか。

  • 各流通チャネル(直販、カタログ販売およびインターネット)の収益性はどうか。

  • 最新の流通チャネルのインターネットがカタログ販売と共食いしていないか。顧客が注文方法を切り替えているだけなのか、インターネット流通チャネルがさらなる顧客を獲得しているのか。

  • 要約すると、どのような傾向があるか。

ビジネスに季節的な分散はまだ存在するか。

このビジネス分析の問合せは次の問合せから構成されます。

  • 特定の項目または製品ファミリの季節的な売上パターンを識別できるか。

  • 季節的な売上パターンは地域によってどのように異なるか。

  • 季節的な売上パターンは市場セグメントによってどのように異なるか。

  • 季節的な売上パターンは昨年と比較して違いはあるか。

A.1.3.2 情報の要件のまとめ

エンド・ユーザーが行いたい分析のタイプを調査することによって、分析のキーとなる次の要件を識別できます。

  • Global Computingには、収益性の分析に対する強い要求がある。会社は、製品、アカウント、市場セグメントおよび流通チャネルごとの収益性を解釈する必要がある。また、収益性の傾向についても解釈する必要がある。

  • Global Computingは、売上が時期によってどのように異なるのかについて解釈する必要がある。会社は、製品、地域、市場セグメントおよび流通チャネルごとのこれらの季節的な傾向について解釈する必要がある。

  • Global Computingには、非定形の売上分析に対する強い要求がある。分析者は、どの製品が誰にいつ売れているのか、顧客はどのようにこれらの製品を購入しているのかを識別する必要がある。

  • 傾向を分析できることがGlobal Computingにとって重要である。

A.2 必要とされるビジネス・ファクトの識別

分析のキーとなる要件によって、Global Computingにおける分析要件のサポートに必要なビジネス・ファクトが明らかになります。

次のファクトは、時間、製品、顧客への発送、市場セグメントおよび流通チャネルによって整理されます。

  • 売上
  • 数量
  • 前期からの売上の変化
  • 前期からの売上の変化率
  • 前年からの売上の変化
  • 前年からの売上の変化率
  • 製品シェア
  • チャネル・シェア
  • 市場シェア
  • 総費用
  • 総利益
  • 前期からの総利益の変化
  • 前期からの総利益の変化率
  • 販売数量、前期からの変化
  • 販売数量、前期からの変化率
  • 販売数量、前年からの変化
  • 販売数量、前年からの変化率

次のファクトは項目および月によって整理されます。

  • 単位価格
  • 単位原価
  • 単位当たりの利益

A.3 Global Computingのためのディメンション・モデルの設計

Global Computingにおける分析要件をサポートするビジネス・ファクトは、「ビジネスの目標」に示したとおりです。次に、データ・モデル内のディメンション、レベルおよび属性を識別します。各ディメンション内の関係も識別します。結果としてできるデータ・モデルは、Globalスキーマ、次元モデルおよびアナリティック・ワークスペースの設計に使用します。

A.3.1 ディメンションの識別

次の4つのディメンションをデータベース内のファクトの構成に使用します。

  • Product: 製品によってデータがどのように異なるかを示す。

  • Customer: 顧客や地域によってデータがどのように異なるかを示す。

  • Channel: 各流通チャネルによってデータがどのように異なるかを示す。

  • Time: 時間によってデータがどのように異なるかを示す。

A.3.2 レベルの識別

ディメンションを識別したところで、各ディメンション内の集計のレベルを識別できます。Global Computingでの分析要件によって、次のことが明らかになっています。

  • 流通チャネルには、Sales、CatalogおよびInternetの3つがあります。これらの3つの値は、データ・ウェアハウスにおける細目の最低レベルであり、Channelレベル内でグループ化されます。レベルは、集計の最高レベルから細目の最低レベルの順に、TotalおよびChannelとなります。

  • Globalでは、顧客への発送取扱いに沿って、および市場セグメントごとに、顧客および地域の分析を行います。ShipmentsとMarketが、Customerディメンションの2つの階層になります。それぞれの場合で、データ・モデルにおける細目の最低レベルはShip To位置です。

    • 顧客への発送取扱いに沿って分析する場合、集計のレベルは(高い方から低い方の順に)、Total、Region、WarehouseおよびShip Toとなります。

    • 市場セグメントによって分析する場合、集計のレベルは(高い方から低い方の順に)、Total、Market Segment、AccountおよびShip Toとなります。

  • Productディメンションは(高い方から低い方の順に)、Total、Class、FamilyおよびItemの4つのレベルを持ちます。

  • Timeディメンションは(高い方から低い方の順に)、Total、Year、QuarterおよびMonthの4つのレベルを持ちます。このディメンションには、CalendarとFiscalの2つの階層があります。

すべてのディメンションは、集計の最高レベルとしてTotalレベルを持ちます。この最高レベルを追加することによって、アプリケーション・ユーザーはデータを柔軟に分析できるようになります。

A.3.3 階層の識別

各ディメンション内のレベルを構成する階層を識別します。階層を識別するには、集計の正しい順序で、および分析の識別したタイプをサポートする方法で、レベルをグループ化します。

Global Computingでは、ChannelディメンションとProductディメンションについて必要な階層はそれぞれ1つのみです。Customerディメンションについては、Global Computingでは2つの階層が必要です。Customerディメンションにおける分析は、地域または市場セグメントのいずれかによるものになります。したがって、ShipmentsおよびSegmentの2つの階層にレベルを構成します。長期にわたる分析には、CalendarとFiscalの2つの階層が必要です。

A.3.4 ストアド・メジャーの識別

「必要とされるビジネス・ファクトの識別」では、Global Computingの分析要件のサポートに必要な21のビジネス・ファクトを示しました。このうち、トランザクション・データベースから取得される必要があるファクトは次の4つのみです。

  • 数量

  • 売上

  • 単位価格

  • 単位原価

その他のすべてのファクトは、これらの基本ファクトから導出できます。導出されたファクトは、オンデマンドでアナリティック・ワークスペース内で計算できます。これらの導出ファクトの一部が頻繁に使用され、その計算がシステムに大きな負荷を与えていることが経験上明らかになれば、これらのファクトは、データのメンテナンス処理として、アナリティック・ワークスペース内で計算および格納できます。