機能
機能一覧
| 機能名 | 概要 | 対応ロール | ステータス |
|---|---|---|---|
| テーブル選択 | cs.cs_dm 配下のテーブル一覧を取得し、分析対象を選ばせる |
閲覧者 | 実装済み |
| 質問タイプ切り替え | Text Select / Free Text を切り替え、以降の表示を出し分ける |
閲覧者 | 実装済み |
| 質問選択 | 選択中のテーブル・質問タイプに存在する質問を一覧表示する | 閲覧者 | 実装済み |
| 単一質問のチャート表示 | 選択した質問の選択肢別回答構成を Chart.js で描画する | 閲覧者 | 実装済み |
| 全質問グリッド表示 | Text Select の全質問をまとめてグリッドで一覧化する |
閲覧者 | 実装済み |
| 自由記述ヒートマップ | Free Text 回答の出現頻度を濃淡で可視化する |
閲覧者 | 実装済み |
| 自由記述回答テーブル | 選択した自由記述設問の回答を表形式で表示する | 閲覧者 | 実装済み |
| サンプルチャート | 固定ビュー dm_vis_jreslso_tokyo23_comp_test の question_number=03 を描画する開発用サンプル |
開発者 | 実装済み(サンプル) |
| ヘルスチェック | GET /api/health で稼働状態を返す |
外部システム | 実装済み |
| Home ページ | サイドバー上は「アンケートの概要」だが、実体は見出しのみ | 閲覧者 | 未実装 |
| 属性別の比較表示 | is_comp を切り替えて属性別に比較する |
閲覧者 | 未実装 |
機能詳細
選択式設問の可視化(Text Select)
pages/Sample2 の主機能。テーブルを選ぶと question_type = 'Text Select' の質問一覧を取得し、選んだ質問について選択肢別の回答数・比率をチャートで描画する。あわせて、同じテーブルの全 Text Select 設問をグリッドで一覧表示する。
バックエンドは常に is_comp = 'すべての有効回答' で絞り込むため、表示されるのは有効回答全体の集計値のみ。
対応ロール: 閲覧者
ユースケース:
- サイドバーから「Sample2」を開く
- ステップ 1 で分析対象のテーブルを選ぶ
- 質問タイプで
Text Selectを選ぶ(初期値) - ステップ 2 で質問を選ぶ
- 選択質問のチャートと、全質問のグリッドを確認する
自由記述設問の分析(Free Text)
質問タイプで Free Text を選んだときの表示。同じ all_questions API を question_type=Free Text で呼び、フロントエンド側(components/FreeTextAnalysis/freeTextUtils.ts)で回答を集約して、出現頻度の高い回答ほど濃い背景色になるヒートマップと、回答一覧テーブルを描画する。
対応ロール: 閲覧者
ユースケース:
- テーブルを選ぶ
- 質問タイプで
Free Textを選ぶ - ヒートマップで頻出トピックを俯瞰する
- 設問を切り替えて回答テーブルで個別の回答を読む
テーブル・質問のメタデータ取得
Unity Catalog のメタデータ取得(テーブル一覧)は databricks-sdk の WorkspaceClient 経由、質問一覧の取得は SQL Warehouse への SELECT DISTINCT 経由と、経路が分かれている。
対応ロール: 閲覧者(間接的)、サービスプリンシパル
ユースケース:
- フロントエンドが
GET /api/catalogs/cs/schemas/cs_dm/tablesを呼ぶ - 選択後、
GET .../tables/{table}/questions?question_type=...で質問一覧を取得する