サブテーブル
読み:さぶてーぶる
1 つのレコードの中に複数行のデータを持てるフィールド。見積書の明細・タスクのチェックリストなど「子要素のリスト」を表現する。サブテーブル内のフィールドは一覧の絞り込み条件にも使えるが、同じ行で複数条件を組み合わせて判定するような検索や集計には制約がある。
サブテーブルとは(詳しく)
サブテーブルは、1件のレコードの中に「行を追加できる小さな表」を埋め込めるフィールドです。見積書の明細行、作業報告の項目リストのように、件数が決まっていない子要素をまとめて1レコードで管理できます。行は何行でも追加・削除でき、各列には文字列・数値・日付などのフィールドを配置できます。
便利な反面、検索・集計には制約があります。サブテーブル内の値で一覧を絞り込むことはできますが、「同じ行で複数条件をAND判定する」ような検索は意図どおりにならないことがあります。また別アプリの明細を参照したい場合はサブテーブルではなく関連レコード一覧が適しています。明細を別レコードとして持つか、サブテーブルで持つかは、集計・検索の要件から逆算して決めるのがコツです。
主な使いどころ
- 見積・請求アプリで、商品ごとの明細行(品名・単価・数量・金額)を持たせる
- 日報アプリで、その日の作業項目を複数行で記録する
- 点検アプリで、チェック項目とその結果を行単位で残す
よくある質問
サブテーブルと関連レコード一覧はどう違いますか?
サブテーブルは同じレコード内に明細を持ちます。関連レコード一覧は別アプリのレコードを参照表示します。明細をそのレコード固有のデータとして持つならサブテーブル、別アプリで管理するデータを見せるなら関連レコード一覧です。
サブテーブルの行数に上限はありますか?
実用上は多数の行を追加できますが、行数が極端に多いと表示や保存が重くなります。大量明細は別アプリ+関連レコードでの管理も検討してください。
サブテーブル内の値で集計できますか?
行ごとの合計など基本的な集計は計算フィールドで可能ですが、複雑な横断集計には制約があります。集計要件が強い場合は設計段階で持ち方を見直しましょう。
関連する用語・プラグイン・記事
- クイック目次 for kintone — kintone のレコード詳細・編集・新規作成画面の左側に、セクション単位の目次サイドメニューを常時表示するプラグイン。項目クリックで該当セクション先頭へスムーズスクロールし、縦に長いレコードでも目的の場所へワンクリックで移動できます。セクションは label/field/group/subtable の4種別で定義(ジャンプ先を選ぶと表示名を自動反映)。目次最上部に単一選択フィールド(ドロップダウン/ラジオ/プロセス管理ステータス)の値を色分けバッジで表示でき、配色は kintone標準同期/プリセット10色/カスタムから選択。スクロール時はヘッダー直下に追従し、編集・新規画面でも動作。GAS・外部サービス不要で kintone 完結。