次の方法で共有


メジャーグループ内のディメンション粒度の定義

ユーザーは、目的ごとに異なる粒度または特定性でファクト データをディメンション化する必要があります。 たとえば、リセラーまたはインターネットの売上の売上データは毎日記録されますが、販売クォータ情報は月または四半期レベルでのみ存在する場合があります。 これらのシナリオでは、ユーザーは、これらの異なるファクト テーブルごとに異なる粒度または詳細レベルの時間ディメンションが必要になります。 この異なるグレインを使用して新しいデータベース ディメンションを時間ディメンションとして定義することもできますが、Analysis Services では簡単な方法があります。

Analysis Services の既定では、ディメンションがメジャー グループ内で使用される場合、そのディメンション内のデータのグレインはディメンションのキー属性に基づきます。 たとえば、時間ディメンションがメジャー グループ内に含まれていて、時間ディメンションの既定のグレインが日単位である場合、メジャー グループ内のそのディメンションの既定のグレインは日単位です。 これは、このチュートリアルの Internet Sales メジャー グループや Reseller Sales メジャー グループなど、多くの場合に適しています。 ただし、このような次元が他の種類のメジャーグループ(販売クォータや予算メジャーグループなど)に含まれている場合は、通常、月単位または四半期単位の粒度の方が適しています。

既定のグレイン以外のキューブ ディメンションのグレインを指定するには、キューブ デザイナーの [ディメンション使用法] タブで、特定のメジャー グループ内で使用されるキューブ ディメンション の粒度属性を変更します。 特定のメジャー グループ内のディメンションのグレインを、そのディメンションのキー属性以外の属性に変更する場合は、メジャー グループ内の他のすべての属性が新しい粒度属性に直接または間接的に関連付けられていることを保証する必要があります。 これを行うには、他のすべての属性と、メジャー グループの粒度属性として指定されている属性の間に属性リレーションシップを指定します。 この場合は、属性リレーションシップを移動するのではなく、追加の属性リレーションシップを定義します。 粒度属性として指定された属性は、ディメンション内の残りの属性のメジャー グループ内のキー属性になります。 属性リレーションシップを適切に指定しないと、このトピックのタスクに示すように、Analysis Services は値を正しく集計できません。

詳細については、「 ディメンション リレーションシップ」、「 通常のリレーションシップの定義」、および「通常のリレーションシップのプロパティ」を参照してください。

このトピックのタスクでは、Sales Quotas メジャー グループを追加し、このメジャー グループの Date ディメンションの粒度を月単位に定義します。 次に、月属性と他のディメンション属性の間に属性リレーションシップを定義して、Analysis Services が値を正しく集計できるようにします。

