Customer ディメンションの変更
キューブのディメンションの使いやすさと機能性を向上させる方法は数多くあります。このトピックの実習では、不要な属性を削除し、属性およびユーザー定義階層の名前を変更し、ユーザー定義階層プロパティを変更し、データ ソース ビューの新しい名前付き計算に基づいて属性名にわかりやすい名前を付けることによって Customer ディメンションを変更します。以上の変更を配置し、変更したオブジェクトを処理します。最後に、ディメンションを表示して変更を確認します。
使用されていない属性の削除
Customer ディメンションには、初期状態の Analysis Services Tutorial キューブでは使用されていない属性があります。このような属性は削除できます。詳細については、「ディメンションからの属性の削除」を参照してください。
使用されていない属性を削除するには
Business Intelligence Development Studio で、Customer ディメンションのディメンション デザイナに切り替え、[ディメンション構造] タブをクリックします。
[属性] ペインで次の属性を選択し、削除します。
- Address Line1
- Address Line2
- Country Region Code
- Customer Alternate Key
- First Name
- French Country Region Name
- French Education
- French Occupation
- Last Name
- Middle Name
- Name Style
- Sales Territory Key
- Spanish Country Region Name
- Spanish Education
- Spanish Occupation
- State Province Code
- Suffix
- Title
ユーザー定義階層および属性プロパティの変更
ディメンションの不要な属性を削除するだけでなく、属性名の変更、ユーザー定義階層への属性の追加、およびユーザー定義階層からの属性の削除を行うことができます。既定では、ユーザー定義階層内のレベルには、その基礎となっている属性と同じ名前が付けられています。基となる属性の名前は変更せずに、この階層レベルの名前を変更することができます。
ユーザー定義階層および属性プロパティを変更するには
[属性] ペインで [English Country Region Name] を右クリックし、[名前の変更] をクリックします。この属性の名前を「Country-Region」に変更します。
レッスン 9 では、キューブおよびディメンションのメタデータの変換値を定義する方法を学習します。たとえば、メタデータごとに表示されるこの値を、クライアント アプリケーションに指定されている言語で表示するように変更することができます。
同様に、次の属性の名前も変更します。
- English Education 属性を Education に変更
- English Occupation 属性を Occupation に変更
- State Province Name 属性を State-Province に変更
[ディメンション構造] タブの [階層とレベル] ペインで、[State Province Name – Geography] 階層をクリックします。[プロパティ] ウィンドウで、このユーザー階層の Name プロパティを Customer Geography に変更します。
このユーザー階層の名前が Customer Geography になりました。
[属性] ペインの [Country-Region] 属性を、[Customer Geography] ユーザー階層の [State Province Name] レベルの上までドラッグします。
Customer Geography ユーザー階層に Country-Region レベルが追加されました。
Customer Geography ユーザー階層で、[State Province Name] レベルの名前を「State-Province」に変更します。
[属性] ペインの [City] 属性を、[Customer Geography] ユーザー階層の [Customer] レベルの上までドラッグします。
Customer Geography ユーザー階層に City レベルが追加されました。
Customer Geography ユーザー定義階層の Geography を削除します。
次の図は、これまでの変更内容を反映した属性、階層、レベルを示しています。
名前付き計算の追加
名前付き計算 (計算列として表される SQL 式) をデータ ソース ビューに追加できます。この式は、テーブルの列として表示され、動作します。名前付き計算を作成するときは、名前と SQL 式を指定します。名前付き計算により、基になるデータ ソースのテーブルを変更せずに、データ ソース ビューの既存のテーブルのリレーショナル スキーマを拡張できます。関連トピック : データ ソース ビューでの名前付き計算の定義 (Analysis Services)
名前付き計算を追加するには
BI Development Studio でデータ ソース ビュー デザイナに切り替え、Adventure Works DW を表示します (データ ソース ビューが BI Development Studio のタブとして 1 つでも開いていない場合は、ソリューション エクスプローラの [データ ソース ビュー] フォルダにあるデータ ソース ビューをダブルクリックします)。
[テーブル] ペインで Customer を右クリックし、[新しい名前付き計算] をクリックします。
[名前付き計算の作成] ダイアログ ボックスの [列名] ボックスに「FullName」と入力します。次に、[式] ボックスに次の CASE ステートメントを入力します。
CASE WHEN MiddleName IS NULL THEN FirstName + ' ' + LastName ELSE FirstName + ' ' + MiddleName + ' ' + LastName END
この CASE ステートメントは、FirstName 列、MiddleName 列、および LastName 列を連結して 1 つの列に表示します。この列に表示される名前が Customer 属性の表示名となります。
次の図は、[名前付き計算の作成] ダイアログ ボックスです。
[OK] をクリックします。次に、[テーブル] ペインで Customer を展開します。
FullName 名前付き計算が Customer テーブルの一覧に表示されます。そのアイコンは、FullName が名前付き計算であることを示しています。
[テーブル] ペインで Customer (dbo.DimCustomer) を右クリックし、[データの探索] をクリックします。
[DimCustomer テーブルの探索] ビューで、最後の列を確認します。
データ ソース ビューに [FullName] 列が表示されています。元のデータ ソースは変更されずに、データ ソースから取得された複数の列のデータが適切に連結されています。
[DimCustomer テーブルの探索] ビューを閉じます。
メンバ名に対応する名前付き計算の使用
データ ソース ビューで名前付き計算を作成したら、その名前付き計算を属性のプロパティ (NameColumn プロパティなど) として使用できます。その後、属性名をわかりやすい名前に変更することによって、属性の使いやすさを向上させることができます。
メンバ名に対応する名前付き計算を使用するには
Customer ディメンションのディメンション デザイナに切り替え、[ディメンションの構造] タブの [属性] ペインで Customer 属性階層をクリックします。
クリックするのは、[属性] ペイン Customer ディメンション オブジェクトではなく、Customer 属性階層です。
[プロパティ] ウィンドウで、Name プロパティを Full Name に変更します。
NameColumn プロパティ コレクションを展開し、Source プロパティ コレクションを展開します。次に、ColumnID プロパティを EmailAddress から FullName に変更します。
Customer 属性階層の各メンバの名前、および Customer Geography ユーザー階層の Customer レベルの各メンバ名は、顧客の電子メール アドレスから顧客の氏名に変わります。この変更を配置し、ディメンションとキューブを処理すると、変更が画面に反映されます。
次の図は、Customer 属性階層および ColumnID が FullName に変更された様子を示しています。
[Customer Geography] ユーザー階層で、最下位レベルの名前を Customer から Full Name に変更します。
属性の名前を変更しても、その属性に基づく階層のレベル名は変更されません。また、[階層とレベル] ペインでレベル名を変更しても、基となる属性の名前は変更されません。
属性の追加と表示フォルダの定義
表示フォルダを使用して、ユーザー階層と属性階層をフォルダ構造内にグループ化することができます。これにより、ディメンションとキューブを表示するときに、ユーザー階層および属性階層の使いやすさが向上します。表示フォルダは、ユーザー階層と属性階層の両方を格納できます。
属性を追加し、表示フォルダを定義するには
Customer ディメンションの [ディメンション構造] タブで、[データ ソース ビュー] ペインの Customer テーブルにある EmailAddress 列をクリックし、[属性] ペインにドラッグします。
これにより、Email Address 属性階層が作成されます。
[属性] ペインで、Ctrl キーを押しながら以下の複数の属性を選択します。次に、[プロパティ] ウィンドウで、選択した属性の AttributeHierarchyDisplayFolder プロパティを Location に変更します。
- City
- Country-Region
- Postal Code
- State-Province
[階層とレベル] ペインで、Customer Geography をクリックします。次に、[プロパティ] ウィンドウで、DisplayFolder プロパティの値として Location をクリックします。
[属性] ペインで、Ctrl キーを押しながら以下の複数の属性を選択します。次に、選択した属性の AttributeHierarchyDisplayFolder プロパティを Demographic に変更します。
- Commute Distance
- Education
- Gender
- House Owner Flag
- Marital Status
- Number Cars Owned
- Number Children At Home
- Occupation
- Total Children
- Yearly Income
次の図は、[属性] ペインでこれらの属性が選択されている様子です。
[属性] ペインで、Ctrl キーを押しながら以下の複数の属性を選択します。次に、選択した属性の AttributeHierarchyDisplayFolder プロパティを Contacts に変更します。
- Email Address
- Phone
オブジェクトの配置、変更、処理、および変更内容の表示
属性と階層を変更したら、変更を表示する前に変更を配置し、関連するオブジェクトを再処理する必要があります。
変更の配置、オブジェクトの処理、および変更の表示を行うには
BI Development Studio で、[ビルド] メニューの [Analysis Services Tutorial の配置] をクリックします。
配置が正常に完了したら、Customer ディメンションのディメンション デザイナの [ブラウザ] タブをクリックし、ツール バーの [再接続] をクリックします。
[階層] ボックスで、[Customer Geography] が選択されていることを確認します。次に、ブラウザ ペインで、[All]、[Australia]、[New South Wales]、[Coffs Harbour] の順に展開します。
次の図からわかるように、階層に Country-Region レベルと City レベルが作成されました。また、Customer レベルには、各顧客の電子メールの代わりに氏名が表示されています。
Analysis Services Tutorial キューブのキューブ デザイナに切り替え、[ブラウザ] タブをクリックし、ツール バーの [再接続] をクリックします。
メタデータ ペインで [Customer] を展開します。
[Customer] の下には、属性階層とユーザー階層がずらっと表示される代わりに、表示フォルダが表示されています。表示フォルダ値が割り当てられていない階層はそのまま表示されます。
次の図のように、この表示フォルダには 4 つの属性階層と 1 つのユーザー階層があります。
[Location] 表示フォルダを展開します。
ここでチュートリアルを切り上げても途中から再開できるよう、BI Development Studio の [ファイル] メニューまたはツール バーで、[すべてを保存] をクリックします。
階層名と階層レベルを変更することにより、Analysis Services Tutorial キューブの Customer ディメンションが使いやすくなりました。使いやすさを向上させる工夫は他にもあります。使用されていない属性を削除し、姓、ミドル ネーム、名前を連結して 1 つの列に表示しました。また、この名前付き計算に基づく属性を定義し、新しい属性をユーザー階層で使用できるようにしました。最後に、複数のユーザー階層と属性階層を表示フォルダ内にグループ化することによって、より使いやすくなりました。
このレッスンの次の作業
参照
その他の技術情報
ディメンションと属性の定義および構成
ディメンションからの属性の削除
属性名の変更
データ ソース ビューでの名前付き計算の定義 (Analysis Services)