- Gemini CLIはCSV/JSONファイルを直接読み込んでAI分析できる
- マルチモーダル対応でグラフ画像の解析も可能
- SQLクエリ生成からレポート出力まで一気通貫で自動化
「大量のCSVデータを手作業で分析するのが大変…」「Excelのピボットテーブルだけでは限界がある」「分析結果をレポートにまとめる作業が面倒」
SES現場ではデータ分析のスキルが求められる場面が増えています。Gemini CLI(Google Antigravity)を使えば、CSVファイルを読み込ませるだけでAIが自動的にデータ解析・パターン発見・レポート生成まで行ってくれます。
この記事では、Gemini CLI完全攻略シリーズのEp.16として、データ分析ワークフローの自動化テクニックを実践的に解説します。
- CSVファイルの自動読み込みと分析
- SQLクエリの自動生成
- データの異常検知・パターン発見
- 分析レポートの自動生成
- Google Sheetsとの連携
Gemini CLIでデータ分析する全体像

Gemini CLIの最大の強みは、Googleのインフラと統合されたAI分析能力です。BigQuery、Google Sheets、Cloud Storageとシームレスに連携し、大規模データの分析から可視化まで対応できます。
従来のデータ分析 vs Gemini CLI活用
| 工程 | 従来のアプローチ | Gemini CLI活用 |
|---|---|---|
| データ読み込み | Python/Rスクリプト作成 | ファイルを直接渡すだけ |
| 探索的分析 | pandas + matplotlib | 自然言語で質問 |
| SQLクエリ作成 | 手動で構文を書く | 要件からSQL自動生成 |
| 異常値検出 | 統計関数を実装 | AIが自動でパターン認識 |
| レポート作成 | Markdown/HTML手書き | 分析結果から自動生成 |
CSVファイルの自動分析
基本的な使い方
# CSVファイルを渡して分析を依頼
gemini -f sales_data.csv "このCSVデータの概要を教えてください。
カラムの説明、データ型、欠損値の割合、基本統計量をまとめてください。"
出力例
📊 データ概要:
- レコード数: 12,450件
- カラム数: 8
- 期間: 2025-01-01 〜 2026-02-28
📋 カラム詳細:
| カラム名 | データ型 | 欠損率 | ユニーク数 |
|----------|---------|--------|-----------|
| date | date | 0% | 426 |
| product | string | 0% | 45 |
| region | string | 0.2% | 8 |
| amount | integer | 0% | - |
| revenue | float | 1.3% | - |
📈 基本統計量(revenue):
- 平均: ¥45,230
- 中央値: ¥38,500
- 標準偏差: ¥22,180
- 最小: ¥1,200
- 最大: ¥298,000
複数ファイルの横断分析
gemini -f sales_2025.csv -f sales_2026.csv \
"2025年と2026年の売上データを比較分析してください。
以下の観点でまとめてください:
1. 月別売上推移の前年比
2. 商品カテゴリ別の成長率
3. 地域別のトレンド変化
4. 注目すべき異常値や変化点"
SQLクエリの自動生成
テーブル構造からのクエリ生成
SES現場ではDB操作が必須です。Gemini CLIを使えば、テーブル構造を渡すだけでSQLクエリを自動生成できます:
gemini "以下のテーブル構造で、月別の売上集計SQLを書いてください:
テーブル: orders
- id: INT PRIMARY KEY
- customer_id: INT
- product_id: INT
- quantity: INT
- unit_price: DECIMAL(10,2)
- order_date: DATE
- status: ENUM('pending','confirmed','shipped','delivered','cancelled')
テーブル: products
- id: INT PRIMARY KEY
- name: VARCHAR(100)
- category: VARCHAR(50)
- cost_price: DECIMAL(10,2)
要件:
- 月別のカテゴリ別売上額(税抜・税込)
- キャンセル済み注文は除外
- 利益率も算出
- PostgreSQL構文で"
生成されるSQL:
SELECT
DATE_TRUNC('month', o.order_date) AS month,
p.category,
COUNT(DISTINCT o.id) AS order_count,
SUM(o.quantity) AS total_quantity,
SUM(o.quantity * o.unit_price) AS revenue_excl_tax,
SUM(o.quantity * o.unit_price * 1.10) AS revenue_incl_tax,
SUM(o.quantity * (o.unit_price - p.cost_price)) AS gross_profit,
ROUND(
SUM(o.quantity * (o.unit_price - p.cost_price)) /
NULLIF(SUM(o.quantity * o.unit_price), 0) * 100, 2
) AS profit_margin_pct
FROM orders o
JOIN products p ON o.product_id = p.id
WHERE o.status != 'cancelled'
GROUP BY DATE_TRUNC('month', o.order_date), p.category
ORDER BY month DESC, revenue_excl_tax DESC;
BigQuery連携
Google Cloudプロジェクトと連携したBigQuery分析:
gemini "BigQueryの以下のデータセットを分析してください:
プロジェクト: my-project
データセット: analytics
テーブル: user_events
過去30日間で:
1. DAU/WAU/MAUを算出
2. リテンション率を週次コホートで計算
3. ファネル分析(signup → activation → purchase)
4. 離脱が多いポイントを特定"
データの異常検知
自動異常値検出
gemini -f server_metrics.csv "このサーバーメトリクスデータで
異常値を検出してください。
以下の指標について:
- CPU使用率
- メモリ使用率
- レスポンスタイム
- エラー率
IQR法とZスコア法の両方で異常を判定し、
発生日時と考えられる原因を推定してください。"
出力例
🚨 異常値検出結果:
1. 【CRITICAL】2026-02-15 14:23-15:45
- CPU使用率: 98.2%(通常: 35-45%)
- レスポンスタイム: 8,500ms(通常: 200-400ms)
- 推定原因: 急激なトラフィック増加 + メモリリークの可能性
2. 【WARNING】2026-02-22 03:00-03:30
- メモリ使用率: 92%(通常: 60-70%)
- エラー率: 5.2%(通常: 0.1-0.3%)
- 推定原因: バッチ処理のメモリ解放漏れ
3. 【INFO】毎週月曜 09:00-09:30
- レスポンスタイム: 800ms(通常の2倍)
- 推定原因: 週次レポート生成の定期バッチと重複
分析レポートの自動生成
Markdownレポート生成
gemini -f quarterly_data.csv "このデータから四半期レポートを
Markdown形式で自動生成してください。
レポート構成:
1. エグゼクティブサマリー(3行以内)
2. KPI概要(目標値 vs 実績値の表)
3. 月別トレンド分析
4. カテゴリ別パフォーマンス
5. リスクと機会
6. 次四半期へのアクション提案
出力先: reports/Q4_2025_report.md"
定期レポートの自動化
cronジョブと組み合わせて定期レポートを自動生成:
#!/bin/bash
# monthly_report.sh - 月次レポート自動生成
# DBからCSVエクスポート
psql -h localhost -U app -d production -c \
"COPY (SELECT * FROM monthly_summary WHERE month = date_trunc('month', CURRENT_DATE - interval '1 month')) TO STDOUT WITH CSV HEADER" \
> /tmp/monthly_data.csv
# Gemini CLIでレポート生成
gemini -f /tmp/monthly_data.csv \
"この月次データからレポートを生成してください。
前月比・前年同月比を含め、特筆すべきトレンドを強調してください。" \
> "reports/monthly_$(date +%Y%m).md"
# Slackに通知
curl -X POST "$SLACK_WEBHOOK_URL" \
-d "{\"text\": \"📊 月次レポートを生成しました\"}"
Google Sheetsとの連携
スプレッドシートデータの分析
gemini "Google Sheets ID: 1AbCdEfGhIjKlMnOp のデータを分析してください。
シート名: '売上データ'
以下を実行:
1. データの概要統計
2. 異常値の検出
3. 売上予測(次月・次四半期)
4. 結果を新しいシート '分析結果' に出力"
Looker Studioダッシュボード用データ加工
gemini -f raw_data.csv "このデータをLooker Studio用に加工してください。
以下のディメンションとメトリクスを用意:
- ディメンション: date, region, product_category, channel
- メトリクス: revenue, orders, avg_order_value, conversion_rate
- 集計粒度: 日次・週次・月次の3パターン
出力: looker_daily.csv, looker_weekly.csv, looker_monthly.csv"
SES現場での活用パターン
パターン1: プロジェクトのKPIダッシュボード構築
gemini "以下のデータソースからプロジェクトKPIダッシュボードを構築してください:
- GitHubのPR/Issue統計(gh CLIで取得)
- Jiraのスプリントデータ(CSV export)
- SonarQubeのコード品質メトリクス
出力するKPI:
1. ベロシティ(SP/スプリント)
2. バグ発生率
3. コードカバレッジ推移
4. リードタイム(PR作成→マージ)
5. 技術的負債の推移"
パターン2: SES契約データの分析
gemini -f ses_contracts.csv "SES契約データを分析して、以下をレポートしてください:
1. エンジニアスキル別の平均単価推移
2. 契約期間の分布(短期/中期/長期)
3. 業界別の需要トレンド
4. 今後需要が増加しそうなスキルセットの予測
5. 単価交渉に活用できるデータポイント"
パターン3: インフラコスト最適化分析
gemini -f aws_cost_report.csv -f gcp_cost_report.csv \
"クラウドコストレポートを分析してください:
1. サービス別のコスト内訳とトレンド
2. 前月比で20%以上増加した項目の特定
3. 未使用/低使用リソースの検出
4. コスト最適化の具体的な提案(概算削減額付き)"
データ分析プロンプトのベストプラクティス
効果的なプロンプト構造
1. データの説明(何のデータか、期間、規模)
2. 分析の目的(何を知りたいか)
3. 求める出力形式(表、グラフ指示、レポート形式)
4. 制約条件(除外条件、集計粒度など)
よく使う分析プロンプトテンプレート
| 分析タイプ | プロンプト例 |
|---|---|
| 探索的分析 | "データの概要を把握したい。分布・相関・異常値を調査して" |
| 時系列分析 | "月別トレンドと季節性を分析。前年同月比も算出して" |
| セグメント分析 | "顧客をRFMで分類し、各セグメントの特徴をまとめて" |
| 予測分析 | "過去24ヶ月のデータから次の3ヶ月を予測して" |
| 比較分析 | "AグループとBグループの差異を統計的に検定して" |
よくある質問
Q: 大容量のCSVファイルも分析できる?
Gemini CLIのコンテキストウィンドウは大容量ですが、数百MB以上のファイルは以下の工夫が必要です:
- サンプリング:
head -1000 large_file.csvで先頭1000行を抽出 - 前処理: 不要なカラムを削除して軽量化
- BigQuery経由: 大規模データはBigQueryにロードしてから分析
Q: 機密データの取り扱いは?
SES現場では機密データを扱うことが多いため、以下に注意:
- 個人情報はマスキングしてからGemini CLIに渡す
- 集計済みデータを使って傾向分析する
- クライアントのNDAに抵触しないか確認
- 必要に応じてローカルLLMの使用を検討
Q: データ分析スキルはSES単価に影響する?
データ分析ができるエンジニアの需要は急増しています:
- データエンジニアリング案件: 月額65〜90万円
- BIダッシュボード構築: 月額60〜80万円
- データ分析基盤構築: 月額70〜95万円
Gemini CLIを活用して分析の生産性を高めることで、データ周りの案件にも対応できる幅広いスキルセットをアピールできます。
まとめ
Gemini CLI(Google Antigravity)を活用したデータ分析の自動化により、データ読み込みから分析・レポート生成まで一気通貫で効率化できます。
- CSVファイルを渡すだけでAIが自動分析・パターン発見
- SQLクエリをテーブル構造から自動生成
- 異常値検出でデータの問題を素早く特定
- レポート自動生成で報告書作成の工数を大幅削減
- SES現場のデータ分析案件で差別化できる
Gemini CLI完全攻略シリーズの他の記事も合わせてご覧ください: