Question
にいお on Tue, 20 May 2014 03:30:12
よろしくお願いします。
プロトタイプとして、エクセルの表をリンクテーブルとしてPowerPivotのデータモデルへ追加し、グラフ等を試作します。
全体の構想がまとまったところで、SQLServerの実データを同様のピボットグラフ、表のデータソースとしたいのですが
リンクテーブルとは別のテーブルとしてしかインポートできないようです。
計算定義やグラフもすべて書き直しということになります。
データソースの切り替えができる方法がありましたらご教授いただけませんでしょうか?
Replies
nagino - 引退エンジニア on Wed, 21 May 2014 02:27:44
ちょっと手元に環境がないので確認出来ないのですが、下のページのような状況を想定されているお話でしょうか?
http://technet.microsoft.com/ja-jp/library/gg413480(v=sql.105).aspx
あと、各ソフトウェアのバージョンによって話が変わるため、記載が無いと回答が付きにくくなる傾向があるようです。
ですので、質問される際はバージョンを書き添えることをお勧めします。
trapemiya on Wed, 21 May 2014 04:52:32
私はPowerPivotは使用したことが無いのですが、なかなかレスが付きにくい話題のようですので、少し調べてみました。その結果、確信は持てませんが、無理なのではないかと思います。例えば以下の例ですが、SQL Server Management Studioでデータを抽出し、それをわざわざExcelに張り付けてからリンクテーブルとしています。
Creating Linked Tables in PowerPivot for Excel
http://www.mssqltips.com/sqlservertip/2848/creating-linked-tables-in-powerpivot-for-excel/
また、
PowerPivot ウィンドウ: [リンク テーブル] タブ
http://msdn.microsoft.com/ja-jp/library/gg399186(v=sql.110).aspx
には、
「[Excel テーブル]: Excel ブックで使用可能なすべてのテーブルの名前を表示します。」
とあり、リンクテーブルはExcelにおけるテーブルしか選択できないように思われます。
ちなみにAccessではSQL Serverに対してリンクテーブルを作成することができますが、これはAccessがデータベースだからだと思われます。Excelは表計算ソフトですから、Accessのようなリンクテーブルの機能が無いのは十分に想像ができます。例えば、Excel上のデータをADO.NETを使用してデータベースのように扱えますが、登録、変更はできても削除はできないという制限があります。そのような制限の中で、SQL Serverとダイレクトにリンクテーブルで結ぶのは難しいような気がします。
にいお on Thu, 22 May 2014 01:21:54
naginoさん
失礼しました。
環境は
Windows8
SQLServer2012
Excel2013
です。ご指摘いただいたURLでは外部データソースの接続先の変更などについてふれています。が、私が実現したいのはEXCELブック内で作成したテーブルを
リンクテーブルでデータモデルへ追加したあと、そのデータモデルのソースを外部データソースであるSQLServerへ変更したい、という内容です。
いろいろ調べてもみたのですが、trapemiyaさんも書いているように、ちょっと無理な話なのかもしれません。
ありがとうございました。
にいお on Thu, 22 May 2014 01:27:44
trapemiaさん
いろいろとありがとうございます。
たぶん、そうだろうと思いつつ、なにか裏技があるのでは?と、藁にすがる思いで質問させていただきました。
プロトタイプをエクセルで作成し、ある程度グラフや表ができたらSQLServerへ接続する。またはデモンストレーションはExcelのみでリンクテーブルの値をお客様向けに変更して行い、本番環境では実際のSQLServerに接続して運用する、というストーリーが実現できたらと考えていました。
とりあえずこの件はこれでクローズしたいと思います。
本当にありがとうございました。