Power View レポートのテーブル動作プロパティの構成 (SSAS テーブル)
テーブル モデルを Power View のデータ モデルとして使用している場合は、詳細行をより細かなレベルで公開するテーブル動作プロパティを設定できます。 テーブル動作プロパティの設定により、詳細行のグループ化動作を変更できます。また、タイル、カード、およびグラフのレイアウトを使用して、識別情報 (名前、写真 ID、ロゴ イメージなど) の適切な既定位置を設定できます。
Power View は、使用している表示形式に照らしてレポート フィールドの一覧に配置した列を評価することでレポート設計時にアイテムを自動的にグループ化するという点で、他のレポート アプリケーションと異なります。 ほとんどの場合、既定のグループ化によって最適な結果が生成されます。 ただし、一部のテーブル (主に、詳細データを含むテーブル) では、既定のグループ化動作によって、グループ化するべきでない行がグループ化されることがあります。 このようなテーブルの場合は、グループの評価方法を変更するプロパティを設定できます。
テーブル動作プロパティの設定は、従業員レコードや顧客レコードなど、個々の行が重要なテーブルに対してお勧めします。 対照的に、これらのプロパティの恩恵を受けないテーブルには、参照テーブルとして機能するテーブル (たとえば、日付テーブル、製品カテゴリ テーブル、部門テーブルなど、比較的少数の行と列から構成されるテーブル) や、要約されるときにのみ必要とされる行を含む概要テーブル (たとえば、性別、年齢、または地理別にロール アップされる国勢データ) があります。 参照テーブルと概要テーブルでは、既定のグループ化動作によって最適な結果が得られます。
注 |
---|
テーブル動作プロパティは、Power View でデータ モデルとして使用されるテーブル モデルにのみ影響します。 テーブル動作プロパティは、Excel ピボット レポートではサポートされません。 |
テーブル動作プロパティには以下のプロパティがあります。
"行識別子": 一意の値のみ含む列を指定します。その列を内部グループ化キーとして使用できます。
"一意の行を保持": 重複している場合でも一意として扱う必要のある値を提供する列を指定します (たとえば、2 人以上の従業員が同じ名前を持つ可能性がある場合の従業員の姓名)。
"既定のラベル": 行データを表す表示名を提供する列 (たとえば、従業員レコードの従業員名) を指定します。
"既定の画像": 行データを表す画像を提供する列 (たとえば、従業員レコードの写真 ID) を指定します。
注 |
---|
特定の表示形式の観点から見たレイアウト最適化を行うには、「特定のレイアウトでの最適化」のセクションを参照してください。 |
[テーブル動作] ダイアログ ボックスを開く
SQL Server データ ツール (SSDT) で、既定のフィールド セットを構成する対象のテーブル (タブ) をクリックします。
[プロパティ] ウィンドウの "テーブル動作" プロパティで、[クリックして編集] をクリックします。
[テーブル動作] ダイアログ ボックスで [行識別子] を設定し、このダイアログ ボックスで他のプロパティを指定します。
"行識別子" プロパティの設定
テーブル内の行識別子は、一意の値のみ含み、空白値を含まない単一列を指定します。 "行識別子" プロパティはグループ化の変更に使用されるため、グループは行のフィールド構成に基づかず、特定のレポート レイアウトで使用されるフィールドにかかわらず行を一意に識別するために常に使用される固定列に基づきます。
このプロパティを設定すると、既定のグループ化動作は、キャンバスに表示されている列に基づく動的なグループ化から、行識別子に基づいて要約される固定のグループ化動作に変更されます。 既定のグループ化動作の変更は、行の各列についてグループ化する (または小計を示す) マトリックスなどのレポート レイアウトに関連します。
Power View で行識別子を設定すると、"一意の行を保持" プロパティ、"既定のラベル" プロパティ、および "既定の画像" プロパティも有効になります。
"行識別子" だけをスタンドアロン プロパティとして使用して、次の操作を可能にすることもできます。
レポートでのバイナリの画像の使用。 行の一意性に関連するあいまいさを排除することで、Power View は特定の行に対して既定の画像と既定のラベルを割り当てる方法を決定できます。
マトリックス レポートからの不要な小計の削除。 フィールド レベルでの既定のグループ化によって、各フィールドの小計が作成されます。 行レベルで計算された単一の小計のみ必要な場合は、行識別子を設定するとこの結果が生成されます。
日付テーブルとしてマークされているテーブルの行識別子は設定できません。 日付テーブルの場合、行識別子はテーブルをマークするときに指定します。 詳細については、「[日付テーブルとしてマーク] ダイアログ ボックス (SSAS)」を参照してください。
"一意の行を保持" プロパティの設定
このプロパティでは、行を区別できるような方法で識別情報 (従業員名や製品コード) を格納する列を指定できます。 行が同一に見える場合 (同じ名前の 2 人の顧客など)、このプロパティに対して指定する列はレポート テーブル内に繰り返し出現します。
レポートに追加する列に応じて、各行の値が同じに見えるため同一行として扱われている行が見つかることがあります。(たとえば、Jon Yang という名前の 2 人の顧客)。 この状況は、区別情報 (ミドル ネーム、住所、誕生日など) を提供する他の列がレポート キャンバス上にないために発生することがあります。 このような場合、既定の動作では明らかに同一の行が単一行にグループ化されて、計算値は、結合された行のより大きな単一結果にまとめられます。
"一意の行を保持" プロパティを設定することで、レポート キャンバスに列を追加するときに、重複インスタンスがある場合でも常に繰り返す必要のある 1 つ以上の列を指定できます。 行に関連付けられている計算値は、単一行にロール アップされるのではなく、個々の行に基づいて割り当てられます。 "一意の行を保持" プロパティの列を選択する場合は、一意の値またはほぼ一意の値を格納している列を選択します。
注 |
---|
エンド ユーザーが選択する列はグループ化に影響することがあり、式の計算のフィルター コンテキストを変更するため、モデル デザイナーは正しい結果を返すメジャーを慎重に作成する必要があります。 詳細については、「Power View の FAQ」を参照してください。 |
既定のラベルの設定
このプロパティは、タイル レポートのナビゲーション ストリップに表示されるラベルを指定します。 既定の画像と共に使用すると、既定のラベルが画像の下に表示されます。 画像がない場合は、既定のラベルのみ表示されます。 既定のラベルを選択する場合は、行について最も多くの情報を格納している列 (名前など) を選択します。
タイル レイアウトでは、既定のラベルは、既定の画像プロパティでの定義に従って画像の下のタイトル領域に表示されます。 たとえば、従業員の一覧がある場合は、写真 ID を既定の画像として使用し、従業員名を既定のラベルとして使用して、従業員情報をタイル表示できます。 タイルには、既定のラベルが既定の画像の下に表示されます。 これらの列は、レポート フィールド リストで明示的に選択していない場合でも、タイルに常に表示されます。
既定の画像の設定
このプロパティでは、タイル レポートのナビゲーション ストリップまたはカードの前面に表示される画像を指定します。 レポートでは、既定の画像を含む列を選択すると、既定の画像がタイル レポート レイアウトのナビゲーション ストリップ、またはカードの前面に表示されます。 既定の画像は、ビジュアル コンテンツである必要があります。 たとえば、従業員テーブルの写真 ID、顧客テーブルの顧客ロゴ、地理テーブルの国の形状などです。
注 |
---|
画像のソースは、Web サーバー上の画像ファイルへの URL アドレス、またはブックに埋め込まれているバイナリ データにすることができます。 画像が URL に基づいている場合は、列を画像の種類として設定して、Power View がレポートに URL をテキスト データとして表示するのではなく画像を取得するようにします。 |
特定のレイアウトでの最適化
ここでは、特定のプレゼンテーション形式およびデータの特性から見た場合のテーブル動作プロパティの設定の効果について説明します。 たとえば、マトリックス レポートのレイアウトを微調整しようとしている場合は、この情報を使用すると、モデルでテーブル動作プロパティを使用してマトリックス プレゼンテーションを改善する方法を理解できます。
画像がない場合
モデルで設定したプロパティによって、レポートに画像が表示されるかどうか、またはレポートにテキスト値が表示されるかどうかが決まります。
既定では、モデル内のテキストはレポートでテキストとして解釈されます。 テキスト列がレポート画像への URL アドレスの場合は、Power View によって画像ファイルが取得されるように "画像の URL" プロパティを忘れずに設定してください。 バイナリの画像の場合は、"行識別子" プロパティを忘れずに設定してください。
テーブルに 1 つ以上の行が不足している場合
既定のグループ化動作によって、目的とは反対の結果が生じることがあります。具体的には、モデルに存在する詳細行がレポートに表示されない場合があります。 既定では、Power View はキャンバスに追加した列でグループ化します。 レポートに国名を追加した場合、基になるテーブルに各国名の複数のインスタンスを含む数千行が含まれる場合でも、各国がキャンバスに 1 回表示されます。 この場合は、既定のグループ化動作によって正しい結果が生成されます。
一方、別の例について考えます。この例では、実際には基になる行に異なるエンティティに関するデータが含まれているため、行の複数のインスタンスを表示する必要があります。 この例では、名前がどちらも Jon Yang である 2 人の顧客がいることを想定します。 既定のグループ化動作を使用すると、Jon Yang の 1 つのインスタンスのみレポートに表示されます。 さらに、一覧には 1 つのインスタンスのみ表示されるため、メジャー Annual Income は両方の顧客の値の合計になります。
既定のグループ化動作を変更するには、"行識別子" プロパティと "一意の行を保持" プロパティを設定します。 "一意の行を保持" で、[姓] 列を選択して、この値が別の行に存在する場合でも行に対して繰り返されるようにします。 プロパティを変更し、ブックを再発行した後で、同じレポートを作成できます。この時点でのみ、Jon Yang という名前の両方の顧客が表示され、それぞれに Annual Income が正しく割り当てられています。
マトリックスのレイアウトが複雑すぎる場合
マトリックスに詳細テーブルを表示する場合、既定のグループ化では各列の値が要約されます。 目的によっては、必要以上に要約されることがあります。 この動作を変更するには、[行識別子] を設定します。 その他のプロパティを設定する必要はありません。行識別子のみ設定すれば、一意の行識別子に基づいて各行の要約が計算されるようにグループ化を変更できます。
マトリックス レイアウトに対するこのプロパティの設定の効果を示す、次の設定前の画像と設定後の画像を比較してください。
設定前: マトリックス内のフィールドに基づく既定のグループ化
設定後: 行識別子でのグループ化
軸上に表示される項目とレベルが多すぎるグラフ
グラフは、詳細データの表示で行識別子を軸として使用する必要があることをレポートします。 行識別子がないと軸は不確定になるため、意味がない可能性のある最善の推測によるレイアウトになります。 この動作を変更するには、[行識別子] を設定します。 その他のプロパティを設定する必要はありません。行識別子のみ設定すれば、一意の行識別子に基づいて各行の要約が計算されるようにグループ化を変更できます。
グラフ レイアウトに対するこのプロパティの設定の効果を示す、次の設定前の画像と設定後の画像を比較してください。 これは、同一のフィールドとプレゼンテーションを持つ同じレポートです。 違いは、下の画像は [行識別子] がアイテム テーブルに設定された後のレポートを示していることだけです。
設定前: グラフ内のフィールドに基づく既定のグループ化
設定後: 行識別子でのグループ化 (行識別子は軸になります)
次の手順
モデルでテーブルを評価し、常に個別のアイテムとして表示する必要のある詳細行を含むテーブルにテーブル動作プロパティを設定した後で、追加のプロパティまたは設定によってモデルをさらに最適化できます。