PostgreSQLのテーブルを連結して、その結果(ビュー)を
ODBCドライバを使って、Excelで読み込み、
ピボットテーブルとして利用します。
0.前提条件
・postgreSQLは入っている
・テーブルを作成され、データも入っている
テーブルは、こんなかんじ
![]()
![]()
1.pgAdminのインストール(しなくてもよい)
postgreSQLを操作するには、コマンドラインでpsqlを使ってももちろん良いのですが、
GUIでやったほうが便利なので、ここでは、GUIツールのpgAdminを入れます。
入れ方は、ここ参照
PostgreSQL 9.2にクライアントから接続する pgAdminのインストール設定
http://www.cyber-funnel.com/postgres/index890.html
2.ビューの作成
pgAdminでテーブルを連結して、ビューを作成します。
pgAdminのSQLボタンをクリック
![]()
でてきたウィンドウで、左上のウィンドウで、作成するビューのSQL
CREATE VIEW access_view AS SELECT user_tbl.userid AS user_id, user_tbl.name, access_tbl.access_time, access_tbl.url AS access_url FROM user_tbl JOIN access_tbl ON user_tbl.userid = access_tbl.userid;
とか打って、三角の再生ボタンみたいなところをクリックすると、
SQLが実行されて、結果が出てくる
![]()
3.ODBCドライバのインストール
PostgreSQL 9.2にクライアントから接続する PostgreSQL ODBC Driverのインストールと接続確認
http://www.cyber-funnel.com/postgres/index1156.html
の「PostgreSQL ODBC Driverのダウンロード」から「PostgreSQL ODBC Driverのインストール」までを行う
(つまり、VBscriptの設定をしない。4で行う)
4.ODBCドライバの設定
ODBCドライバの登録をする為、ODBCの管理画面を開きます
コントロールパネルを開いて、
![]()
「システムとセキュリティ」をクリック
![]()
管理ツールを選択。ダイアログが出るので
![]()
「データソース(ODBC)]をダブルクリックすると、以下のダイアログが起動される
![]()
「追加」ボタンをクリック
![]()
PostgreSQLのUnicodeを選ぶ
![]()
適当に埋めてOK
![]()
追加されている。
5.Excelのピボットテーブルの設定
ここで、Excelを立ち上げる
![]()
「挿入」→「ピボットテーブル」→「ピボットテーブル」を選択
![]()
というダイアログが出る。「外部データソースを使用」にチェックを入れて「接続の選択」をクリック
![]()
というのが出たら、一番下の「参照」ボタンをクリック。以下のダイアログが出るので
![]()
「新しいデータソースへの接続」を選択
![]()
ODBC DSNを選択
![]()
で、先ほど作成したPostgreSQLのODBCドライバを選択
このときか、もしくは、この後
![]()
のダイアログが出て、正しく設定して「接続のテスト」をクリックしても
![]()
という接続エラーになったら、ODBCドライバの32bit/64bitの関係が違っている。
Excelで、PostgreSQLのODBC利用時、「アーキテクチャの不一致」エラー
http://blog.goo.ne.jp/xmldtp/e/549bb15651af832c51f2d7af8a731fbf
を参照の上、適切なODBCに入れなおす。
正しい場合は、上のダイアログが出たとき、「接続のテスト」を実行すると、
![]()
というダイアログが出るか、そもそも、上記のダイアログが出ないで、直接
![]()
のように、テーブルの中身が見れる。そこで、テーブル(今回は一番上のaccess_view)を選んで、「次へ」をクリックすると、
![]()
となるので、「完了」する。
ここまですると、さっきのダイアログ
![]()
の接続名に、今作ったものが入ってきている。そこであとは、OKをクリック。
![]()
のように、再度データベースやユーザー、パスワードを設定する画面がでてくることもある。適切に設定すると
![]()
のようにピボットテーブル画面になるので、あとは
![]()
のようなかんじで作る。
■次回から
Excelを落としたとき、あたらしくピボットテーブルを作る場合は
![]()
のダイアログ設定まではおなじ。ここで、「接続の選択」をクリックすると
![]()
のように、今作ったビューのODBCが作成されているので、それを利用する。
ODBCドライバを使って、Excelで読み込み、
ピボットテーブルとして利用します。
0.前提条件
・postgreSQLは入っている
・テーブルを作成され、データも入っている
テーブルは、こんなかんじ


