「工数レポート、まだ出てないの?」
毎月聞かれるこの一言。CrowdLogにはデータがあるのに、BI連携の処理が遅すぎてレポートが出せない。処理に20〜30秒かかるうえ、タイムアウトで失敗することも日常茶飯事。経営会議に間に合わない、プロジェクトの採算が見えない、判断が後手に回る——。
本記事では、この「レポートが出てこない問題」をどう解決したかをご紹介します。
プロジェクト概要
| 項目 | 内容 |
|---|---|
| 業種 | 業務管理・工数管理 |
| 規模 | 従業員50〜100名規模 |
| システム | CrowdLog BI連携システム |
| 導入期間 | 約3週間 |
| 課題 | 工数レポートの処理が遅く、必要なときにデータが届かない |
課題:データはあるのに、レポートが出せない
1. 処理が遅すぎてタイムアウト
CrowdLogから9種類のデータを取得してレポートを生成するのですが、処理に20〜30秒もかかっていました。ブラウザのタイムアウトで画面が真っ白になることもしばしば。「もう一回試して」が口癖に。
2. データが増えるほど悪化
社員が増え、プロジェクトが増えるたびにレポート生成が遅くなる一方。「来月はもっと遅くなる」 という不安を抱えながらの運用。
3. エラー時の原因がわからない
処理が途中で止まっても、何が原因かわからない。担当者が手動で再実行し、祈りながら画面を見つめるしかない状態でした。
解決策:BI連携基盤の全面改善
「遅い」「止まる」「原因不明」の3重苦を、システム基盤の改善で一気に解決しました。
改善のポイント
| 改善項目 | やったこと |
|---|---|
| データ取得の並列化 | 9種類のデータを順番に取得 → 一斉取得に変更。待ち時間を大幅短縮 |
| データ結合の高速化 | 社員×プロジェクトの突き合わせ処理を全面的に最適化 |
| 大量データの安全処理 | 一括処理 → 小分け処理に変更。途中で止まっても途中から再開可能 |
| エラーの可視化 | 何がどこで失敗したか即座に特定できる仕組みを導入 |
システム構成
導入効果
定量的な成果
| 指標 | Before | After | 改善率 |
|---|---|---|---|
| レポート生成 | 20〜30秒(タイムアウトも頻発) | 3〜5秒 | 85%短縮(待たずに確認できる) |
| サーバー負荷 | 高負荷(他の処理にも影響) | 50%削減 | 他システムへの影響も解消 |
| 処理の安定性 | タイムアウト・中断あり | エラー時も自動リトライで復旧 | 運用の安心感が段違い |
| 障害対応時間 | 原因特定に数時間 | ログで即座に特定 | 数分で対応完了 |
定性的な成果
- 経営判断のスピードアップ: 工数データがほぼリアルタイムで確認可能に。会議前に「最新データ出して」と言われても余裕
- 運用負荷の解消: 「処理が止まった」「もう一回やって」のやり取りがゼロに。担当者が本来の業務に集中できる
- スケーラビリティの確保: 社員やプロジェクトが増えても処理速度が悪化しない設計。成長を止めないシステムに
- 障害対応の属人化解消: ログを見れば誰でも状況がわかる。「あの人がいないと直せない」がなくなった
導入のポイント
| ポイント | 内容 |
|---|---|
| 既存データへの影響ゼロ | 稼働中のシステムを止めずに移行。データの整合性を保ったまま切り替え |
| 段階的な最適化 | 一気に全部変えるのではなく、効果の大きい箇所から順に改善 |
| 自動テストの整備 | 改善後のシステムには自動テストを整備。今後の変更にも安心して対応できる体制に |
技術構成
| 要素 | 採用技術 |
|---|---|
| アプリケーション | Node.js + TypeScript |
| データベース | MySQL |
| クラウド | Google Cloud (BigQuery, Storage) |
| 外部連携 | CrowdLog API |
まとめ
BI連携基盤の改善により、工数レポートの生成時間を85%短縮することに成功しました。
「CrowdLogのデータはあるのにレポートが出せない」「BI連携が遅くて経営会議に間に合わない」という状況にお心当たりの方は、ぜひお気軽にご相談ください。



