経営層から「営業・マーケ・製造の各部門データを横断的に見たい」と要望されたとき、既存の BI ツールでは各システムのフォーマットや更新頻度がバラバラで、統合作業に数週間かかってしまう。私たちデジライズも過去、各部門が Excel やスプレッドシート、SaaS ツールごとにレポートを作成し、経営会議で突合する手作業が発生していました。Claude Code を活用すれば、API 連携・データクレンジング・可視化コードの生成を自然言語で指示でき、構築工数を一定削減できる可能性があります。本記事では、複数データソースを統合して部門横断ダッシュボードを構築する実践手順と、セキュリティ・アクセス制御の考慮点を解説します。

i

本記事の結論: Claude Code で API 連携・クレンジング・可視化を段階的に生成し、部門横断ダッシュボードの初期構築を効率化。最終的な運用設計とアクセス制御は人間が判断する前提で進める。

部門横断ダッシュボードが求められる背景

企業の意思決定スピードを高めるには、営業・マーケティング・製造・カスタマーサポートなど各部門が保有するデータを一元的に可視化する仕組みが必要です。しかし現実には以下の課題が存在します。

  • データソースの分散: Salesforce・Google Analytics・製造管理システム・Slack の週次報告など、フォーマットと更新頻度がバラバラ
  • 手作業での集約: 毎週または毎月、担当者が各システムから CSV をダウンロードして Excel で統合
  • リアルタイム性の欠如: 月次レポートでは意思決定が遅れ、市場変化に対応しきれない

従来は BI ツールや ETL パイプラインを構築する大規模プロジェクトが必要でしたが、Claude Code を活用すると、自然言語でデータ統合と可視化のコードを生成し、プロトタイプを短期間で立ち上げられます。ただし、本番運用時のスケーラビリティやアクセス制御設計は、IT 部門とデータガバナンス担当者が別途検討する必要があります。

データソースの洗い出しと API 連携の設計

必要なデータソースを棚卸しする

まず、経営層や各部門リーダーにヒアリングし、ダッシュボードに必要な KPI とデータソースを明確にします。

部門 データソース 取得方法 更新頻度
営業 Salesforce REST API リアルタイム
マーケ Google Analytics Reporting API 日次バッチ
製造 ERP システム CSV エクスポート 週次
CS Zendesk REST API リアルタイム

この棚卸しにより、どの API を叩くか、どのデータを CSV で取り込むかが整理されます。Claude Code には、Salesforce や Google Analytics など主要 SaaS の API 仕様が学習データに含まれていると推測されますが、社内独自システムの API 仕様書は別途用意してプロンプトに含める必要があります。

Claude Code で API 連携コードを生成

以下は Salesforce の商談データを取得する例です。

# プロンプト例
"""
Salesforce REST APIで過去30日間の商談データを取得するPythonコードを書いてください。
- エンドポイント: /services/data/v58.0/query
- SOQL: SELECT Id, Name, Amount, StageName, CloseDate FROM Opportunity WHERE CloseDate >= LAST_N_DAYS:30
- 認証はOAuth 2.0(アクセストークンは環境変数SALESFORCE_TOKENから取得)
- 結果をpandasのDataFrameに格納
"""

Claude Code は上記プロンプトから、requests ライブラリを用いた認証処理とクエリ実行コードを生成します。ただし、実際のアクセストークン管理や API レート制限の考慮は、生成コードを基に人間が調整する必要があります。

⚠

API レート制限に注意: Salesforce や Google Analytics の API には 1日あたりのリクエスト上限があります。本番運用前にレート制限を確認し、バッチ処理の頻度やリトライ設計を IT 部門と協議してください。

デジライズでは、複数 SaaS の API 連携パターンを体系化した研修プログラムを提供しています。詳細は Claude Code API 統合パターン集 をご覧ください。

データクレンジングと統合処理の実装

異なるフォーマットを統一する

各部門のデータは、日付フォーマット(YYYY-MM-DD / MM/DD/YYYY)や通貨単位(円 / ドル)、NULL 値の扱いが異なります。Claude Code に統合ルールをプロンプトで指示すると、pandas のコードを生成できます。