テーブルの追加と販売ノルマメジャーグループの定義

  1. Adventure Works DW 2012 データ ソース ビューに切り替えます。

  2. ダイアグラム オーガナイザー ウィンドウ内の任意の場所を右クリックし、[新しいダイアグラム] をクリックし、ダイアグラムにSales Quotas名前を付けます。

  3. EmployeeSales TerritoryDate テーブルを テーブル ペインから ダイアグラム ペインにドラッグします。

  4. [ダイアグラム] ウィンドウ内の任意の場所を右クリックし、[テーブルの追加と削除] を選択して、FactSalesQuota テーブルをダイアグラム ペインに追加します

    SalesTerritory テーブルが、Employee テーブルを介して FactSalesQuota テーブルにリンクされていることに注意してください。

  5. FactSalesQuota テーブルの列を確認し、このテーブルのデータを調べる。

    このテーブルのデータの粒度はカレンダー四半期であり、FactSalesQuota テーブルで最も詳細なレベルであることに注意するようにしてください。

  6. データ ソース ビュー デザイナーで、FactSalesQuota テーブルの FriendlyName プロパティをSalesQuotasに変更します。

  7. Analysis Services チュートリアル キューブに切り替えて、[ キューブ構造 ] タブをクリックします。

  8. [メジャー] ウィンドウ内の任意の場所を右クリックし、[新しいメジャー グループ] をクリックし、[新しいメジャー グループ] ダイアログ ボックスの [SalesQuotas] をクリックして、[OK] をクリックします。

    Sales Quotasメジャー グループが [メジャー] ペインに表示されます。 [ディメンション] ウィンドウで、Date データベース ディメンションに基づいて、新しいDateキューブ ディメンションも定義されていることに注目してください。 Sales Quotas メジャー グループの基になる FactSalesQuota ファクト テーブルの DateKey 列に関連する既存の時間関連キューブ ディメンションが Analysis Services で認識されないため、新しい時間関連キューブ ディメンションが定義されます。 これは、このトピックの別のタスクで後ほど変更します。

  9. Sales Quotas測定グループを展開します。

  10. [メジャー] ウィンドウで [Sales Amount Quota] を選択し、[プロパティ] ウィンドウで FormatString プロパティの値を [通貨] に設定します。

  11. Sales Quotas Count メジャーを選択し、[プロパティ] ウィンドウの FormatString プロパティの値として「#,#」と入力します。

  12. Sales Quotasメジャー グループからカレンダー四半期メジャーを削除します。

    Analysis Services によって、カレンダー四半期のメジャーを基にしている列が、メジャーを含む列として検出されました。 ただし、この列と CalendarYear 列には、このトピックで後述する Date ディメンションに Sales Quotas メジャー グループをリンクするために使用する値が含まれています。

  13. [ メジャー ] ウィンドウで、 Sales Quotas メジャー グループを右クリックし、[ 新しいメジャー] をクリックします。

    [新しいメジャー] ダイアログ ボックスが開き、使用タイプが 合計 のメジャーで使用できるソース列が表示されます。

  14. [新しいメジャー] ダイアログ ボックスで、[使用状況] の一覧で [個別のカウント] を選択し、[ソース] テーブルの一覧でSalesQuotasが選択されていることを確認し、[ソース] 列の一覧で [EmployeeKey] を選択して、[OK] をクリックします。

    メジャーが Sales Quotas 1 という名前の新しいメジャー グループに作成されていることに注意してください。 SQL Server の個別のカウント メジャーは、処理パフォーマンスを最大化するために、独自のメジャー グループに作成されます。

  15. Name プロパティの値を Sales Person Count に変更し、次にEmployee Key Distinct Count メジャーのFormatStringプロパティの値として「#,#」と入力します。

