胡 淑鳳
SQL Developer Support
Excel で分析観点(パースペクティブ)に接続しピポットテーブル レポートを利用する際、SQL Server Analysis Services のバージョンがSQL Server 2012以降では、分析観点で非表示にした属性のメンバのプロパティの表示ができなくなりました。今回は具体例を挙げてその動きの変化を説明します。
Analysis Services データベースに [Adventure] キューブが存在します。キューブのディメンションの [Employee] の構造は下記となります。
今回は [Birth Date] というプロパティを例として説明します。
SQL Server 2008R2 までのメンバのプロパティの表示
まず Microsoft Visual Studio で SSAS データベースに接続しキューブの状況を確認しましょう。
Microsoft Visual Studio [ファイル] → [開く] → [Analysis Services データベース] をクリックします。
[データベースの接続] ダイアログにて [既存のデータベースに接続] の [サーバー] と [データベース] を記入し、[OK] ボタンをクリックします。
データベースの読み取りが完了したら下図が表示されます。ソリューション エクスプローラにて [Adventure Works] キューブ (①) をダブルクリックし、キューブの詳細が表示されます。[分析観点] (SQL Server 2012以降はパースペクティブと翻訳されます) タブ (②) をクリックし、キューブのサブセットの各分析観点が表示されます。分析観点の [Sales Targets] (③) のディメンション [Employee] の [Birth Date] (④) は対象としてチェックされていないことを確認します。
続いて Excel でキューブへ接続しピポットテーブルレポートを利用する場合のメンバーのプロパティ表示を確認してみましょう。
Excel にて [データ]→ [その他のデータ ソース] → [Analysis Services] をクリックします。
[データ接続ウィザード] ダイアログにサーバー名とログイン時の証明情報を指定し、[次へ] をクリックします。
[Sales Targets] を接続キューブとして指定し、[完了] をクリックします。
続いて、[データのインポート]ダイアログが表示されます。
このダイアログでは、[ピボット テーブル レポート] が選択され、[データを返す先を選択してください](ピボット テーブルを配置する場所)では [既存のワークシート] が選択されていることを確認して、任意のセル位置(=$A$1 と指定した場合は A1 セル)を指定し、 [OK] ボタンをクリックします。
表示された画面にて、ピボット テーブルへ [Sales Targets] の [Sales Amount Quota] をメジャーとして指定し、[Employee] ディメンションの階層の [Employee] もチェックします。
それぞれ画面右下の[エリア セクション]の[Σ 値]と [行ラベル] へ追加され、ピポットテーブル領域にも追加されていることを確認できます。
ピポットテーブルにて、フォーカスを [Employee] のメンバに当てると、プロパティに [Birth Date] が表示されていることを確認できます。
また [レポートにプロパティを表示]メニューにも選択可能なプロパティとして表示されていることも確認できます。
SQL Server 2012 以降のバージョンにてメンバのプロパティの表示
ここでは SQL Server 2014 を例としています。
まず Microsoft Visual Studio で SSAS データベースに接続しキューブの状況を確認しましょう。
Microsoft Visual Studio でキューブ [Adventure Works] の詳細を開き、パースペクティブ (分析観点) の [Sales Targets] のディメンション [Employee] の [Birth Date] プロパティは対象としてチェックされていないことを確認します。
続いて、Excel でAnalysis Services データベースに接続し、同じくピボット テーブルへ [Sales Targets] の [Sales Amount Quota] をメジャーとして指定し、[Employee] ディメンションの階層の [Employee] もチェックします。。
ピボット テーブルにてフォーカスを [Employee] のメンバに当てる時に、プロパティに [Birth Date] が表示されないことを確認できます。
また [レポートにプロパティを表示] メニューにも選択可能なプロパティとして表示されないことも確認できます。
まとめ
上記の例に示されたように、SQL Server 2008R2 までは、メンバのプロパティを分析観点 (パースペクティブ) の表示対象として指定するか否かに関係なく、Excel から接続した場合ピポットテーブルにてマウスのフォーカスをメンバに当てる時にプロパティとして表示されます。また [レポートに表示するプロパティ] としても選択可能です。
一方 SQL Server 2012 以降では、メンバのプロパティを分析観点 (パースペクティブ) の表示対象として指定しない限り、Excel から接続した場合ピポットテーブルにてマウスのフォーカスをメンバに当てる時のプロパティとしても、[レポートに表示するプロパティ]としても表示されません。
以上、参考になりましたら幸いです。