番外編(2):BIツールで分析を始めてみよう!~PostgreSQLにデータ登録~
「データの可視化」がどのようにできるのか、その活用例もあわせてご紹介します。
BI(ビジネスインテリジェンス)活用コラム
- 2022年09月12日公開
はじめに
本編ではYellowfinを実際に利用してみたい方向けにブログで利用しているデータをPostgreSQL内のデータベースに登録する流れをお伝えします。
皆様のお手持ちのデータなどを利用する場合は適宜読み替えてください。
PostgreSQLへの分析データ登録の流れ
BIツールで分析出来るようにデータをPostgreSQLに登録します。データ登録は、pgAdmin4というPostgreSQLに付属される管理ツールから実施します。
(PostgreSQL\14\pgAdmin 4\bin\pgAdmin4.exeを起動)
ツールを起動して、PostgreSQL 14をダブルクリックします。
接続用のパスワードを入力します。
接続が確立されると×マークが消えて、登録されているデータベースが参照できます。
今回のデータを登録するために新しいデータベースを作成したいと思います。
Databasesの欄で右クリック→Create→Databaseを選択します。
/p>
データベースの名前に日本語が含まれるとエラーとなるため、英数字のみの名前にしましょう。(例:uriagebunseki)
作成された売上分析データベースを右クリック>CREATE Scriptをクリックします。
以下のような画面が出力されます。
SQL文を入力してテーブルを作成
SQL文を入力してテーブルを作成していきます。
まずは、売上情報テーブルを作成します。
中央のエディタ欄に以下のコマンドを入力します。
create table "売上情報"(
"店舗名" text,
"商品コード" text,
"売上日" date,
"顧客コード" text,
"売上金額" int
);
入力完了後、実行ボタンを選択します。
実行が成功すると、出力ビューのMessagesの欄に以下のような記述が出力されます。
同様の手順で、商品マスタも作成します。
商品マスタの入力コマンドは、以下になります。
create table "商品マスタ"(
"商品コード" text,
"商品名" text
);
最後は、顧客マスタとなります。こちらも手順は同様です。
顧客マスタの入力コマンドは、以下になります。
create table "顧客マスタ"(
"顧客コード" text,
"性別" text,
"年齢" int
);
売上分析データベース右クリック>リフレッシュボタンを押下すると、テーブルが追加されていることを確認出来ると思います。
Uriagebunseki→Schemas→public→Tablesをクリックすると確認できます。
データを登録
次にデータを登録します。
① ディレクトリ名およびCSVファイル名を日本語が含まれないものに変更する
インポートするファイルのディレクトリに、日本語が含まれていると失敗する場合があります。
→日本語が含まれないディレクトリ(Cドライブ直下など)にCSVファイルを移動して再度インポートしてみてください。
注)ダウンロードしたCSVファイル名も日本語から変更しましょう。
(例:商品マスタ.csv→syouhin.csv)
② SQL文を使ってインポートする
GUI操作でインポートできない場合、コマンドプロンプトからインポートできるか試します。
~手順~
まずpsql による PostgreSQL サーバへの接続を行います。
コマンドプロンプトを起動し、cdコマンドでPostgreSQLフォルダのbinフォルダに移動します。
binフォルダに移動できましたら、下記のコマンドを実行します。
例)psql -U <ユーザ名> -d <データベース名>
postgresのパスワードを求められるので入力すると、下図のようになります。
そしてSQL文を実行します。
→実行するSQL文
COPY <テーブル名> FROM ‘<CSVのパス名>’ WITH CSV HEADER;
※CSVのパス名はシングルクォーテーションで囲んでください。
注1)CSVファイルがデスクトップだと読取権限がないのか、インポートできない時があります。
<PostgreSQLのインストールフォルダ>\<バージョン>\data配下にCSVファイルを配置すると解決する場合があります。
注2)Copy文でCSV形式を指定する。
先頭にヘッダー(店舗名,商品コード,売上日,顧客コード,売上金額などのこと)があると読み込めないので、「HEADER」のオプションを付けて2行目から読み込むようにします。
例)COPY 商品マスタ FROM 'C:\Program Files\PostgreSQL\14\data\syouhin.csv' WITH CSV HEADER;
実行すると下記のようなエラーが出ることがあります。
このエラーが出た場合、CSVファイルの文字コードをShift-JISにすると成功する場合があります。
→メモ帳などで、CSVファイルを開きShift-JISで保存し直す。
例)メモ帳の場合
ファイル→名前を付けて保存→(保存ボタンの左横にある)文字コードをANSIにする→保存
上書き保存してから再度実行すると成功します。
これで、コマンドプロンプトからインポートができます。
同様の手順で売上情報と顧客マスタも登録を行ったら、データ登録完了です。

NTTテクノクロス株式会社
カスタマーエクスペリエンス事業部