> ## Documentation Index
> Fetch the complete documentation index at: https://learn.cleeksy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tổng hợp (Rollup)

> Tổng hợp dữ liệu từ nguồn liên kết bằng Rollup.

Rollup (tổng hợp) là computed field dùng để **gộp** dữ liệu từ nhiều record liên quan thành một giá trị để theo dõi và ra quyết định.

## Dùng khi nào?

* Cần tính **tổng** từ bảng con (Sub-entity), ví dụ: tổng tiền của các dòng hàng
* Cần đếm số lượng record liên quan, ví dụ: số lần approve/rework, số item
* Cần theo dõi các chỉ số đơn giản theo cấu trúc dữ liệu hiện có

## Nguồn dữ liệu cho Rollup

<Note>
  Nếu tổng hợp dựa trên dữ liệu **giữa các app**, publish/consume là bước bắt buộc để tạo **connected app (kết nối ứng dụng)**. Rollup sẽ tổng hợp trên các record liên kết thông qua Data Connection tới connected app đó.
</Note>

Rollup thường tổng hợp trên một “danh sách record” đến từ:

* **Sub-entity (bảng con)** (ví dụ Order Items trong Order)
* Hoặc **Data Connection** nếu Data Connection trả về nhiều record liên quan

<Note>
  Nếu cần kéo một giá trị từ *một* record liên kết → dùng [Tra cứu (Lookup)](/build-apps/data-modeling/lookup).
</Note>

## Các kiểu tổng hợp thường gặp

* Sum (tổng)
* Count (đếm)
* Min/Max (nhỏ nhất/lớn nhất)
* Average (trung bình)

## Ví dụ: Tổng chi phí Purchase Request

* Entity: `Purchase Request`
* Field `Items`: Sub-entity chứa các dòng item
* Rollup `Total cost`: tổng `Item amount` của tất cả dòng item

## Lưu ý thiết kế

* Rollup nên dùng cho chỉ số quan trọng (ít nhưng đúng)
* Nếu công thức phức tạp (điều kiện, rẽ nhánh) → cân nhắc [Công thức (Formula)](/build-apps/data-modeling/formula)

## Bước tiếp theo

* Tra cứu từ record liên kết: [Tra cứu (Lookup)](/build-apps/data-modeling/lookup)
* Tính toán theo biểu thức: [Công thức (Formula)](/build-apps/data-modeling/formula)
