CSV/JSON ダンプを SQLite に読み込んで分析する
使うタイミング: 誰かが 200k 行の CSV と「どのセグメントの転換率が最も高いか」という質問を送ってきた場合 — スプレッドシートには大きすぎて、本格的なデータベースには小さすぎる。
前提条件
- ディスク上のソースファイル — 作業フォルダの下に .csv または .json として保存する
- 空の SQLite ファイルパス — /tmp/analysis.db のような場所を選択します。MCP が作成します
フロー
-
テーブルを作成してロードする/tmp/analysis.db に /data/signups.csv のカラムに合わせた
signupsテーブルを作成します。すべての行をロードしてください。行数を教えてください。✓ コピーしました→ テーブルが作成され、行数がファイルと一致する -
スキーマを探索するどのカラムが存在しますか?各カラムについて、値の分布はどうですか(カテゴリカル変数は上位 5 つの異なる値、数値は最小/最大/平均)?✓ コピーしました→ カラムごとのプロファイル
-
実際の質問に答えるsignup_source でグループ化します。各グループについて、合計サインアップ数、転換率(completed_onboarding=true のサインアップ数 / 合計)を計算してください。転換率でソートしてください。✓ コピーしました→ SQL を表示した意思決定品質のテーブル
結果: 5 分で確実な回答を得られ、新しい質問が出ても再度クエリできる .db ファイルが手に入る。
注意点
- CSV カラムが誤った型で自動判定される(数値が TEXT として扱われる) — ロード後、
PRAGMA table_info(signups)を実行し、必要に応じて CAST したり明示的な型で列を再作成してください - 日付文字列が TEXT として正しくソート/比較されない — 日付を ISO 8601(YYYY-MM-DDTHH:MM:SSZ)で保存すれば辞書順 = 年代順になり、
julianday()を計算に使用できます