1.pgAdminのインストール(しなくてもよい)
postgreSQLを操作するには、コマンドラインでpsqlを使ってももちろん良いのですが、
GUIでやったほうが便利なので、ここでは、GUIツールのpgAdminを入れます。
入れ方は、ここ参照
PostgreSQL 9.2にクライアントから接続する pgAdminのインストール設定
http://www.cyber-funnel.com/postgres/index890.html
2.ビューの作成
pgAdminでテーブルを連結して、ビューを作成します。
pgAdminのSQLボタンをクリック

でてきたウィンドウで、左上のウィンドウで、作成するビューのSQL
CREATE VIEW access_view AS SELECT user_tbl.userid AS user_id, user_tbl.name, access_tbl.access_time, access_tbl.url AS access_url FROM user_tbl JOIN access_tbl ON user_tbl.userid = access_tbl.userid;
とか打って、三角の再生ボタンみたいなところをクリックすると、
SQLが実行されて、結果が出てくる

3.ODBCドライバのインストール
PostgreSQL 9.2にクライアントから接続する PostgreSQL ODBC Driverのインストールと接続確認
http://www.cyber-funnel.com/postgres/index1156.html
の「PostgreSQL ODBC Driverのダウンロード」から「PostgreSQL ODBC Driverのインストール」までを行う
(つまり、VBscriptの設定をしない。4で行う)
4.ODBCドライバの設定
ODBCドライバの登録をする為、ODBCの管理画面を開きます
コントロールパネルを開いて、

「システムとセキュリティ」をクリック

管理ツールを選択。ダイアログが出るので

「データソース(ODBC)]をダブルクリックすると、以下のダイアログが起動される

「追加」ボタンをクリック

PostgreSQLのUnicodeを選ぶ

適当に埋めてOK

追加されている。
5.Excelのピボットテーブルの設定
ここで、Excelを立ち上げる

「挿入」→「ピボットテーブル」→「ピボットテーブル」を選択

というダイアログが出る。「外部データソースを使用」にチェックを入れて「接続の選択」をクリック

というのが出たら、一番下の「参照」ボタンをクリック。以下のダイアログが出るので

「新しいデータソースへの接続」を選択

ODBC DSNを選択

で、先ほど作成したPostgreSQLのODBCドライバを選択
このときか、もしくは、この後

のダイアログが出て、正しく設定して「接続のテスト」をクリックしても

という接続エラーになったら、ODBCドライバの32bit/64bitの関係が違っている。
Excelで、PostgreSQLのODBC利用時、「アーキテクチャの不一致」エラー
http://blog.goo.ne.jp/xmldtp/e/549bb15651af832c51f2d7af8a731fbf
を参照の上、適切なODBCに入れなおす。
正しい場合は、上のダイアログが出たとき、「接続のテスト」を実行すると、

というダイアログが出るか、そもそも、上記のダイアログが出ないで、直接

のように、テーブルの中身が見れる。そこで、テーブル(今回は一番上のaccess_view)を選んで、「次へ」をクリックすると、

となるので、「完了」する。
ここまですると、さっきのダイアログ

の接続名に、今作ったものが入ってきている。そこであとは、OKをクリック。

のように、再度データベースやユーザー、パスワードを設定する画面がでてくることもある。適切に設定すると

のようにピボットテーブル画面になるので、あとは

のようなかんじで作る。
■次回から
Excelを落としたとき、あたらしくピボットテーブルを作る場合は

のダイアログ設定まではおなじ。ここで、「接続の選択」をクリックすると

のように、今作ったビューのODBCが作成されているので、それを利用する。