情報畑でつかまえてロゴ
本サイトは NTTテクノクロスが旬の IT をキーワードに
IT 部門が今知っておきたい最新テクノロジーに関する情報をお届けするサイトです

番外編(2):BIツールで分析を始めてみよう!~PostgreSQLにデータ登録~

「データの可視化」がどのようにできるのか、その活用例もあわせてご紹介します。

はじめに

 本編では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テクノクロス株式会社
カスタマーエクスペリエンス事業部