Cursorなしで、社内CSVを自然言語で集計する(Compass)
社内の売上CSVを開いて、「今月の上位商品は?」「店舗別の合計は?」と聞きたいだけなのに、毎回 Excel のピボットを組むか、SQL を書くか、Cursor を開いてプロンプトを工夫するか——そのどれも少し重い、という人向けの話です。
この記事では、Windows 向け AI ワークスペース Compass を使って、ローカルの CSV を自然言語で集計する手順をまとめます。コードを書く話はしません。
先に結論
- CSV が入ったフォルダを Compass で開く
- エクスプローラーで CSV を右クリック → データについて聞く
- 「月別の売上を集計して」などと聞く
- 必要なら 結果を Markdown/CSV に保存、または HTML チャートにしてタブブラウザで開く
- 来週は
.result.mdから クエリを再実行
裏側では一時的な SQLite に取り込んで、読み取り専用の SELECT を回しています。元の CSV は勝手に書き換えません。
この記事の対象
向いている人:
- Windows で社内 CSV / エクスポートデータを触ることが多い
- Excel は使えるが、毎回ピボットを組みたくない
- Cursor や VS Code は「開発者向けすぎる」と感じる
- 集計結果をフォルダに残して、来週同じ質問を再実行したい
- 表だけじゃなく、会議用に棒グラフ/折れ線の HTML も欲しい
向かない人:
- すでに Cursor / Claude Code で CSV を快適に扱えている
- Mac / Linux だけ(Compass は現状 Windows のみ)
- API キーを一切使わず、完全オフラインだけで Agent 集計したい(後述)
用意するもの
| もの | 内容 |
|---|---|
| OS | Windows 10 / 11(x64) |
| アプリ |
Compass のインストーラ(Compass Setup x.y.z.exe) |
| LLM | Agent(ツール呼び出し)対応の API。OpenAI / Gemini / DeepSeek / Groq / OpenRouter など |
| データ | 社内の CSV(または下のサンプル) |
注意:
- Ollama だけだと Ask / Edit は使えますが、Agent が使えないため、この記事の本丸(自然言語 → SQL 集計)は動きません
- Claude を使いたい場合は、現状は OpenRouter 経由が現実的です
- 1ファイルの取込上限は 8MB。結果表示は最大 200 行程度で打ち切られます
サンプル CSV(手元に社内データがない人向け)
作業フォルダに sales.csv を作ってください(UTF-8 でも Shift_JIS でも可)。
日付,店舗,商品,数量,売上
2026-06-01,渋谷,ノートPC,2,240000
2026-06-01,渋谷,マウス,10,30000
2026-06-02,新宿,ノートPC,1,120000
2026-06-02,新宿,キーボード,5,40000
2026-06-03,渋谷,モニター,3,90000
2026-06-03,池袋,マウス,20,60000
2026-06-04,新宿,ノートPC,2,240000
2026-06-04,池袋,キーボード,8,64000
2026-06-05,渋谷,ノートPC,1,120000
2026-06-05,新宿,モニター,2,60000
社内実データでも同じ手順です。個人情報が入っている場合は、試す前にマスクしてください。
手順
1. インストールと LLM 設定
- Releases からインストーラを落とす
- Compass を起動
-
設定でプロバイダ・API キー・モデルを保存する
→ ここは Agent(tools)が使えるモデルを選ぶ-
さくらのAI Engine の OpenAI互換API でも使えます。
無償枠が3,000リクエストあり、十分使用できます。
-
さくらのAI Engine の OpenAI互換API でも使えます。
2. CSV のあるフォルダを開く
ファイル → フォルダを開く で、sales.csv があるフォルダを選びます。
Agent はワークスペース(開いたフォルダ)前提です。単発ファイルだけドラッグ、だと本機能は使いにくいです。
3. 右クリックで聞く(いちばん早い)
左のエクスプローラーで sales.csv を選択 → 右クリック → データについて聞く。
これでモードが Agent、用途が データ に自動で寄ります。チャットに例えばこう書きます。
店舗別の売上合計を出して。多い順に並べて。
または:
商品別の数量と売上を集計して。表で見せて。
6月前半で売上が大きい店舗トップ3は?
チャットに表や要約が返ってくれば成功です。ステップ表示に imported … や cached … が出ていれば、CSV が一時 SQLite に乗っています。
4. 結果をフォルダに残す
「チャットで見えただけ」だと、来週また同じ質問を打ち直すことになります。残したいときは次のどちらかです。
- エクスプローラーで CSV を右クリック → 結果を Markdown/CSV に保存
- またはチャットで「結果を Markdown と CSV でソースの横に保存して」と頼む
出てきた差分を確認して 適用 すると、だいたい次のようなサイドカーが並びます。
sales.csv
sales.result.md ← 要約・表・クエリ情報
sales.result.csv ← 必要なら表データ
元の sales.csv は触られません。書き込みはプレビュー承認後だけです。
5. 集計結果を HTML チャートにする
表だけだと会議や報告で弱いときがあります。Compass には「グラフボタン」はありませんが、Agent に HTML を書かせて、アプリ内のタブブラウザで開く流れが使えます。
集計が返ってきたあと(または最初からまとめて)、チャットにこう頼みます。
店舗別の売上合計を棒グラフの HTML にして。
Chart.js(CDN)を使い、データを HTML 内に埋め込んだ単一ファイル sales.chart.html をソースの横に作って。
外向きのサーバーは立てないで。
折れ線にしたいとき:
日付ごとの売上合計を折れ線グラフの HTML(sales.trend.html)にして。
Chart.js の CDN を使い、1ファイルで開けるようにして。
円グラフ例:
商品別売上の構成比をドーナツチャートの HTML(sales.share.html)にして。
凡例と金額ラベルを付けて。
流れは次のとおりです。
- Agent が集計(
profileData→queryData)したうえで、sales.share.htmlなどの writeFile 提案を出す - 差分プレビューを確認して 適用
- エクスプローラーでその
.htmlを右クリック → タブブラウザで開く
sales.csv
sales.result.md
sales.share.html ← ここをタブブラウザで開く
ポイント:
- 単一 HTML(CDN + 埋め込みデータ)にすると、社内共有やメール添付もしやすい
- 見た目の確認は OS のブラウザでもよいが、Compass なら作業フォルダから離れずに見られる
- 「画像を生成して」ではなく HTML チャートをファイルとして残すのがこの用途のやり方
- ネット制限の強い環境では CDN(Chart.js 等)がブロックされることがある。そのときは「CDN なし・純 SVG の棒グラフ HTML にして」と頼む
効くプロンプトの型はだいたいこれです。
(何を)を(棒/折れ線/円)グラフの単一 HTML にして。
ファイル名は ○○.html。Chart.js の CDN 可。データを HTML に埋め込む。
適用後にタブブラウザで開ける状態にして。
6. 来週、同じ集計を再実行する
CSV が更新されたら、sales.result.md を右クリック(またはエディタタブの右クリック)→ クエリを再実行。
.result.md の frontmatter に前回のクエリが残っているので、同じ SELECT を再走して結果ファイルを更新提案してくれます。ここが「ピボットを毎回組み直す」より楽なポイントです。
チャート HTML は .result.md の再実行対象ではありません。CSV が変わったら、同じ「HTML にして」プロンプトをもう一度投げるか、「sales.share.html を最新の商品別売上で更新して」と頼むのが確実です。
うまく聞くコツ
効きやすい聞き方:
- 「店舗別の売上合計を多い順で」
- 「商品=ノートPC の行だけ抽出して」
- 「日付ごとの売上推移を表で」
- 「店舗別売上を棒グラフの単一 HTML(Chart.js)にして」
効きにくい聞き方:
- 「いい感じに分析して」(何を軸にするか不明)
- 「全部グラフ化して」(種類・軸・ファイル名がない)
- 「画像のグラフを生成して」(PNG 生成ではなく、HTML チャートをファイル化する)
- 「この CSV を上書きで直して」(集計用途ではない。整形は Edit+データの話)
複数 CSV があるときは、エクスプローラーで複数選んでから データについて聞く と、突き合わせ(JOIN 相当)も頼みやすいです。
用語や社内ルール(「売上=税抜」「店舗コードの読み方」など)は、ワークスペースの .compass/rules.md に書いておくとブレが減ります。
Cursor でやらない理由(この用途に限る)
Cursor はコード向け AI IDE として強いです。一方、社内 CSV の「聞いて・表で見て・結果ファイルを残して・再実行」だけが目的なら、次の差が出ます。
| Compass(この用途) | Cursor | |
|---|---|---|
| 入り口 | CSV 右クリックでデータ用途に直行 | エディタ/Composer に自分で載せる |
| 結果の残し方 | ソース横の .result.md / .result.csv+再実行 |
チャットログか、自分でファイル化 |
| チャート | Agent が HTML を書き、タブブラウザで開く | 別途プレビューやブラウザへ持っていくことが多い |
| 対象ユーザー感 | フォルダ+テキスト/データの作業机 | 開発者向け IDE |
| 書き込み | 差分プレビュー後に適用 | 強力だが、用途がコード中心 |
「Cursor を捨てろ」という話ではありません。CSV 集計だけのために IDE を開きたくない人向けの近道、という位置づけです。
つまずきポイント
| 症状 | 確認すること |
|---|---|
| Agent が出ない / データ集計できない | Ollama だけになっていないか。tools 対応のクラウドモデルか |
| 取込めない | ファイルが 8MB 超えていないか。CSV/TSV、またはオブジェクト配列 JSON か |
| 列名が変 | 日本語ヘッダは SQL 用に正規化されることがある。質問では元の意味で聞いてよい |
| 文字化け | Shift_JIS の社内 CSV も読める想定。ダメなら UTF-8 で一度保存して試す |
| 結果が途中で切れる | 表示上限(行数・文字数)あり。絞り込み条件を足す |
| HTML チャートが真っ白 | CDN が社内ネットで止まっていないか。ダメなら「純 SVG・CDN なし」で作り直し |
| HTML の開き方が分からない | エクスプローラーで .html を右クリック → タブブラウザで開く(Ctrl+Shift+B で空のブラウザタブも可) |
まとめ
- 社内 CSV の「自然言語集計」は、Compass なら フォルダを開く → 右クリックで聞く → 結果を保存 → 再実行 で回せる
- 会議用なら 集計 → 単一 HTML チャート → タブブラウザで開く まで同じ作業机で完結する
- 裏側は一時 SQLite の読み取り専用クエリ。元ファイルは勝手に壊さない
- API(Agent 対応モデル)は必要。Ollama 単体ではこの用途は不可
試す場合はこちらです。
- アプリ: Releases(Windows)
- ソース: niki-ikuo/compass
「このプロバイダ/モデルだとこうなった」「この聞き方だと外れた」などあれば、GitHub Issues に投げてもらえると助かります。