# プロンプト例
"""
以下の3つのDataFrameを統合してください。
- df_sales: 列 [date, revenue_jpy, customer_id]
- df_marketing: 列 [event_date, cost_usd, campaign_id]
- df_support: 列 [ticket_date, resolution_time_hours, customer_id]

統合ルール:
1. 日付列をすべてYYYY-MM-DD形式に変換
2. cost_usdは為替レート150円/ドルで円換算しcost_jpy列を追加
3. customer_idでdf_salesとdf_supportを結合(left join)
4. 欠損値は0で補完

最終的なDataFrame名はdf_integratedとする
"""

生成されたコードでは、pd.to_datetime() や merge() を用いた統合処理が記述されますが、為替レートの取得方法や欠損値の補完ロジックは、データ分析チームが妥当性を検証してから本番適用してください。

データ品質チェックの自動化

統合後のデータに対して、以下のチェックを Claude Code に指示します。

1. 重複レコードの検出 — df_integrated.duplicated() で重複行を抽出し、ログに記録

2. 外れ値の検出 — revenue_jpy が平均±3σを超える場合にアラート

3. 日付範囲の妥当性確認 — 過去1年以内のデータのみを対象とし、未来日付があればエラー

これらのチェック処理もプロンプトで指示すれば、pytest 形式のテストコードを生成できます。ただし、閾値や許容範囲の設定は業務ルールに依存するため、データガバナンス担当者と協議してください。

可視化ライブラリとダッシュボード構築

Streamlit によるインタラクティブ UI

部門横断ダッシュボードは、経営層が PC やタブレットでアクセスできる Web UI が望ましいです。Python の Streamlit を使うと、Claude Code でプロトタイプを迅速に構築できます。

# プロンプト例
"""
Streamlitで以下の機能を持つダッシュボードを作成してください。
- サイドバーで部門(営業/マーケ/製造/CS)を選択
- 選択部門のKPI(売上・コスト・チケット解決時間)を折れ線グラフ表示
- 期間フィルター(過去7日/30日/90日)をラジオボタンで切替
- データはdf_integratedから取得
"""

生成されたコードは、st.sidebar.selectbox() や st.line_chart() を用いた UI を含みます。初期プロトタイプとしては十分ですが、本番運用時は認証(Basic 認証や SSO 連携)と HTTPS 化が必須です。

Plotly によるリッチなグラフ表現

経営層向けには、ドリルダウンやツールチップ表示が可能な Plotly を併用すると有効です。Claude Code に以下を指示します。

# プロンプト例
"""
Plotlyで営業部門の月次売上推移を棒グラフ+折れ線グラフ(複合グラフ)で描画してください。
- X軸: 月(YYYY-MM形式)
- Y軸1(棒グラフ): 当月売上(revenue_jpy)
- Y軸2(折れ線グラフ): 前年同月比(%)
- ツールチップで担当者別内訳を表示
"""

生成コードは plotly.graph_objects を使った複合グラフを含みますが、パフォーマンスチューニング(大量データ時のサンプリング)は別途検討が必要です。

デジライズが支援した事例では、Streamlit + Plotly の組み合わせで初期プロトタイプを2週間で構築し、その後 IT 部門が認証基盤と連携してステージング環境に展開しました。詳細は Claude Code によるデータ分析・BI 活用 をご参照ください。

セキュリティとアクセス制御の設計

部門ごとのデータ閲覧権限

部門横断ダッシュボードでは、営業部門が製造部門のコストデータを見られない、逆に製造部門が営業の顧客情報にアクセスできないよう、**行レベルセキュリティ(RLS)**を設定します。Claude Code 自体に RLS の機能はないため、以下のいずれかで実装します。

方式 説明 適用場面
アプリケーション層 Streamlit の st.session_state でログインユーザーの部門情報を保持し、クエリ時にフィルター 小規模・プロトタイプ
データベース層 PostgreSQL の RLS や BigQuery の authorized views 中〜大規模・本番運用
BI ツール連携 Tableau や Looker のユーザー属性ベースフィルター 既存 BI 資産を活用

