レビュー

無料で大量のデータを見やすいグラフで可視化できるオープンソースのセルフホスト可能なアプリ「Metabase」でGIGAZINE読者アンケートの結果を分析してみた


Metabase」はオープンソースでセルフホストも可能なデータ視覚化ツールです。前回の記事でその使い方を確かめられたので、早速GIGAZINE夏のプレゼント大放出企画で集めたアンケートデータを分析してみました。

Metabaseのセットアップや機能については下記の記事で詳しく解説しています。

無料で大量のデータを自動で見やすいグラフなどで可視化し定期的に更新反映されるダッシュボードをオープンソースでセルフホスト可能なアプリ「Metabase」を使ってみた - GIGAZINE


GIGAZINEのアンケート結果を読み込むためにPostgreSQLのセットアップを行います。前回に引き続きDockerを利用するので、下記のコマンドでPostgreSQLを起動します。「パスワード」や「ディレクトリへのパス」は適宜書き換えて下さい。

docker run --name metabase-postgres -e POSTGRES_PASSWORD=[パスワード] -p 5432:5432 -v [アンケート結果が保存されているディレクトリへのパス]:/mnt/surveydata -d postgres


下記のコマンドでPostgreSQLのDockerイメージに接続します。

docker exec -it metabase-postgres bash


下記のコマンドでPostgreSQLに接続。

psql -h localhost -U postgres


まず下記のコマンドでMetabase用のデータベースを作成します。Metabase本体をデータベースに接続することでMetabaseのDockerイメージを消去してもダッシュボードなどのデータが維持されるようになります。

CREATE DATABASE metabaseappdb;


次にアンケートの結果を保存するためのデータベースを「gigazine」という名前で作成。

CREATE DATABASE gigazine;


作成したデータベースに接続します。

\c gigazine;


アンケートの項目を元にテーブルを作成します。今回は「Survey」という名前でテーブルを作成しました。

CREATE TABLE survey 
("メールアドレスを入力してください。"	varchar,
"性別を選択してください。"	varchar,
"年齢を選択してください。"	varchar,
...(途中省略)...
"UTMキャンペーンの詳細"	varchar);


下記のコマンドで作成したテーブルにデータをインポート。これでPostgreSQL内で行う作業は終わりなので、「exit;」コマンドでPostgreSQLから切断します。

\copy survey from '/mnt/surveydata/survey.csv' delimiter ',' csv header;


続いてMetabaseのDockerイメージを下記のコマンドで起動します。Metabase本体をデータベースに接続するため、各種の設定を環境変数に設定する必要があります。

docker run -d -p 3000:3000 \
  --add-host=host.docker.internal:host-gateway \
  -e "MB_DB_TYPE=postgres" \
  -e "MB_DB_DBNAME=metabaseappdb" \
  -e "MB_DB_PORT=5432" \
  -e "MB_DB_USER=postgres" \
  -e "MB_DB_PASS=[パスワード]" \
  -e "MB_DB_HOST=host.docker.internal" \
   --name metabase metabase/metabase


前回の記事で詳しく記載している通りの手順でMetabaseの初期設定を行い、アプリが起動したら左のメニューから「独自データの追加」をクリック。


接続情報を入力します。


接続に成功すると、下記の通り同期が始まります。右上の「×」ボタンをクリック。


下記の通りデータベース名が表示されたら右上の「管理画面から離れる」をクリックします。


「データの閲覧」をクリックするとデータベースが追加されているので、「GIGAZINEアンケート結果」をクリック。


先ほどデータを保存した「Survey」テーブルが表示されています。「このテーブルを自動探査(X-ray)する」をクリック。


この記事のタイトルとURLをコピーする

・関連記事
2500万件のTwitter投稿を分析してわかった「人の気分のサイクル」とは? - GIGAZINE

イグノーベル賞を受賞した「法的文書が読みにくい理由の分析結果」をわかりやすくまとめるとこうなる - GIGAZINE

1万組以上のカップルを機械学習で分析して判明した「恋愛における満足度を高める要因」とは? - GIGAZINE

SNSの台頭以前から人々の使う言葉が「データ」「分析」などの論理的なものから「信じる」「考える」などの感情的なものにシフトしていたことが明らかに - GIGAZINE

ChatGPT上でコードを実行してデータ分析やグラフ化が可能な「コードインタプリタ」機能が追加、「誰でもデータアナリストになれる」時代の到来か - GIGAZINE

in レビュー,   ソフトウェア,   ウェブアプリ,   無料メンバー, Posted by log1d_ts

You can read the machine translated English article here.