経営ダッシュボードと、使うほど育つAI分析
— Snowflake × AWS でつなぐ
複数の事業と多くの拠点を持つ企業の、月次の実績と予算を1つの画面に集めました。Snowflake の数字を AWS 上で毎朝つくり直して配り、文章で聞けば Amazon Bedrock がSQLを組み立てて答えます。役に立った回答は管理者が確かめてから教師データに加え、翌朝からAIの手本になります。

社名・業種・事業名は伏せています。このページの画面は、実際の機能をもとに紹介用に作り直したデモで、見た目は納品した画面と異なります。数値・事業名・拠点名はすべて架空です。
やったこと
「見えるようにする」より先に、数字の読み方を決めることに時間を使いました。定義が揺れている画面は、どれだけきれいでも会議では使われません。
- 数字の定義を、先に確定した。会計の科目マスタと組織マスタをたどり、「この事業のこの利益は、どの科目をどう足したものか」を1つずつ決めました。決められないものは埋めずに、決まっていないことが画面に出るようにしています。
- 見方を1つの画面に集めた。全体、予実対比とPL明細、事業別、拠点別、AI分析。年度・事業・拠点の絞り込みはすべてのタブで連動し、実績/予算/前年の比較基準も1か所で切り替えます。
- Snowflake と AWS をつないだ。Snowflake の数字を AWS Lambda が毎朝読み取って集計し、S3 と CloudFront で配ります。画面を開くたびにデータベースへ問い合わせないので、待たされません。ログインは Cognito で、管理画面は管理者にだけ出ます。
- 文章のまま聞けるようにした。質問は ECS Fargate のAPIが受け、Amazon Bedrock がSQLを組み立てて Snowflake に照会し、表やグラフで返します。組み立ての手本は Bedrock のナレッジベースから探します。
- 使うほど育つようにした。役に立った回答に 👍 を押し、管理者が確かめて採用すると、翌朝からAIの手本になります(03 で詳しく)。
- 毎朝つくり直し、止まったら気づける。データは毎朝自動で作り直します。別の経路でも同じものを作って突き合わせ、食い違えば通知が飛びます。元は人が入力する会計の数字なので、「止まっている」と「動いていないだけ」を分けて見ています。
アーキテクチャ — Snowflake × AWS
経路は2つです。ひとつは、Snowflake の数字を毎朝つくり直して配る経路。もうひとつは、文章でその場で聞く経路。どちらも Snowflake の同じ定義(セマンティックビュー)を見ているので、画面とAIの答えが食い違いません。
※ AI分析のAPI、利用ログ(DynamoDB)、ナレッジベースはお客様側の開発チームが構築し、当社と分担しています。当社は、数字の定義、Snowflake からの毎朝の集計と配信、画面、教師データの流れ(👍 ボタン、管理画面、毎朝の書き出し)を担当しました。
AI分析の教師データのつくり方
文章で聞くAIは、入れた日のままでは、その会社の言葉づかいや集計の癖を知りません。そこで、使う人が「役に立った」と押した回答を、管理者が確かめてから手本に加える流れを作りました。手本は毎朝ナレッジベースに取り込まれ、似た質問が来たときに Bedrock が参照します。
👍 だけでは手本にしない
押されただけで手本にすると、もっともらしくても集計を間違えた回答が混ざります。誤った手本はAIの精度を下げるので、採用は管理者だけができるようにし、SQLと数字を見てから決めます。
採用するもの・しないもの
採用するのは、集計が正しく、よく聞かれそうな質問(事業別の営業利益率、拠点別の売上上位、月別の推移など)。迷ったら、SQLの結果をダッシュボードの数字と突き合わせてから決めます。
押したときの結果も残す
👍 の記録だけでは、あとから正しかったか判断できません。押した瞬間のグラフ・表の結果を控えとして S3 に残し、管理画面の「結果を見る」で確かめられるようにしました。
集計の決まりは Snowflake に1か所
どの表をどう結び、どの科目を足して「営業利益」と呼ぶか。この決まりを Snowflake のセマンティックビューに置き、画面とAIが同じ定義を見ています。定義が変わったときは、毎朝の確認で気づいて画面を合わせます。


