PostgreSQLのテーブルを連結して、その結果(ビュー)を
ODBCドライバを使って、Excelで読み込み、
ピボットテーブルとして利用します。
0.前提条件
・postgreSQLは入っている
・テーブルを作成され、データも入っている
テーブルは、こんなかんじ
![](https://blogimg.goo.ne.jp/user_image/3f/ca/de623f82eeab7fe3d1fccd405aa3f02d.png)
![](https://blogimg.goo.ne.jp/user_image/59/05/0e59bbf5fd39d0ff4339a0ce5576d4f8.png)
1.pgAdminのインストール(しなくてもよい)
postgreSQLを操作するには、コマンドラインでpsqlを使ってももちろん良いのですが、
GUIでやったほうが便利なので、ここでは、GUIツールのpgAdminを入れます。
入れ方は、ここ参照
PostgreSQL 9.2にクライアントから接続する pgAdminのインストール設定
http://www.cyber-funnel.com/postgres/index890.html
2.ビューの作成
pgAdminでテーブルを連結して、ビューを作成します。
pgAdminのSQLボタンをクリック
![](https://blogimg.goo.ne.jp/user_image/06/0c/9bf5b7bf435d34282758b500482c12c0.png)
でてきたウィンドウで、左上のウィンドウで、作成するビューのSQL
とか打って、三角の再生ボタンみたいなところをクリックすると、
SQLが実行されて、結果が出てくる
![](https://blogimg.goo.ne.jp/user_image/21/2e/3e74b71b0809b79f6beb3c491812fb6d.png)
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の管理画面を開きます
コントロールパネルを開いて、
![](https://blogimg.goo.ne.jp/user_image/02/86/3187cdedf698e2b10a9e16ec25555416.png)
「システムとセキュリティ」をクリック
![](https://blogimg.goo.ne.jp/user_image/07/79/778459eca9ad4a0256c6a36e4c627f2d.png)
管理ツールを選択。ダイアログが出るので
![](https://blogimg.goo.ne.jp/user_image/35/ff/3e27f48134186dfc9b5752b60ac4d443.png)
「データソース(ODBC)]をダブルクリックすると、以下のダイアログが起動される
![](https://blogimg.goo.ne.jp/user_image/68/17/3eebf9ecdad7d07931c83ff3078250e7.png)
「追加」ボタンをクリック
![](https://blogimg.goo.ne.jp/user_image/73/61/84716b992b70e43eef21a1042e3098ce.png)
PostgreSQLのUnicodeを選ぶ
![](https://blogimg.goo.ne.jp/user_image/37/c2/fc65b30a3780fbd8616b1d4a564e8fbb.png)
適当に埋めてOK
![](https://blogimg.goo.ne.jp/user_image/10/2d/7a1151100f0d102a2b15592056d221b5.png)
追加されている。
5.Excelのピボットテーブルの設定
ここで、Excelを立ち上げる
![](https://blogimg.goo.ne.jp/user_image/1b/4f/bacda815a6484f0e109eea53681cda00.png)
「挿入」→「ピボットテーブル」→「ピボットテーブル」を選択
![](https://blogimg.goo.ne.jp/user_image/00/a5/7cf4c4e39e06d9bfc5678d7c80ce39ad.png)
というダイアログが出る。「外部データソースを使用」にチェックを入れて「接続の選択」をクリック
![](https://blogimg.goo.ne.jp/user_image/28/a3/884097a2692b83c554efad30f7a442e2.png)
というのが出たら、一番下の「参照」ボタンをクリック。以下のダイアログが出るので
![](https://blogimg.goo.ne.jp/user_image/36/9c/5f49bf12f704f9b6e6e5c605bac53bb6.png)
「新しいデータソースへの接続」を選択
![](https://blogimg.goo.ne.jp/user_image/13/0b/785c83f4dd46ccb0814dd4c18a71e2dc.png)
ODBC DSNを選択
![](https://blogimg.goo.ne.jp/user_image/6b/7d/c7ee0e820ead4e64e10d29b464bc98b0.png)
で、先ほど作成したPostgreSQLのODBCドライバを選択
このときか、もしくは、この後
![](https://blogimg.goo.ne.jp/user_image/22/67/1399ebc913d48671c3f27ed4b49c3f4e.png)
のダイアログが出て、正しく設定して「接続のテスト」をクリックしても
![](https://blogimg.goo.ne.jp/user_image/7d/7a/2aac2ed289a63e60a190319d3beca456.png)
という接続エラーになったら、ODBCドライバの32bit/64bitの関係が違っている。
Excelで、PostgreSQLのODBC利用時、「アーキテクチャの不一致」エラー
http://blog.goo.ne.jp/xmldtp/e/549bb15651af832c51f2d7af8a731fbf
を参照の上、適切なODBCに入れなおす。
正しい場合は、上のダイアログが出たとき、「接続のテスト」を実行すると、
![](https://blogimg.goo.ne.jp/user_image/50/f0/ee993f90e7b84e0f002a590f12d64503.png)
というダイアログが出るか、そもそも、上記のダイアログが出ないで、直接
![](https://blogimg.goo.ne.jp/user_image/5f/59/3b4462139517b10173275d745b178d18.png)
のように、テーブルの中身が見れる。そこで、テーブル(今回は一番上のaccess_view)を選んで、「次へ」をクリックすると、
![](https://blogimg.goo.ne.jp/user_image/49/a2/02cf9fc207ce92d4faf390b2b832e809.png)
となるので、「完了」する。
ここまですると、さっきのダイアログ
![](https://blogimg.goo.ne.jp/user_image/63/be/836485bee32b975642e211093b73a86c.png)
の接続名に、今作ったものが入ってきている。そこであとは、OKをクリック。
![](https://blogimg.goo.ne.jp/user_image/59/cc/c5cdd2191b1401f8fcd10a9fe6c7ae16.png)
のように、再度データベースやユーザー、パスワードを設定する画面がでてくることもある。適切に設定すると
![](https://blogimg.goo.ne.jp/user_image/65/b2/11c253ca647351bfdbf7dc4e96a074fb.png)
のようにピボットテーブル画面になるので、あとは
![](https://blogimg.goo.ne.jp/user_image/3e/1e/774768fffdcf55916c19fa0934b1799e.png)
のようなかんじで作る。
■次回から
Excelを落としたとき、あたらしくピボットテーブルを作る場合は
![](https://blogimg.goo.ne.jp/user_image/63/be/836485bee32b975642e211093b73a86c.png)
のダイアログ設定まではおなじ。ここで、「接続の選択」をクリックすると
![](https://blogimg.goo.ne.jp/user_image/63/f0/7dcf354b960969d713e1dee8e3d21c75.png)
のように、今作ったビューのODBCが作成されているので、それを利用する。
ODBCドライバを使って、Excelで読み込み、
ピボットテーブルとして利用します。
0.前提条件
・postgreSQLは入っている
・テーブルを作成され、データも入っている
テーブルは、こんなかんじ
![](https://blogimg.goo.ne.jp/user_image/3f/ca/de623f82eeab7fe3d1fccd405aa3f02d.png)
![](https://blogimg.goo.ne.jp/user_image/59/05/0e59bbf5fd39d0ff4339a0ce5576d4f8.png)
1.pgAdminのインストール(しなくてもよい)
postgreSQLを操作するには、コマンドラインでpsqlを使ってももちろん良いのですが、
GUIでやったほうが便利なので、ここでは、GUIツールのpgAdminを入れます。
入れ方は、ここ参照
PostgreSQL 9.2にクライアントから接続する pgAdminのインストール設定
http://www.cyber-funnel.com/postgres/index890.html
2.ビューの作成
pgAdminでテーブルを連結して、ビューを作成します。
pgAdminのSQLボタンをクリック
![](https://blogimg.goo.ne.jp/user_image/06/0c/9bf5b7bf435d34282758b500482c12c0.png)
でてきたウィンドウで、左上のウィンドウで、作成するビューの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が実行されて、結果が出てくる
![](https://blogimg.goo.ne.jp/user_image/21/2e/3e74b71b0809b79f6beb3c491812fb6d.png)
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の管理画面を開きます
コントロールパネルを開いて、
![](https://blogimg.goo.ne.jp/user_image/02/86/3187cdedf698e2b10a9e16ec25555416.png)
「システムとセキュリティ」をクリック
![](https://blogimg.goo.ne.jp/user_image/07/79/778459eca9ad4a0256c6a36e4c627f2d.png)
管理ツールを選択。ダイアログが出るので
![](https://blogimg.goo.ne.jp/user_image/35/ff/3e27f48134186dfc9b5752b60ac4d443.png)
「データソース(ODBC)]をダブルクリックすると、以下のダイアログが起動される
![](https://blogimg.goo.ne.jp/user_image/68/17/3eebf9ecdad7d07931c83ff3078250e7.png)
「追加」ボタンをクリック
![](https://blogimg.goo.ne.jp/user_image/73/61/84716b992b70e43eef21a1042e3098ce.png)
PostgreSQLのUnicodeを選ぶ
![](https://blogimg.goo.ne.jp/user_image/37/c2/fc65b30a3780fbd8616b1d4a564e8fbb.png)
適当に埋めてOK
![](https://blogimg.goo.ne.jp/user_image/10/2d/7a1151100f0d102a2b15592056d221b5.png)
追加されている。
5.Excelのピボットテーブルの設定
ここで、Excelを立ち上げる
![](https://blogimg.goo.ne.jp/user_image/1b/4f/bacda815a6484f0e109eea53681cda00.png)
「挿入」→「ピボットテーブル」→「ピボットテーブル」を選択
![](https://blogimg.goo.ne.jp/user_image/00/a5/7cf4c4e39e06d9bfc5678d7c80ce39ad.png)
というダイアログが出る。「外部データソースを使用」にチェックを入れて「接続の選択」をクリック
![](https://blogimg.goo.ne.jp/user_image/28/a3/884097a2692b83c554efad30f7a442e2.png)
というのが出たら、一番下の「参照」ボタンをクリック。以下のダイアログが出るので
![](https://blogimg.goo.ne.jp/user_image/36/9c/5f49bf12f704f9b6e6e5c605bac53bb6.png)
「新しいデータソースへの接続」を選択
![](https://blogimg.goo.ne.jp/user_image/13/0b/785c83f4dd46ccb0814dd4c18a71e2dc.png)
ODBC DSNを選択
![](https://blogimg.goo.ne.jp/user_image/6b/7d/c7ee0e820ead4e64e10d29b464bc98b0.png)
で、先ほど作成したPostgreSQLのODBCドライバを選択
このときか、もしくは、この後
![](https://blogimg.goo.ne.jp/user_image/22/67/1399ebc913d48671c3f27ed4b49c3f4e.png)
のダイアログが出て、正しく設定して「接続のテスト」をクリックしても
![](https://blogimg.goo.ne.jp/user_image/7d/7a/2aac2ed289a63e60a190319d3beca456.png)
という接続エラーになったら、ODBCドライバの32bit/64bitの関係が違っている。
Excelで、PostgreSQLのODBC利用時、「アーキテクチャの不一致」エラー
http://blog.goo.ne.jp/xmldtp/e/549bb15651af832c51f2d7af8a731fbf
を参照の上、適切なODBCに入れなおす。
正しい場合は、上のダイアログが出たとき、「接続のテスト」を実行すると、
![](https://blogimg.goo.ne.jp/user_image/50/f0/ee993f90e7b84e0f002a590f12d64503.png)
というダイアログが出るか、そもそも、上記のダイアログが出ないで、直接
![](https://blogimg.goo.ne.jp/user_image/5f/59/3b4462139517b10173275d745b178d18.png)
のように、テーブルの中身が見れる。そこで、テーブル(今回は一番上のaccess_view)を選んで、「次へ」をクリックすると、
![](https://blogimg.goo.ne.jp/user_image/49/a2/02cf9fc207ce92d4faf390b2b832e809.png)
となるので、「完了」する。
ここまですると、さっきのダイアログ
![](https://blogimg.goo.ne.jp/user_image/63/be/836485bee32b975642e211093b73a86c.png)
の接続名に、今作ったものが入ってきている。そこであとは、OKをクリック。
![](https://blogimg.goo.ne.jp/user_image/59/cc/c5cdd2191b1401f8fcd10a9fe6c7ae16.png)
のように、再度データベースやユーザー、パスワードを設定する画面がでてくることもある。適切に設定すると
![](https://blogimg.goo.ne.jp/user_image/65/b2/11c253ca647351bfdbf7dc4e96a074fb.png)
のようにピボットテーブル画面になるので、あとは
![](https://blogimg.goo.ne.jp/user_image/3e/1e/774768fffdcf55916c19fa0934b1799e.png)
のようなかんじで作る。
■次回から
Excelを落としたとき、あたらしくピボットテーブルを作る場合は
![](https://blogimg.goo.ne.jp/user_image/63/be/836485bee32b975642e211093b73a86c.png)
のダイアログ設定まではおなじ。ここで、「接続の選択」をクリックすると
![](https://blogimg.goo.ne.jp/user_image/63/f0/7dcf354b960969d713e1dee8e3d21c75.png)
のように、今作ったビューのODBCが作成されているので、それを利用する。