次の方法で共有


階層 (SSAS テーブル)

表形式モデルの階層は、テーブル内の 2 つ以上の列間のリレーションシップを定義するメタデータです。 階層は、レポート クライアント フィールド リスト内の他の列とは別に表示できるため、クライアント ユーザーが簡単に移動してレポートに含めることができます。

このトピックのセクション:

メリット

テーブルには、通常とは異なる列名を持つ数十または数百の列が順不同で含まれることがあります。 これにより、クライアント フィールド リストのレポートに順序付けされていない外観が発生し、ユーザーがレポート内のデータを見つけて含めるのが困難になる可能性があります。 階層は、それ以外の場合は複雑なデータ構造のシンプルで直感的なビューを提供できます。

たとえば、日付テーブルでは、カレンダー階層を作成できます。 Calendar Year は最上位の親レベルとして使用され、Month、Week、Day は子レベルとして含まれます (Calendar Year->Month->Week->Day)。 この階層には、カレンダーの年から日までの論理リレーションシップが表示されます。 クライアント ユーザーは、フィールド リストからカレンダー年を選択してピボットテーブルのすべてのレベルを含めたり、階層を展開したり、ピボットテーブルに含める特定のレベルのみを選択したりできます。

階層内の各レベルはテーブル内の列の表現であるため、レベルの名前を変更できます。 階層に限定されませんが (表形式モデルでは任意の列の名前を変更できます)、階層レベルの名前を変更すると、ユーザーがレポート内のレベルを簡単に見つけて含めることができます。 レベルの名前を変更しても、参照する列の名前は変更されません。それは単にレベルをより識別可能にします。 Calendar Year 階層の例では、データ ビューの Date テーブルの CalendarYear、CalendarMonth、CalendarWeek、CalendarDay の列の名前がカレンダーの年、月、週、日に変更され、識別しやすくなります。 レベルの名前を変更すると、ピボットテーブルやグラフなどで列名を読みやすくするために列名を変更する必要が少なくなるため、レポートの一貫性を提供する利点があります。

階層はパースペクティブに含めることができます。 パースペクティブは、モデルのビュー可能なサブセットを定義します。このサブセットは、モデルのフォーカス、ビジネス固有、またはアプリケーション固有の視点を提供します。 たとえば、パースペクティブでは、特定のレポート要件に必要なデータ 項目のみの表示可能なリスト (階層) をユーザーに提供できます。 詳細については、「 パースペクティブ (SSAS テーブル)」を参照してください。

階層は、セキュリティ メカニズムとしてではなく、より優れたユーザー エクスペリエンスを提供するためのツールとして使用されることを意図しています。 特定の階層のすべてのセキュリティは、基になるモデルから継承されます。 階層は、ユーザーがまだアクセス権を持っていないモデル オブジェクトへのアクセスを提供できません。 階層を介してモデル内のオブジェクトにアクセスする前に、モデル データベースのセキュリティを解決する必要があります。 セキュリティ ロールを使用して、モデルのメタデータとデータをセキュリティで保護できます。 詳細については、「 ロール (SSAS テーブル)」を参照してください。

階層の定義

階層を作成および管理するには、ダイアグラム ビューのモデル デザイナーを使用します。 階層の作成と管理は、データ ビューのモデル デザイナーではサポートされていません。 ダイアグラム ビューでモデル デザイナーを表示するには、[ モデル ] メニューをクリックし、[ モデル ビュー] をポイントして、[ ダイアグラム ビュー] をクリックします。

階層を作成するには、親レベルとして指定する列を右クリックし、[ 階層の作成] をクリックします。 (1 つのテーブル内の) 任意の数の列を複数選択して含めることができます。また、後で列をクリックして親レベルにドラッグすることで、列を子レベルとして追加することもできます。 複数の列を選択すると、カーディナリティに基づいて列が自動的に順序付けられます。 順序を変更するには、列 (レベル) をクリックして別の順序にドラッグするか、コンテキスト メニューの上下のナビゲーション コントロールを使用します。 列を子レベルとして追加する場合は、列を親レベルにドラッグ アンド ドロップすることで自動検出を使用できます。

列は複数の階層に表示できます。 階層には、メジャーやKPIなどの列として扱われないオブジェクトを含めることはできません。 階層は、1 つのテーブル内からのみ列に基づくことができます。 メジャーを 1 つ以上の列と共に複数選択する場合、または複数のテーブルから列を選択した場合、コンテキスト メニューの [ 階層の作成 ] コマンドは無効になります。 別のテーブルから列を追加するには、RELATED DAX 関数を使用して、関連テーブルの列を参照する計算列を追加します。 この関数は、次の構文を使用します: =RELATED(TableName[ColumnName])。 詳細については、「RELATED 関数」を参照してください。

既定では、新しい階層の名前は hierarchy1、hierarchy 2 などです。親子関係の性質を反映するように階層名を変更し、ユーザーを識別しやすくする必要があります。

階層を作成したら、[Excel で分析] 機能を使用して、その有効性をテストできます。 詳細については、「 Excel で分析する (SSAS テーブル)」を参照してください。

課題 説明
階層の作成と管理 (SSAS テーブル) ダイアグラム ビューでモデル デザイナーを使用して階層を作成および管理する方法について説明します。

こちらもご覧ください

タブラー モデル デザイナー (SSAS タブラー)
パースペクティブ (SSAS 表形式)
ロール (SSAS 表形式)