Analysis Services または PowerPivot からのデータのインポート
PowerPivot for Excel では、PowerPivot ブックのデータ ソースとして Analysis Services データベースを使用できます。 そのデータベースは、SQL Server Analysis Services を使用して構築された従来のキューブでも、SharePoint サーバーにパブリッシュされた別の PowerPivot ブックでもかまいません。
このトピックの内容は次のとおりです。
前提条件
インポート方法の選択
キューブからのデータのインポート
PowerPivot ブックからのデータのインポート
外部データ ソースとしての PowerPivot ブックへの接続
PowerPivot と Analysis Services キューブとの連携
注 |
---|
PowerPivot は、処理に時間がかかっているクエリを 1 時間 (3600 秒) でシャットダウンします。 このタイムアウト設定はアプリケーションに組み込まれており、変更することができません。 この制限はすべてのデータ ソースに適用されます。Analysis Services データをインポートする場合には、この制限が適用される可能性が高くなります。 この制限を回避するには、1 回に少数の行をインポートし、後でマージするようにします。 詳細については、「PowerPivot のインポートが 3,600 秒後 (1 時間後) に停止する」を参照してください。 |
前提条件
Analysis Services キューブのバージョンは、SQL Server 2005、SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 のいずれかである必要があります。 キューブは、サーバーでアクセスする必要があります。 PowerPivot ブックのデータ ソースとしてローカル キューブを使用することはできません。
データ ソースとして使用する PowerPivot ブックは、SharePoint 2010 サイトにパブリッシュされている必要があります。 SharePoint サイトは、データのインポートに使用しているコンピューターとは異なるコンピューターで実行されている必要があります。
PowerPivot ブックからデータをインポートするには、SharePoint サイトに対する表示権限が必要です。
インポート方法の選択
次のアプローチのいずれかを使用して、Excel ブックで Analysis Services または PowerPivot のデータを操作できます。
アプリケーション |
アプローチ |
リンク |
PowerPivot for Excel |
[Analysis Services または PowerPivot から] をクリックし、Analysis Services キューブからデータをインポートします。 |
操作方法 |
PowerPivot for Excel |
[Analysis Services または PowerPivot から] をクリックし、SharePoint サーバーにパブリッシュされた PowerPivot ブックからデータをインポートします。 |
操作方法 |
Excel |
[外部データの取り込み] グループの [その他のデータ ソース] をクリックし、SharePoint サーバーにパブリッシュされた PowerPivot ブックへの接続を設定します。 |
操作方法 |
キューブからのデータのインポート
SQL Server Analysis Services データベースに含まれている任意のデータを PowerPivot ブックにインポートできます。 ディメンションの一部またはすべてを抽出することも、キューブからスライスおよび集計 (現在の年の月ごとの売上合計など) を取得することもできます。 ただし、次の制限があることに留意する必要があります。
キューブや別の PowerPivot ブックからインポートしたデータはすべてフラット化されます。 したがって、複数のディメンションからメジャーを取得するクエリを定義した場合、インポートされるデータでは各ディメンションがそれぞれ別の列になります。
インポート後のデータは静的になり、 要求時に Analysis Services サーバーから更新されるわけではありません。 Analysis Services データベースでの変更内容を取得するためにブックを更新するには、SharePoint にブックがパブリッシュされた後、データ更新スケジュールを作成する必要があります。 代わりに、PowerPivot for Excel でデータを手動で更新することもできます。 詳細については、「PowerPivot でデータを更新する各種の方法」を参照してください。
次の手順では、Analysis Service インスタンスの従来のキューブからデータのサブセットを取得する方法について説明します。 この手順では、キューブのサブセットをインポートする方法を説明するために Adventure Works DW Multidimensional 2012 サンプル データベースを使用しています。 Adventure Works DW Multidimensional 2012 サンプル データベースを搭載した Analysis Services サーバーにアクセスできる場合は、次の手順を実行して、Analysis Services からのデータのインポート方法を習得できます。
PowerPivot ウィンドウで、[外部データの取り込み] グループの [データベースから] をクリックし、[Analysis Services または PowerPivot から] を選択します。
テーブルのインポート ウィザードが起動します。
[Microsoft SQL Server Analysis Services に接続します] ページで、[接続の表示名] に、データ接続に付けるわかりやすい名前を入力します。
[サーバー名またはファイル名] に、インスタンスをホストしているコンピューターの名前とインスタンスの名前を入力します (例: Contoso-srv\CONTOSO)。
注 ローカル キューブをデータ ソースとして使用することはできません。キューブには、Analysis Services インスタンスからアクセスする必要があります。
必要に応じて [詳細設定] をクリックし、表示されるダイアログ ボックスでプロバイダーに固有のプロパティを構成します。 [OK] をクリックします。
[データベース名] ボックスの右にある下矢印をクリックし、一覧から Analysis Services データベースを選択します。 たとえば、 Adventure Works DW Multidimensional 2012 サンプル データベースにアクセスできる場合は、Adventure Works DW Multidimensional 2012 を選択します。
[接続テスト] をクリックして、Analysis Services サーバーが使用可能であることを確認します。
[次へ] をクリックします。
[MDX クエリの指定] ページで、[デザイン] をクリックして MDX クエリ ビルダーを開きます。
この手順では、PowerPivot ブックにインポートするすべてのメジャー、ディメンション属性、階層、計算されるメンバーを大きなクエリ デザイン領域にドラッグします。
既存の MDX ステートメントを使用する場合は、そのステートメントをテキスト ボックスに貼り付けて、[検証] をクリックします。これにより、そのステートメントを使用できるかどうかを確認できます。 MDX クエリの作成方法の詳細については、「Analysis Services MDX クエリ デザイナー (PowerPivot)」を参照してください。
この手順では、Adventure Works サンプル キューブを例として使用し、次の操作を行います。
メタデータ ペインで、[メジャー]、[Sales Summary] の順に展開します。
[Average Sales Amount] を大きなデザイン ペインにドラッグします。
メタデータ ペインで [Product] ディメンションを展開します。
[Product Categories] を大きなデザイン領域の [Average Sales Amount] の左にドラッグします。
メタデータ ペインで [Date] ディメンション、[Calendar] の順に展開します。
[Date.Calendar Year] を大きなデザイン領域の [Category] の左にドラッグします。
必要に応じて、フィルターを追加してデータのサブセットをインポートします。 デザイナーの右上にある [ディメンション] ペインで、[Date] を [ディメンション] フィールドにドラッグします。 [階層] で [Date.Calendar Year] を選択します。[演算子] に対して [範囲 (排他)] を選択し、[フィルター式] に対しては、下矢印をクリックして [Year 2005] を選択します。
これにより、キューブに対するフィルターが作成されて 2005 年の値が除外されます。
[OK] をクリックし、クエリ デザイナーによって作成された MDX クエリを確認します。
データセットに付けるわかりやすい名前を入力します。 この名前はブックのテーブル名として使用されます。 新しい名前を割り当てない場合は、既定で Query という名前の新しいテーブルにクエリ結果が保存されます。
[完了] をクリックします。
データの読み込みが完了したら、[閉じる] をクリックします。
データを PowerPivot ウィンドウにインポートしたら、各列を選択し、リボンの [書式設定] グループで [データ型] を表示することでデータ型を確認できます。 数値データまたは財務データを含む列のデータ型を必ず確認してください。 PowerPivot では、空の値があるとデータ型が Text に変更されることがあります。 数値データまたは財務データに間違ったデータ型が割り当てられている場合は、[データ型] オプションを使用してデータ型を訂正できます。
PowerPivot ブックからのデータのインポート
PowerPivot ウィンドウで、[外部データの取り込み] グループの [データベースから] をクリックし、[Analysis Services または PowerPivot から] を選択します。
テーブルのインポート ウィザードが起動します。
[Microsoft SQL Server Analysis Services に接続します] で、[接続の表示名] に、データ接続に付けるわかりやすい名前を入力します。 接続にわかりやすい名前を付けると、接続方法の識別に役立ちます。
パブリッシュされた .xlsx ファイルの URL アドレスを [サーバー名またはファイル名] に入力します。 たとえば http://Contoso-srv/Shared Documents/ContosoSales.xlsx などです。
注 ローカルの PowerPivot ブックをデータ ソースとして使用することはできません。PowerPivot ブックは SharePoint サイトにパブリッシュされている必要があります。
必要に応じて [詳細設定] をクリックし、表示されるダイアログ ボックスでプロバイダーに固有のプロパティを構成します。 [OK] をクリックします。
[接続テスト] をクリックして、PowerPivot ブックが使用可能であることを確認します。
[次へ] をクリックします。
[デザイン] をクリックします。
メジャー、ディメンション属性、階層のいずれかを大きなデザイン領域にドラッグして、クエリを構築します。 必要に応じて、右上隅にあるフィルター ペインを使用し、インポートするデータのサブセットを選択します。 クエリの構築例については、前のセクションの手順を参照してください。
[OK] をクリックします。
[検証] をクリックします。
[完了] をクリックします。
PowerPivot データはブックにコピーされ、元のブックとは別に圧縮形式で保存されます。 データがインポートされると、ブックへの接続は閉じられます。 元のデータを再度クエリするには、ブックを更新します。 詳細については、「PowerPivot でデータを更新する各種の方法」を参照してください。
外部データ ソースとしての PowerPivot ブックへの接続
Excel では、PowerPivot データは、ブックに埋め込まなくても、外部データ ソースとして使用できます。 このシナリオには PowerPivot for Excel は必要ありませんが、正しいバージョンの Analysis Services OLE DB Provider が必要です。 Analysis Services OLE DB Provider の最新バージョンを入手するには、Microsoft Web サイトの「Microsoft SQL Server 2008 R2 用 Feature Pack」ページから Microsoft SQL Server 2008 R2 Analysis Services OLE DB Provider をダウンロードしてインストールしてください。
Excel の [データ] タブの [外部データの取り込み] で、[その他のデータ ソース] をクリックします。
[Analysis Services から] をクリックします。
[サーバー名] ボックスに PowerPivot ブックのアドレスを入力します。 アドレスにはデータを格納する .xlsx ファイルを含める必要があります (たとえば、http://constoso-srv/team site/shared documents/contoso-quarterly-sales.xlsx)。
注 "行 1、列 1 で失敗した XML 解析" エラーが表示された場合は、Analysis Services OLE DB Provider のバージョンが正しくない可能性があります。 PowerPivot for Excel をインストールするか、Microsoft Web サイトの「Microsoft SQL Server 2008 R2 用 Feature Pack」ページから Microsoft SQL Server Analysis Services OLE DB Provider をダウンロードしてインストールします。
[次へ] をクリックします。
[データベースとテーブルの選択] で [完了] をクリックします。
[データのインポート] で、データの表示形式を指定します (たとえばピボットテーブル レポートを選択します)。
[プロパティ] を選択し、[定義] タブを開き、接続文字列に Provider=MSOLAP.4 が指定されていることを確認します。 この手順により、正しい OLE DB プロバイダーが使用されていることが確認されます。
[OK]、[完了] の順にクリックし、接続を設定します。
PowerPivot ブックのフィールドを含むピボットテーブル フィールド リストがワークスペースに表示されます。
PowerPivot と Analysis Services キューブとの連携
ウィザードを使用して Analysis Services データ ソースに接続すると、内部の xVelocity メモリ内分析エンジン (VertiPaq) により Analysis Services 多次元データベースに対する MDX クエリが作成され、データがブックにダウンロードされます。 そのデータは更新できず、キューブのデータが変更されても自動的に更新されません。
PowerPivot ブックにインポートするデータは、データ インポートの完了後に自己完結します。 PowerPivot ブックは、既存のキューブの参照画面と考えるのではなく、キューブ データの有用なサブセットを取得してそのキューブや他のデータ ソースに依存しない新しい分析を行うためのワークスペースと考える必要があります。
インポート時に PowerPivot ブックによって生成された MDX ステートメントを確認するには、トレース ファイルを作成します。 トレース ファイルを作成する方法については、「[PowerPivot オプションと診断] ダイアログ ボックス」を参照してください。
Excel で Analysis Services キューブを操作することに慣れているユーザーは、PowerPivot ブックでは、一部の Excel 機能が使用できないことに留意する必要があります。 PowerPivot キューブに接続している状態では、次の Excel 機能がサポートされません。
オフライン キューブ
ピボットテーブル内のグループ化
ドリルスルー コマンド
関連項目
概念
PowerPivot ブックでサポートされているデータ ソース