𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
Gemini CLIでデータ分析を自動化する方法|CSV解析・レポート生成・可視化【完全攻略 Ep.16】

Gemini CLIでデータ分析を自動化する方法|CSV解析・レポート生成・可視化【完全攻略 Ep.16】

Gemini CLIデータ分析自動化Google Antigravity
目次
⚡ 3秒でわかる!この記事のポイント
  • 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によるデータ分析自動化の全体フロー

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完全攻略シリーズの他の記事も合わせてご覧ください:

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修