キューブ内のディメンションの使いやすさと機能を向上させるさまざまな方法があります。 このトピックのタスクでは、Customer ディメンションを変更します。
属性の名前変更
属性名は、ディメンション デザイナーの [ ディメンション構造 ] タブで変更できます。
属性の名前を変更するには
SQL Server Data Tools (SSDT) で Customer ディメンションのために ディメンションデザイナー に切り替えます。 これを行うには、ソリューション エクスプローラーの [ディメンション] ノードで Customerディメンション をダブルクリックします。
[ 属性 ] ウィンドウで、[ 英語の国の地域名] を右クリックし、[ 名前の変更] をクリックします。 属性の名前を
Country-Region
に変更します。同じ方法で、次の属性の名前を変更します。
英語教育 属性 -
Education
に変更英語での職業 属性を
Occupation
に変更する都道府県名 属性 - に変更
State-Province
[ファイル] メニューの [すべてを保存] をクリックします。
階層の作成
[ 属性] ペイン から [階層] ペインに属性をドラッグすることで、新しい 階層 を作成できます。
階層を作成するには
Country-Region
属性を [属性] ペインから [階層] ペインにドラッグします。State-Province
属性を [属性] ウィンドウから [階層] ウィンドウのCountry-Region
レベルの下にある [<新しいレベル> セルにドラッグします。属性 ウィンドウから City 属性を、
State-Province
レベルの下にある <新しいレベル> セル内の 階層 ウィンドウにドラッグします。[ディメンション構造] タブの [階層] ウィンドウで、階層階層のタイトル バーを右クリックし、[名前の変更] を選択して、「
Customer Geography
」と入力します。階層の名前が
Customer Geography
されました。[ファイル] メニューの [すべてを保存] をクリックします。
名前付き計算の追加
名前付き計算 (計算列として表される SQL 式) をデータ ソース ビューのテーブルに追加できます。 式が表示され、テーブル内の列として動作します。 名前付き計算を使用すると、基になるデータ ソースのテーブルを変更せずに、データ ソース ビュー内の既存のテーブルのリレーショナル スキーマを拡張できます。 詳細については、「データ ソース ビューでの名前付き計算の定義 (Analysis Services)」を参照してください。
名前付き計算を追加するには
Adventure Works DW 2012 データ ソース ビューを開くには、ソリューション エクスプローラーの [ データ ソース ビュー ] フォルダーでダブルクリックします。
左側の [テーブル ] ウィンドウで、[ 顧客] を右クリックし、[ 新しい名前付き計算] をクリックします。
[名前付き計算の作成] ダイアログ ボックスで、[
FullName
] ボックスに「」と入力し、次のCASE
ステートメントを入力するか、コピーして [式] ボックスに貼り付けます。CASE WHEN MiddleName IS NULL THEN FirstName + ' ' + LastName ELSE FirstName + ' ' + MiddleName + ' ' + LastName END
CASE
ステートメントでは、FirstName、MiddleName、LastName の各列を、Customer 属性の表示名として Customer ディメンションで使用する 1 つの列に連結します。[OK] をクリックし、[テーブル] ウィンドウで [顧客] を展開します。
名前付き計算
FullName
、Customer テーブルの列の一覧に、名前付き計算であることを示すアイコンが表示されます。[ファイル] メニューの [すべてを保存] をクリックします。
[テーブル] ウィンドウで、[顧客] を右クリックし、[データの探索] をクリックします。
[顧客テーブルの探索] ビューの最後の列を確認します。
FullName
列がデータ ソース ビューに表示され、基になるデータ ソースの複数の列のデータが、元のデータ ソースを変更せずに正しく連結されていることに注意してください。[ 顧客テーブルの探索 ] タブを閉じます。
メンバー名の名前付き計算の使用
データ ソース ビューで名前付き計算を作成したら、名前付き計算を属性のプロパティとして使用できます。
メンバー名に対して名前付き計算を使用するには
ディメンション デザイナーに切り替えて、Customer ディメンションを選択します。
[ディメンション構造] タブの [属性] ペインで、[顧客キー] 属性をクリックします。
[プロパティ] ウィンドウを開き、タイトル バーの [自動非表示 ] ボタンをクリックして開いたままにします。
[ 名前 ] プロパティ フィールドに、「
Full Name
」と入力します。下部にある NameColumn プロパティ フィールドをクリックし、参照 (...) ボタンをクリックして [ 名前列] ダイアログ ボックスを開きます。
ソース
FullName
の一覧の下部にあるを選択し、[OK] をクリックします。ディメンション構造タブで、
Full Name
属性を[属性]ペインから[階層]ペインの[<新しいレベル>]セル内のCityレベルの下にドラッグします。[ファイル] メニューの [すべてを保存] をクリックします。
表示フォルダーの定義
表示フォルダーを使用すると、ユーザー階層と属性階層をフォルダー構造にグループ化して使いやすさを高めることができます。
表示フォルダーを定義するには
Customer ディメンションの [ ディメンション構造 ] タブを開きます。
[ 属性 ] ウィンドウで、Ctrl キーを押しながら各属性をクリックして、次の属性を選択します。
都市
Country-Region
郵便番号
State-Province
[プロパティ] ウィンドウで、上部にある AttributeHierarchyDisplayFolder プロパティ フィールドをクリックし (完全な名前を表示するには、それをポイントする必要がある場合があります)、
Location
入力します。[階層] ウィンドウで [
Customer Geography
] をクリックし、右側の [プロパティ] ウィンドウで、DisplayFolder プロパティの値としてLocation
を選択します。[ 属性 ] ウィンドウで、Ctrl キーを押しながら各属性をクリックして、次の属性を選択します。
通勤距離
Education
ジェンダー
ハウスオーナーフラグ
夫婦の状態
所有車両数
自宅で子の数を増やす
Occupation
子の合計数
年収
[プロパティ] ウィンドウで、上部にある AttributeHierarchyDisplayFolder プロパティ フィールドをクリックし、「
Demographic
」と入力します。[ 属性 ] ウィンドウで、Ctrl キーを押しながら各属性をクリックして、次の属性を選択します。
メール アドレス
電話
[プロパティ] ウィンドウで、[ AttributeHierarchyDisplayFolder ] プロパティ フィールドをクリックし、「
Contacts
」と入力します。[ファイル] メニューの [すべてを保存] をクリックします。
複合キー列の定義
KeyColumns プロパティには、属性のキーを表す列が含まれています。 このレッスンでは、 City 属性と State-Province
属性の複合キーを作成します。 複合キーは、属性を一意に識別する必要がある場合に役立ちます。 たとえば、このチュートリアルの後半で属性リレーションシップを定義する場合、 City 属性は State-Province
属性を一意に識別する必要があります。 ただし、異なる州に同じ名前の都市が複数存在する可能性があります。 このため、City 属性の StateProvinceName 列と City 列で構成される複合キーを作成します。 詳細については、「 属性の KeyColumn プロパティを変更する」を参照してください。
City 属性の複合 KeyColumns を定義するには
Customer ディメンションの [ ディメンション構造 ] タブを開きます。
[属性]ウィンドウでCityという属性をクリックします。
[ プロパティ ] ウィンドウで、下部付近の [KeyColumns ] フィールドをクリックし、参照ボタン (...) をクリックします。
[ キー列 ] ダイアログ ボックスの [ 使用可能な列 ] ボックスの一覧 で、StateProvinceName 列を選択し、[ > ] ボタンをクリックします。
City 列と StateProvinceName 列が [キー列] リストに表示されるようになりました。
OK をクリックします。
City 属性の NameColumn プロパティを設定するには、[プロパティ] ウィンドウの [NameColumn] フィールドをクリックし、参照 (...) ボタンをクリックします。
[ 名前列 ] ダイアログ ボックスの [ ソース列 ] ボックスの一覧で [ 市区町村] を選択し、[OK] をクリック します。
[ファイル] メニューの [すべてを保存] をクリックします。
State-Province 属性に対して複合キー列を定義するには
顧客ディメンションの [ ディメンション構造 ] タブが開いていることを確認します。
[属性] ペインで、
State-Province
属性をクリックします。[ プロパティ ] ウィンドウで、 KeyColumns フィールドをクリックし、参照ボタン (...) をクリックします。
[ キー列 ] ダイアログ ボックスの [ 使用可能な列 ] ボックスの一覧で、 列 EnglishCountryRegionName を選択し、[ > ] ボタンをクリックします。
EnglishCountryRegionName 列と StateProvinceName 列が [キー列] リストに表示されるようになりました。
OK をクリックします。
State-Province
属性の NameColumn プロパティを設定するには、[プロパティ] ウィンドウの [NameColumn] フィールドをクリックし、参照ボタン (...) をクリックします。[ 名前列 ] ダイアログ ボックスの [ ソース列 ] ボックスの一覧 で[StateProvinceName] を選択し、[OK] をクリック します。
[ファイル] メニューの [すべてを保存] をクリックします。
属性リレーションシップの定義
基になるデータでサポートされている場合は、属性間の属性リレーションシップを定義する必要があります。 属性リレーションシップを定義すると、ディメンション、パーティション、クエリの処理が高速化されます。 詳細については、「属性リレーションシップと属性リレーションシップの定義」を参照してください。
属性リレーションシップを定義するには
Customer ディメンションのディメンション デザイナーで、[属性リレーションシップ] タブをクリックします。しばらくお待ちください。
ダイアグラムで、 City 属性を右クリックし、[ 新しい属性リレーションシップ] をクリックします。
[ 属性リレーションシップの作成 ] ダイアログ ボックスの [ソース属性 ] は [市区町村] です。 [関連属性] を [
State-Province
に設定します。[ リレーションシップの種類 ] の一覧で、リレーションシップの種類を [固定] に設定します。
リレーションシップの種類は Rigid です。メンバー間のリレーションシップは時間の経過と同時に変化しないためです。 たとえば、都市が別の州または州の一部になるのは珍しいでしょう。
OK をクリックします。
ダイアグラムで、
State-Province
属性を右クリックし、[ 新しい属性リレーションシップ] を選択します。[ 属性リレーションシップの作成 ] ダイアログ ボックスで、[ ソース属性 ] が
State-Province
。 [関連属性] を [Country-Region
に設定します。[ リレーションシップの種類 ] の一覧で、リレーションシップの種類を [固定] に設定します。
OK をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
変更の配置、オブジェクトの処理、および変更の表示
属性と階層を変更したら、変更を表示する前に、変更をデプロイし、関連オブジェクトを再処理する必要があります。
変更をデプロイするには、オブジェクトを処理し、変更を表示します
SQL Server Data Tools の [ビルド ] メニューで、[ Analysis Services チュートリアルの展開] をクリックします。
[配置が正常に完了しました] メッセージが表示されたら、Customer ディメンションのディメンション デザイナーの [ブラウザー] タブをクリックし、デザイナーのツール バーの左側にある [再接続] ボタンをクリックします。
[階層] の一覧で
Customer Geography
が選択されていることを確認し、ブラウザー ウィンドウで [すべて] を展開し、[オーストラリア] を展開し、[ニュー サウス ウェールズ] を展開して、[コフ港] を展開します。ブラウザーには、市内の顧客が表示されます。
Analysis Services チュートリアルのキューブを キューブ デザイナー に切り替えてください。 これを行うには、ソリューション エクスプローラーの [キューブ] ノードで Analysis Services チュートリアルキューブをダブルクリックします。
[ ブラウザー ] タブをクリックし、デザイナーのツール バーの [再接続] ボタンをクリックします。
[メジャー グループ] ペインで、[顧客] を展開します。
属性の長いリストの代わりに、表示フォルダーと表示フォルダーの値を持たない属性のみが Customer の下に表示されることに注意してください。
[ファイル] メニューの [すべてを保存] をクリックします。
このレッスンの次の作業
こちらもご覧ください
ディメンション属性プロパティリファレンス
ディメンションから属性を削除する
属性の名前を変更する
データ ソース ビューでの名前付き計算の定義 (Analysis Services)