Product ディメンションの変更
このトピックの実習では、名前付き計算を使用して製品ラインにわかりやすい名前を指定し、Product ディメンションに階層を定義して、その階層の (All) メンバ名を指定します。また、属性をグループ化して別々の表示フォルダに格納します。
名前付き計算の追加
データ ソース ビューで名前付き計算をテーブルに追加できます。次の実習では、製品ラインの完全な名前を表示する名前付き計算を作成します。
名前付き計算を追加するには
Adventure Works DW データ ソース ビューを開きます。それには、ソリューション エクスプローラの [データ ソース ビュー] フォルダでこのデータ ソース ビューをダブルクリックします。
ダイアグラム ペインで [Product] テーブルを右クリックし、[新しい名前付き計算] をクリックします。
[名前付き計算の作成] ダイアログ ボックスで、[列名] ボックスに「ProductLineName」と入力します。
[式] ボックスに、次の CASE ステートメントを入力します。
CASE ProductLine WHEN 'M' THEN 'Mountain' WHEN 'R' THEN 'Road' WHEN 'S' THEN 'Accessory' WHEN 'T' THEN 'Touring' ELSE 'Components' END
この CASE ステートメントは、キューブ内の各製品ラインにわかりやすい名前を付けるためのものです。
[OK] をクリックすると、ProductLineName 名前付き計算が作成されます。
[ファイル] メニューの [すべてを保存] をクリックします。
属性の NameColumn プロパティの変更
属性の NameColumn プロパティ値を変更するには
Product ディメンションのディメンション デザイナに切り替えます。これを行うには、ソリューション エクスプローラの [ディメンション] ノードで [Product] ディメンションをダブルクリックします。
[ディメンション構造] タブの [属性] ペインで、[Product Line] をクリックします。
[プロパティ] ウィンドウで、[NameColumn] プロパティ フィールド内をクリックし、参照ボタン ([...]) をクリックして、[名前列] ダイアログ ボックスを開きます。
[基になる列] ボックスの一覧で [ProductLineName] を選択し、[OK] をクリックします。
NameColumn フィールドに、テキスト "Product.ProductLineName (WChar)" が表示されるようになりました。これで、Product Line 属性階層のメンバが、簡略名ではなく製品ラインの完全な名前で表示されるようになりました。
[ディメンション構造] タブの [属性] ペインで、[Product Key] をクリックします。
[プロパティ] ウィンドウで、[NameColumn] プロパティ フィールド内をクリックし、参照ボタン ([...]) をクリックして、[名前列] ダイアログ ボックスを開きます。
[基になる列] ボックスの一覧で [EnglishProductName] を選択し、[OK] をクリックします。
NameColumn フィールドに、テキスト "Product.EnglishProductName (WChar)" が表示されるようになりました。
[プロパティ] ウィンドウで、Product Key 属性の Name プロパティの値を、Product Name に変更します。
階層の作成
階層を作成するには
[属性] ペインの [Product Line] 属性を [階層] ペインにドラッグします。
[属性] ペインの [Model Name] 属性を、[階層] ペインの [<新しいレベル>] セル ([Product Line] レベルの下) にドラッグします。
[属性] ペインの [Product Name] 属性を、[階層] ペインの [<新しいレベル>] セル ([Model Name] レベルの下) にドラッグします。
[ディメンション構造] タブの [階層] ペインで、[Hierarchy] 階層のタイトル バーを右クリックし、[名前の変更] を選択して「Product Model Lines」と入力します。
この階層の名前が Product Model Lines になりました。
[ファイル] メニューの [すべてを保存] をクリックします。
フォルダ名およびすべてのメンバ名の指定
フォルダ名とメンバ名を指定するには
[属性] ペインで、Ctrl キーを押しながら次の各属性をクリックして選択します。
Class
Color
Days To Manufacture
Reorder Point
Safety Stock Level
Size
Size Range
Style
Weight
[プロパティ] ウィンドウで、[AttributeHierarchyDisplayFolder] プロパティ フィールドに「Stocking」と入力します。
上記の属性をグループ化し、1 つの表示フォルダに表示されるようにしました。
[属性] ペインで、次の属性を選択します。
Dealer Price
List Price
Standard Cost
[プロパティ] ウィンドウで、AttributeHierarchyDisplayFolder プロパティのセルに「Financial」と入力します。
上記の属性をグループ化し、別の表示フォルダに表示されるようにしました。
[属性] ペインで、次の属性を選択します。
End Date
Start Date
Status
[プロパティ] ウィンドウで、AttributeHierarchyDisplayFolder プロパティのセルに「History」と入力します。
上記の属性をグループ化し、3 番目の表示フォルダに表示されるようにしました。
[階層] ペインで [Product Model Lines] 階層をクリックします。次に、[プロパティ] ウィンドウで、AllMemberName プロパティを All Products に変更します。
[階層] ペイン内の空いている領域をクリックします。次に、AttributeAllMemberName プロパティを All Products に変更します。
空いている領域をクリックすると、Product ディメンション自体のプロパティを変更できます。[属性] ペインの属性リストの上にある Product ディメンションのアイコンをクリックすることもできます。
[ファイル] メニューの [すべてを保存] をクリックします。
属性リレーションシップの定義
基になるデータで属性リレーションシップがサポートされる場合、属性間の属性リレーションシップを定義する必要があります。属性リレーションシップを定義すると、ディメンション、パーティション、およびクエリの処理速度が上がります。詳細については、「属性リレーションシップの定義」および「属性リレーションシップ」を参照してください。
属性リレーションシップを定義するには
Product ディメンションのディメンション デザイナで、[属性リレーションシップ] タブをクリックします。
ダイアグラムで、[Model Name] 属性を右クリックし、[新しい属性リレーションシップ] をクリックします。
[属性リレーションシップの作成] ダイアログ ボックスで、[基になる属性] に [Model Name] を指定します。[関連属性] を [Product Line] に設定します。
時間が経過するとメンバ間のリレーションシップが変化する可能性があるため、[リレーションシップの種類] ボックスの一覧で、リレーションシップの種類の設定は [可変] のままにします。たとえば、製品モデルが最終的に別の製品ラインに移動される場合があります。
[OK] をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
Product ディメンションの変更の確認
Product ディメンションの変更を確認するには
Business Intelligence Development Studio で、[ビルド] メニューの [Analysis Services Tutorial の配置] をクリックします。
"配置が正常に完了しました" というメッセージが表示されたら、Product ディメンションのディメンション デザイナの [ブラウザ] タブをクリックし、ディメンション デザイナのツール バーにある再接続アイコンをクリックします。
[階層] ボックスで [Product Model Lines] が選択されていることを確認し、[All Products] を展開します。
All メンバの名前が "All Products" と表示されています。これは、このレッスンの前の手順で、この階層の AllMemberName プロパティを All Products に変更したためです。また、Product Line レベルのメンバ名が、1 文字の簡略名から、わかりやすい名前に変わりました。