キューブの定義
キューブ ウィザードを使用すると、SQL Server 2005 で簡単なキューブを容易に定義できます。また、キューブのメジャーとディメンションを定義する場合は、このウィザードが役立ちます。キューブ ウィザードでは、データ ソースに基づいてキューブを定義できるほか、既存のデータ ソースを使用せずにキューブを定義できます。既存のデータ ソースを使用せずにキューブを定義する場合は、基となるデータ ソースのスキーマをこのウィザードで生成できます。このチュートリアルでは、既存のデータ ソースに基づいてキューブを定義します。詳細については、「リレーショナル スキーマの操作」および「スキーマ生成ウィザードの概要」を参照してください。
既存のデータ ソースに基づいてキューブを定義する場合、キューブ ウィザードでは、データ ソース オブジェクトで定義されているデータベースへ自動的に接続し、指定したテーブルからデータが自動的に読み込まれるので、メジャーとディメンションを容易に定義することができます。ここで定義するメジャーとディメンションは、ファクト テーブル、ディメンション テーブル、またはその両方として識別されたテーブルに基づいています。この方法を使用する場合は、自動構築機能を使用して、ディメンション テーブルの列を基に属性を自動的に定義することができます。このウィザードでは、複数レベルの階層を作成することもできます。自動構築を使用しない場合は、キューブ ウィザードで属性と階層を手動で作成できます。また、キューブ デザイナでそれらを後から作成することもできます。詳細については、「キューブ ウィザードを使用したキューブ、ディメンション、階層、属性の定義」を参照してください。
ウィザードを使用してキューブを定義する場合は、ディメンションを Time ディメンションとして定義できます。その後、Time ディメンションの基となるディメンション テーブルの列に Time Property Names をマップできます。これらのマッピングは、期間対日付や並列期間の比較など、時間に関連する多次元式 (MDX) の計算に使用されます。また、タイム インテリジェンス ウィザードもこれらのマッピングを使用します。ビジネス インテリジェンス ウィザードを使用すれば、これらのディメンション プロパティを後からキューブ デザイナで定義することもできます。詳細については、「属性の種類の構成」、「時間 (SSAS)」、および「ビジネス インテリジェンス ウィザードを使用したタイム インテリジェンス計算の定義」を参照してください。
次の実習では、キューブ ウィザードを使用して、レッスン 1 で定義したデータ ソースを基に最初のキューブを作成します。属性の作成および階層の定義には自動構築機能を使用します。さらに、ディメンションを Time ディメンションとして定義し、その列を時間関連のプロパティにマップします。
メモ : |
---|
このレッスンを行うには、レッスン 1 のすべての手順を完了しているか、または前のすべての手順が反映されている Analysis Services プロジェクト ファイルを読み込む必要があります。このプロジェクト ファイルは、Service Pack 1 のサンプルと共にインストールされます。このプロジェクト ファイルの既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Analysis Services\Tutorials\Lesson 1 Complete です。 |
キューブとそのプロパティを定義するには
ソリューション エクスプローラで [キューブ] を右クリックし、[新しいキューブ] をクリックします。
[キューブ ウィザードへようこそ] ページで [次へ] をクリックします。
[構築方法の選択] ページで、[データ ソースを使用してキューブを構築する] オプションが選択されており、[自動構築] チェック ボックスがオンになっていることを確認して、[次へ] をクリックします。
[データ ソース ビューの選択] ページで、Adventure Works DW データ ソース ビューが選択されていることを確認します。
メモ : キューブ ウィザードを使用してキューブを作成する場合、[データ ソース ビューの選択] ページで [完了] をクリックするとキューブのその他のプロパティが自動的に定義され、すぐに [ウィザードの完了] ページが表示されます。このページで、キューブに名前を付け、その構造を確認することができます。この場合、基になるデータ ソース オブジェクトから取得したデータと既定の設定を使用して、キューブが定義されます。 [次へ] をクリックしてウィザードの次のページに進み、自動的に指定されるキューブ定義を確認して、必要な変更を行います。
キューブ ウィザードは、データ ソース オブジェクトで定義されているデータベース内のテーブルをスキャンし、ファクト テーブルとディメンション テーブルを検出します。ファクト テーブルには、販売数など、必要なメジャーが含まれています。ディメンション テーブルには、どの製品を何月に販売したかなど、メジャーに関する情報が格納されています。
ファクト テーブルとディメンション テーブルの検出が完了したら、[ファクト テーブルとディメンション テーブルを検出しています] ページで [次へ] をクリックします。
[ファクト テーブルとディメンション テーブルの識別] ページには、ウィザードによって検出されたファクト テーブルとディメンション テーブルが表示されます。
Analysis Services Tutorial プロジェクトでは、4 つのディメンション テーブルと 1 つのファクト テーブルが検出されます。メジャー グループは、ファクト テーブルに対応するよう定義されます。複数のファクト テーブルが検出された場合は、複数のメジャー グループが定義されます。各ディメンション テーブルを、キューブ内のファクト テーブルに関連付ける必要があります。ディメンション テーブルには、次のうちいずれかの種類のリレーションシップが割り当てられます。
- ファクト テーブルによる、主キーと外部キーとの直接的なリレーションシップ。このようなリレーションシップをスター スキーマといいます。
- 他のテーブルを介し、ファクト テーブルによって、主キーと外部キーを間接的に関連付けるリレーションシップ。このようなリレーションシップをスノーフレーク スキーマといいます。
テーブルは、ファクト テーブルとしても、ディメンション テーブルとしても機能します。レッスン 5 では、ファクト テーブルに基づいてディメンションを定義します。詳細については、「ファクト リレーションシップとファクト リレーションシップ プロパティの定義」を参照してください。
[ファクト テーブルとディメンション テーブルの識別] ページでは、Time ディメンション テーブルを指定し、指定したディメンション テーブルの列に時間プロパティを関連付けることもできます。YTD や ParallelPeriod など、時間関連の多次元式 (MDX) を計算するには、指定した Time ディメンション テーブルの列に時間プロパティを関連付ける必要があります。また、タイム インテリジェンス ウィザードを使用して時間関連の計算メンバを定義する場合も、この操作が必要になります。詳細については、「ビジネス インテリジェンス ウィザードを使用したタイム インテリジェンス計算の定義」を参照してください。
次の図は、キューブ ウィザードの [ファクト テーブルとディメンション テーブルの識別] ページです。Analysis Services Tutorial プロジェクトで使用するファクト テーブルとディメンション テーブルが選択されています。
[ファクト テーブルとディメンション テーブルの識別] ページで、[Time ディメンション テーブル] ボックスの一覧から [Time] を選択し、[次へ] をクリックします。
[時間間隔の選択] ページで、Time ディメンションとして指定したディメンションの基となるディメンション テーブルの列と、Time プロパティ名とを関連付けます。次の一覧のようにプロパティを指定してください。
- [年] プロパティを [CalendarYear] 列にマップします。
- [半期] プロパティを [CalendarSemester] 列にマップします。
- [四半期] プロパティを [CalendarQuarter] 列にマップします。
- [月] プロパティを [EnglishMonthName] 列にマップします。
- [日付] プロパティを [FullDateAlternateKey] 列にマップします。
次の図は、ウィザードで上記の列をマッピングしたところを示しています。
[次へ] をクリックして、ウィザードの次のページに進みます。
[メジャーの選択] ページが開き、ウィザードにより選択されたメジャーが表示されます。ファクト テーブルとして識別されたテーブルのうち、数値データ型の列がメジャーとして選択されています。このレッスンでは、メジャー グループを 1 つだけ定義します。ただし、レッスン 4 では複数のメジャー グループを使用します。
[メジャーの選択] ページで、Internet Sales メジャー グループ内の選択されているメジャーを確認し、以下のメジャーのチェック ボックスをオフにします。
- Promotion Key
- Currency Key
- Sales Territory Key
- Revision Number
ファクト テーブル内で、ディメンションにリンクしていないすべての数値列がメジャーとして選択されます。ただし、上の 4 つの列は実際にはメジャーではありません。最初の 3 つは、ファクト テーブルとディメンション テーブルをリンクするキー値で、この初期段階のキューブでは使用しません。このページでは、メジャー名も変更できます。また、ここでは変更せずにキューブ デザイナで変更することもできます。関連トピック : 「メジャーの定義と構成」
次の図は、[メジャーの選択] ページで一部のメジャーが選択され、他のチェック ボックスがオフになっている様子を示します。
[次へ] をクリックします。
このウィザードの前のページで [自動構築] オプションを選択したので、階層が自動的にスキャンされます。このとき、ディメンション テーブルとして定義したテーブルの各列のレコードが抽出され、列間に階層リレーションシップが存在するかどうかがチェックされます。階層リレーションシップは多対一のリレーションシップです。たとえば、都市 (City) と州 (State) の関係がこれにあたります。
ディメンションのスキャンと階層の検出が完了したら、[階層を検出しています] ページで [次へ] をクリックします。
[新しいディメンションの確認] ページで、3 つのディメンションのディメンション階層の構造を確認します。ツリーを展開すると、ウィザードが検出した各ディメンションの階層と属性が表示されます。
次の図は、[新しいディメンションの確認] ページの 3 つのディメンションを示します。
[Product] ディメンションを展開し、[属性] を展開して、[Large Photo] のチェック ボックスをオフにします。[次へ] をクリックします。
このチュートリアル プロジェクトのキューブでは Large Photo 列を使用しません。また、多くのディスク容量を消費する可能性があるので、キューブから削除しておくほうがよいでしょう。
[ウィザードの完了] ページで、[キューブ名] ボックスに「Analysis Services Tutorial」と入力します。このページでは、キューブのメジャー グループ、メジャー、ディメンション、階層、および属性をプレビューすることもできます。
[完了] をクリックしてウィザードを終了します。
ソリューション エクスプローラで、Analysis Services Tutorial プロジェクトの [キューブ] フォルダ内に Analysis Services Tutorial キューブが表示されます。また、[ディメンション] フォルダの下には、3 つのデータベース ディメンションが表示されます。さらに、開発環境の中央のキューブ デザイナには Analysis Services Tutorial キューブが表示されます。データ ソース ビュー デザイナも、Business Intelligence Development Studio の別のタブに開きます。
キューブ内のディメンション テーブルとファクト テーブルをすべて表示できるよう、キューブ デザイナのツール バーで、ズーム レベルを 50% に変更します。
次の図は、デザイナに表示されているディメンション テーブルとファクト テーブルです。ファクト テーブルは黄色、ディメンション テーブルは青で表示されています。
BI Development Studio の [ファイル] メニューまたはツール バーで、[すべてを保存] をクリックします。
Analysis Services Tutorial プロジェクトに対するこの時点までの変更が保存されました。ここでチュートリアルを終了しても、後でこの続きから再開できます。
ここでは、初期段階のキューブを定義しました。キューブ ウィザードを使用すれば、単純なキューをすばやく簡単に定義できます。
このレッスンの次の作業
参照
その他の技術情報
キューブとキューブのプロパティの定義および構成
ディメンション、属性、階層の定義と構成
キューブ ウィザードを使用したキューブ、ディメンション、階層、属性の定義