Claude Code で生成したコードは、基本的にアプリケーション層の簡易実装に留まります。本番運用では IT 部門がデータベース層の RLS を設計し、監査ログを取得する体制が求められます。

個人情報と機密情報の扱い

営業データに顧客の氏名・メールアドレスが含まれる場合、ダッシュボードでは集計値のみを表示し、個人情報は匿名化またはマスキングします。Claude Code にマスキング処理を指示する例を以下に示します。

# プロンプト例
"""
df_salesのemail列を以下のルールでマスキングしてください。
- @以前の最初の2文字を残し、残りを***に置換
- 例: taro.yamada@example.com → ta***@example.com
"""

生成コードは正規表現で置換処理を行いますが、個人情報保護方針との整合は法務部門と確認してください。

⚠

監査ログの保管: 誰がいつどのデータにアクセスしたかを記録する監査ログは、Claude Code では生成されません。本番環境では、データベースのクエリログや Streamlit のアクセスログを保管し、定期レビューを実施してください。

運用フェーズでの保守と更新

自動更新スケジュールの設定

ダッシュボードのデータを毎朝 8 時に自動更新するには、cron や Airflow でバッチ処理を定期実行します。Claude Code で以下のようなバッチスクリプトを生成できます。

# プロンプト例
"""
以下の処理を順に実行するPythonスクリプトを書いてください。
1. Salesforce APIで最新の商談データを取得
2. Google Analytics APIで前日のセッション数を取得
3. 取得データをPostgreSQLのstaging_tableに保存
4. データクレンジング処理を実行
5. 統合後データをproduction_tableに上書き
6. 処理結果をSlackに通知

エラー時はログファイルに記録し、Slackにアラート送信
"""

生成されたスクリプトは一連の処理フローを含みますが、エラーハンドリングやリトライ設計は IT 部門が強化する必要があります。

KPI 定義の変更と再生成

経営層から「新しい KPI を追加したい」と要望があった場合、Claude Code にプロンプトで指示すれば、グラフ追加やクエリ修正を迅速に実施できます。ただし、過去のコードとの整合性や、テストケースの更新は人間が確認してください。

デジライズでは、運用フェーズでの保守体制構築を含むコンサルティングを提供しています。詳細は後述の導入支援サービスをご覧ください。

まとめ

部門横断ダッシュボードの構築は、従来であれば BI エンジニアと各部門が数週間かけて要件定義・データパイプライン設計を行う大規模プロジェクトでした。Claude Code を活用すると、API 連携・データクレンジング・可視化コードを自然言語で生成し、初期プロトタイプを短期間で立ち上げられます。

4ステップ
データソース洗い出し→API連携→クレンジング→可視化
3層
アプリ層・DB層・BI層で適材適所の実装

一方で、本番運用では以下の点を IT 部門・データガバナンス担当者と協議する必要があります。

  • API レート制限とリトライ設計
  • 行レベルセキュリティと監査ログ
  • 個人情報のマスキングとコンプライアンス準拠
  • 自動更新バッチのエラーハンドリング

Claude Code で生成したコードは、あくまで初期構築の効率化を目的としたプロトタイプです。最終的なアーキテクチャとセキュリティ設計は、人間が責任を持って判断してください。

デジライズの Claude Code 法人導入支援

株式会社デジライズでは、Claude Code を活用した部門横断ダッシュボード構築を 研修+コンサルティングの2本柱 で支援しています。

  • 研修プログラム: データ分析チーム向けに API 連携・可視化ライブラリの実践ハンズオン(2日間)
  • 導入コンサルティング: 既存 BI 環境との統合設計・セキュリティ要件定義・運用体制構築を伴走支援

初回の無料相談では、貴社の現行ダッシュボード構成と課題をヒアリングし、Claude Code 活用による効率化ポイントを具体的に提案します。以下のフォームからお気軽にお問い合わせください。

無料相談のお申し込み: https://claudecode.digirise.ai/#contact

関連記事