Analysis Services のチュートリアル シナリオ

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

このチュートリアルは、Adventure Works Cycles という架空の会社を題材にしています。 Adventure Works Cycles は、金属と複合自転車を製造し、北米、ヨーロッパ、アジアの商業市場に販売する多国籍の大規模な製造会社です。 Adventure Works Cycles の本社はワシントン州ボセルで、500 人の従業員を雇用しています。 さらに、Adventure Works Cycles では、マーケット ベース全体で複数の地域営業チームを採用しています。

近年、Adventure Works Cycles はメキシコに位置する小規模な製造工場 Importadores Neptuno を買収しました。 Importadores Neptuno は、Adventure Works Cycles 製品ラインの重要なサブコンポーネントをいくつか製造しています。 これらの部品はボセルに出荷され、そこで完成品が組み立てられます。 2005 年、同社は、ツーリング自転車製品群を独占的に製造、流通する企業に成長しました。

成功した会計年度に続いて、Adventure Works Cycles は、最高の顧客への広告をターゲットにし、外部 Web サイトを通じて製品の可用性を拡張し、生産コストを削減することで売上コストを削減することで、市場シェアを拡大したいと考えています。

現在の分析環境

販売およびマーケティング チームと上級管理者のデータ分析ニーズをサポートするために、現在、会社は AdventureWorks2012 データベースからトランザクション データと、スプレッドシートからの販売クォータなどの非トランザクション情報を取得し、この情報を AdventureWorksDW2019 リレーショナル データ ウェアハウスに統合します。 しかし、リレーショナル データ ウェアハウスには次の問題があります。

  • レポートが静的である。 ユーザーは、Microsoft Office Excel ピボット テーブルで行うことができるなど、より詳細な情報を取得するためにレポート内のデータを対話的に探索する方法はありません。 既存の定義済みレポートで十分な情報を得られるユーザーも多いのですが、インタラクティブなクエリと専門的なレポートを使用する上級ユーザーは、データベースに直接クエリを送信する必要があります。 ただし、 AdventureWorksDW2019 データベースの複雑さのため、このようなユーザーが効果的なクエリを作成する方法を学習するには時間がかかりすぎます。

  • クエリ パフォーマンスの落差が大きい。 たとえば、クエリによって、結果が数秒で返される場合と、数分かかる場合があります。

  • 集計テーブルの管理が難しい。 クエリ応答時間を短縮するために、Adventure Works のデータ ウェアハウス チームは AdventureWorksDW2019 データベースに複数の集計テーブルを作成しました。 たとえば、月ごとの売上を要約するテーブルなどです。 これらの集計テーブルはクエリ パフォーマンスを非常に向上させますが、テーブルを保守するために構築したインフラストラクチャは時間の経過と共に劣化し、エラーを招きます。

  • 複雑な計算ロジックがレポート定義に組み込まれているため、レポート間での計算ロジックの共有が困難。 このビジネス ロジックはレポートごとに個別に生成されるため、概要情報がレポートごとに異なる場合があります。 したがって、データ ウェアハウスのレポートでは管理の信頼性が限られます。

  • 必要となるデータ ビューが事業部によって異なる。 各グループとは無関係なデータ要素によって情報が散漫になり、混乱を招きます。

  • 専門的なレポートを必要とするユーザーにとって、計算ロジックが高いハードルとなる。 専門的なレポートを生成する場合は、レポートごとに計算ロジックを定義する必要があります。計算ロジックの定義方法を一本化することはできません。 たとえば、移動平均など、基本的な統計手法を使用すればよいことがわかっていても、その計算式の作成方法を理解していなければ、必要なレポートを生成できません。

  • 関連する情報のセットを組み合わせることが困難。 売上と販売量など、関連する 2 つの情報を組み合わせる特殊なクエリを作成することは、ビジネス ユーザーにとっては困難です。 このようなクエリはデータベースに大きい負荷をかけるため、Adventure Works Cycles のユーザーは、複数分野のデータのセットをデータ ウェアハウス チームに要求しなければなりません。 結果として、複数の分野のデータを組み合わせた、少数の定義済みレポートを定義するのみになっています。 また、これらのレポートは複雑であるため、ユーザーはレポートに手を加えることを敬遠しています。

  • レポートの仕様が、主に米国のビジネス情報に合わせられている。 米国外の子会社のユーザーはこの仕様に大きな不満を持っており、自国の通貨単位および言語でレポートを表示したいという要望を持っています。

  • 情報の監査が難しい。 現在、財務部門は AdventureWorksDW2019 データベースを、一括クエリの対象となるデータソースとしてのみ使用しています。 その後、各スプレッドシートにデータがダウンロードされ、スプレッドシートの準備と操作に膨大な時間が費やされます。 したがって、経理レポートの準備、監査、および全社的な管理が困難です。

解決策

先ごろ、データ ウェアハウス チームは、現在の分析システムの設計を再評価しました。 この評価には、現在の問題点と今後の要望のずれを調査するギャップ分析も含まれています。 データ ウェアハウス チームは、 AdventureWorksDW2019 データベースが、適合したディメンションと代理キーを持つ適切に設計されたディメンション データベースであると判断しました。 適切なディメンションにより、時間ディメンションや製品ディメンションなど複数のデータ マートでディメンションを使用できます。 代理キーは、ディメンションとファクト テーブルをリンクする擬似的なキーです。一意性を確保し、パフォーマンスを向上させるために使用されます。 さらに、データ ウェアハウス チームは、 AdventureWorksDW2019 データベースのベース テーブルの読み込みと管理に大きな問題は現在ないと判断しました。 そのため、チームは Microsoft SQL Server Analysis Services を使用して次の作業を行うことにしました。

  • 分析的な調査やレポート生成では、共通のメタデータ層を経由するようデータへのアクセス経路を統合する。

  • ユーザーのデータ表示を簡略化し、対話型のクエリ、定義済みクエリ、および定義済みレポートの開発効率を向上させる。

  • 複数の分野のデータを組み合わせたクエリを適切に作成する。

  • 集計を管理する。

  • 複雑な計算を保存し、再利用できるようにする。

  • 米国外のビジネス ユーザーにローカライズされたサービスを提供する。

参照

多次元モデリング (Adventure Works チュートリアル)