Skip to main content
Sub-dataset (bảng con/child table) là một Field trong Entity, dùng để biểu diễn dữ liệu phân cấp: một record “cha” chứa nhiều record “con”. Ví dụ phổ biến:
  • Order có nhiều Order Items
  • Purchase Request có nhiều Request Items
  • Case có nhiều Activity/Comments

Dùng khi nào?

  • Dữ liệu con luôn thuộc về dữ liệu cha (cùng ownership, cùng vòng đời)
  • Cần nhập và xem danh sách item ngay trong màn hình của record cha
  • Cần tổng hợp nhanh (tổng tiền, số lượng) trên các item

Khi nào không nên dùng?

  • Dữ liệu con có ownership khác, hoặc có vòng đời độc lập
  • Cần chia sẻ dữ liệu con cho nhiều app/đơn vị khác nhau
  • Cần nhiều workflow riêng cho dữ liệu con
Trong các trường hợp này, cân nhắc tách ra Entity riêng và liên kết bằng Kết nối dữ liệu một chiều (Data Connection one-way).

Thiết kế tối thiểu

Với một Entity cha (ví dụ Purchase Request):
  • Field Items: Sub-dataset
  • Trong Sub-dataset, khai báo các cột/field cho item:
  • Item name (Text)
  • Quantity (Number)
  • Unit price (Currency)
  • Amount (Formula)
Sau đó:
  • Rollup Total cost = Sum(Items.Amount)
Liên quan:

Thực hành tốt

  • Giữ Sub-dataset “đủ dùng” cho vòng đầu (không tạo quá nhiều cột)
  • Chuẩn hoá cách đặt tên: Items, Line items, Activities
  • Tạo Rollup cho các chỉ số quan trọng (tổng tiền, số item)
  • Đặt controls phù hợp: ai được thêm/sửa/xoá item (Roles/Workflow)
Liên quan: Controls trong hệ thống (workflow vs validation vs roles)

Ví dụ: Purchase Request

  • Purchase Request có Sub-dataset Request Items
  • Người dùng nhập nhiều dòng hàng ngay trong record
  • Hệ thống rollup tổng chi phí để phục vụ phê duyệt

Bước tiếp theo