日付で販売クォータ メジャー グループのメジャーを閲覧する

  1. [ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。

  2. デプロイが正常に完了したら、Analysis Services チュートリアル キューブのキューブ デザイナーの [ ブラウザー ] タブをクリックし、[ 再接続 ] ボタンをクリックします。

  3. Excel ショートカットをクリックし、[ 有効] をクリックします。

  4. ピボットテーブル フィールド リストで、 Sales Quotas メジャー グループを展開し、 Sales Amount Quota メジャーを [値] 領域にドラッグします。

  5. Sales Territory ディメンションを展開し、Sales Territoryes ユーザー定義階層を行ラベルにドラッグします。

    Sales Territory キューブ ディメンションは、次の図に示すように、Fact Sales Quota テーブルに直接または間接的に関連付けされないことに注意してください。

    販売地域キューブディメンション

    このトピックの次の一連の手順では、このディメンションとこのファクト テーブルの間に参照ディメンションリレーションシップを定義します。

  6. Sales Territories ユーザー階層を [行ラベル] 領域から [列ラベル] 領域に移動します。

  7. ピボットテーブル フィールドの一覧で、 Sales Territories ユーザー定義階層を選択し、右側の下矢印をクリックします。

    フィールドリストの販売地域階層

  8. フィルターで[すべて選択]チェックボックスをクリックしてすべての選択をクリアし、[ 北米のみ]を選択します。

    北米を選択するためのフィルターペイン

  9. ピボットテーブル フィールド リストで、 Date展開します。

  10. Date.Fiscal Date ユーザー階層を行ラベルにドラッグする

  11. ピボットテーブルで、[行ラベル] の横にある下矢印をクリックします。 2008 年度を除くすべての年をクリアします。

    2007 年 7 月、2007 年 8 月、20079 月のメンバーではなく、レベルの 2007 年 7 月のメンバーのみが表示され、すべての 31 日間ではなく、Date レベルの 2007 年 7 月 1 日のメンバーのみが表示されることに注意してください。 この動作は、ファクト テーブル内のデータのグレインが四半期レベルにあり、 Date ディメンションのグレインが日次レベルであるために発生します。 この動作は、このトピックの次のタスクで変更します。

    また、月と日のレベルの Sales Amount Quota の値は、四半期レベルの場合と同じ値である $13,733,000.00 であることに注意してください。 これは、Sales Quotas メジャー グループのデータの最下位レベルが四半期レベルであるためです。 この動作はレッスン 6 で変更します。

    次の図は、 Sales Amount Quota の値を示しています。

    売上額ノルマの値

Sales Quotas メジャーグループのディメンション使用プロパティ定義

  1. Employee ディメンションのディメンション デザイナーを開き、[データ ソース ビュー] ウィンドウで SalesTerritoryKey を右クリックし、[列から新しい属性] をクリックします。

  2. [属性] ウィンドウで SalesTerritoryKey を選択し、[プロパティ] ウィンドウで AttributeHierarchyVisible プロパティを False に設定し、AttributeHierarchyOptimizedState プロパティを NotOptimized に設定し、AttributeHierarchyOrdered プロパティを False に設定します。

    この属性は、 Sales Territory ディメンションを参照ディメンションとして Sales Quotas および Sales Quotas 1 メジャー グループにリンクするために必要です。

  3. Analysis Services チュートリアル キューブのキューブ デザイナーで、[ ディメンションの使用状況 ] タブをクリックし、 Sales Quotas および Sales Quotas 1 メジャー グループ内のディメンションの使用状況を確認します。

    Employee キューブ ディメンションと Date キューブ ディメンションが、通常のリレーションシップを介して Sales Quotas と Sales Quotas 1 メジャー グループにリンクされていることに注意してください。 Sales Territory キューブ ディメンションは、これらのメジャー グループのいずれにもリンクされていないことにも注意してください。

  4. Sales Territory ディメンションと Sales Quotas メジャー グループの交差部分にあるセルをクリックし、参照ボタン (...) をクリックします。[リレーションシップの定義] ダイアログ ボックスが開きます。

  5. [ リレーションシップの種類の選択 ] ボックスの一覧で、[ 参照先] を選択します。

  6. [中間ディメンション] リストで、[従業員] を選択します。

  7. [参照ディメンション属性] リストで、[Sales Territory Region] を選択します。

  8. 中間ディメンション属性の一覧で、Sales Territory Key を選択します。 (Sales Territory Region 属性のキー列は SalesTerritoryKey 列です)。

  9. [ 具体化 ] チェック ボックスがオンになっていることを確認します。

  10. OK をクリックします。

  11. Sales Territory ディメンションと Sales Quotas 1 メジャー グループの積集合にあるセルをクリックし、参照ボタン (...) をクリックします。[リレーションシップの定義] ダイアログ ボックスが開きます。

  12. [ リレーションシップの種類の選択 ] ボックスの一覧で、[ 参照先] を選択します。

  13. [中間ディメンション] リストで、[従業員] を選択します。

  14. [参照ディメンション属性] リストで、[Sales Territory Region] を選択します。

  15. 中間ディメンション属性の一覧で、Sales Territory Key を選択します。 (Sales Territory Region 属性のキー列は SalesTerritoryKey 列です)。

  16. [ 具体化 ] チェック ボックスがオンになっていることを確認します。

  17. OK をクリックします。

  18. キューブ ディメンション Date 削除します。

    4 つの時間関連のキューブ ディメンションを持つ代わりに、Sales Quotas メジャー グループの Order Date キューブ ディメンションを、販売クォータのディメンションの対象となる日付として使用します。 このキューブ ディメンションは、キューブのプライマリ日付ディメンションとしても使用します。

  19. [ディメンション] リストで、Order Date キューブ ディメンションの名前を Date に変更します。

    Order Date キューブ ディメンションの名前を Date に変更すると、ユーザーはこのキューブのプライマリ日付ディメンションとしての役割を理解しやすくなります。

  20. ... のボタンをSales Quotasメジャー グループとDateディメンションの交差部分にあるセルでクリックします。

  21. [リレーションシップの定義] ダイアログ ボックスの [リレーションシップの種類の選択] ボックスの一覧で [標準] を選択します。

  22. [粒度] 属性の一覧で、[カレンダー四半期] を選択します。

    非キー属性を粒度属性として選択しているため、他のすべての属性が直接または間接的に粒度属性に関連付けられていることを確認する必要があることを通知する警告が表示されます。その場合は、それらをメンバー プロパティとして指定します。

  23. [リレーションシップの定義] ダイアログ ボックスの [リレーションシップ] 領域で、Date キューブ ディメンションの基になるテーブルの CalendarYear ディメンション列と CalendarQuarter ディメンション列を、Sales Quota メジャー グループの基になるテーブルの CalendarYear 列と CalendarQuarter 列にリンクし、[OK] をクリックします。

    カレンダー 四半期は、Sales Quotas メジャー グループの日付キューブ ディメンションの粒度属性として定義されていますが、Date 属性は引き続きインターネット販売およびリセラー販売メジャー グループの粒度属性です。

  24. Sales Quotas 1 メジャー グループに対して、前の 4 つの手順を繰り返します。

カレンダー四半期属性と日付ディメンションの他のディメンション属性との間の属性リレーションシップの定義

  1. Date ディメンションのディメンション デザイナーに切り替えて、[属性リレーションシップ] タブをクリックします。

    Calendar Year は Calendar Semester 属性を使用して Calendar Quarter にリンクされていますが、会計カレンダー属性は相互にのみリンクされることに注意してください。カレンダー四半期属性にリンクされていないため、Sales Quotasメジャー グループで正しく集計されません。

  2. ダイアグラムで、[ カレンダー四半期 ] 属性を右クリックし、[ 新しい属性リレーションシップ] を選択します。

  3. [ 属性リレーションシップの作成 ] ダイアログ ボックスの [ソース属性 ] は [カレンダー四半期] です関連属性会計四半期に設定します。

  4. OK をクリックします。

    Date ディメンションに 1 つ以上の冗長属性リレーションシップが含まれていることを示す警告メッセージが表示され、キー以外の属性が粒度属性として使用されるときにデータが集計されない可能性があることに注意してください。

  5. Month Name 属性と Fiscal Quarter 属性の間の属性リレーションシップを削除します。

  6. [ファイル] メニューの [すべてを保存] をクリックします。

販売クォータメジャーグループの日付別メジャーを閲覧する

  1. [ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。

  2. 配置が正常に完了したら、Analysis Services チュートリアル キューブのキューブ デザイナーの [ ブラウザー ] タブをクリックし、[ 再接続] をクリックします。

  3. Excel ショートカットをクリックし、[ 有効] をクリックします。

  4. Sales Amount Quota メジャーを [値] 領域にドラッグします。

  5. Sales Territories ユーザー階層を列ラベルにドラッグし、北米でフィルター処理します。

  6. Date.FiscalDate ユーザー階層を行ラベルにドラッグし、ピボットテーブルの [行ラベル] の横にある下矢印をクリックし、2008 年度以外のすべてのチェック ボックスをオフにして、2008 年度のみを表示します。

  7. OKをクリックしてください。

  8. 2008年度を拡大し、H1を2008年度に拡大した後、2008年度第1四半期を拡大する。

    次の図は、Sales Quota 指標が正しくディメンションされた Analysis Services チュートリアル キューブのピボットテーブルを示しています。

    会計四半期レベルの各メンバーの値が四半期レベルと同じであることに注意してください。 例として 2008 年度第 1 四半期を使用すると、2008 年度第 1 四半期の目標額 9,180,000ドルは各メンバーに割り当てられる値でもあります。 この動作は、ファクト テーブル内のデータのグレインが四半期レベルにあり、Date ディメンションのグレインも四半期レベルであるために発生します。 レッスン 6 では、四半期ごとの金額を毎月に比例して割り当てる方法について説明します。

    販売ノルマ測定グループが正しく次元化されている

次のレッスン

レッスン 6: 計算の定義

こちらもご覧ください

ディメンションリレーションシップ
通常のリレーションシップと通常のリレーションシップのプロパティを定義する
データ ソース ビュー デザイナーでのダイアグラムの操作 (Analysis Services)