Giới thiệu về công thức

Công thức – hình ảnh chính
Nội dung bài viết

Trong cơ sở dữ liệu Notion, bạn có thể thêm thuộc tính công thức cho phép bạn chạy tất cả các loại phép tính và hàm dựa trên những thuộc tính khác. Bạn có thể sử dụng công thức để thao tác với dữ liệu hiện có và đạt được nhiều giá trị hữu ích khác 🔮


Các công thức trong Notion có thể thực hiện những phép tính toán hữu ích thông qua việc sử dụng thuộc tính, yếu tố tích hợp và hàm hiện có trong cơ sở dữ liệu.

Chúng ta hãy cùng xem xét một số cách khác nhau để sử dụng công thức. Nếu bạn đã sẵn sàng để bắt đầu tự xây dựng công thức, hãy tham khảo hướng dẫn tạo công thức của chúng tôi dưới đây →

Ví dụ 1: Quản lý dự án

Trong ví dụ này, chúng ta sẽ sử dụng 3 công thức để theo dõi tiến độ dự án.

Bạn có thể khám phá và thử nghiệm các cách thiết lập công thức cho ví dụ này bằng cách sao chép trang này vào không gian làm việc của bạn!

Mục tiêu

Tên thuộc tính

Công thức

Hàm và yếu tố tích hợp sẵn được sử dụng

Đặt hạn chót của dự án là 2 tuần sau ngày bắt đầu

Hạn chót

dateAdd(Start Date, 2, "week")

dateAdd() cộng thời gian vào ngày đó. Đối số đơn vị có thể là một trong các lựa chọn sau: năm, quý, tháng, tuần, ngày, giờ hoặc phút. Trong trường hợp này, chúng ta sẽ sử dụng đơn vị tuần.

Đánh dấu một dự án là quá hạn nếu đã quá hạn chót trạng thái của dự án không phải là Hoàn tất.

Đánh dấu một dự án là quá hạn bằng chữ đậm, màu đỏ nếu đã quá hạn chót trạng thái của dự án không phải là Hoàn tất.

Quá hạn?

if(and(now() > Due Date, Status != "Done"), "Overdue", "")

if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "")

if() trả về giá trị đầu tiên nếu điều kiện là đúng; nếu không, trả về giá trị thứ hai. Điều này cho phép tạo ra một kết quả có điều kiện.

and() là một toán tử logic. Hàm này cho phép đánh giá nhiều yếu tố cùng là đúng.

now() trả về ngày và giờ hiện tại. Hàm này cho phép đánh giá tình hình hiện tại của chúng ta so với hạn chót của dự án.

> là một toán tử so sánh. Hàm này cho phép so sánh điều kiện hạn chót lớn hơn ngày hiện tại.

!= là một toán tử so sánh. Hàm này cho phép xác định điều kiện trạng thái không bằng Hoàn tất.

style() thêm kiểu dáng và màu sắc cho văn bản. Các kiểu định dạng hợp lệ bao gồm b (in đậm), u (gạch chân), i (in nghiêng), c (mã) hoặc s (gạch xuyên). Màu hợp lệ là xám, nâu, cam, vàng, xanh lá, xanh dương, tím, hồngđỏ. Thêm _background vào sau màu để đặt màu nền. Trong trường hợp này, chúng ta sẽ áp dụng kiểu chữin đậmmàu đỏ.

Hiển thị số lượng nhiệm vụ quá hạn liên kết với một dự án

Nhiệm vụ còn lại

length(Tasks.map(current.Status != "Done"))

length() trả về độ dài của giá trị văn bản hoặc danh sách. Điều này cho phép đếm số nhiệm vụ còn lại.

map() trả về danh sách được điền với kết quả gọi biểu thức trên mọi mục trong danh sách đầu vào. Hàm này xem xét cơ sở dữ liệu nhiệm vụ và kéo tất cả các nhiệm vụ phù hợp vào.

!= là một toán tử so sánh. Hàm này cho phép kéo những nhiệm vụ có trạng thái hiện tại không phải là Hoàn tất.

Ví dụ 2: Lên ý tưởng dự án

Trong ví dụ này, chúng ta sẽ sử dụng hai công thức để lên ý tưởng dự án, tính điểm ưu tiên cho từng ý tưởng và đếm số lượt ủng hộ mà mỗi dự án nhận được.

Bạn có thể khám phá và thử nghiệm các cách thiết lập công thức cho ví dụ này bằng cách sao chép trang này vào không gian làm việc của bạn! Để xem một thiết lập khác sử dụng phương pháp RICE, hãy tham khảo mẫu này.

Mục tiêu

Tên thuộc tính

Công thức

Dựa trên điểm số của Mức độ tiếp cận (Reach), Tác động (Impact), Mức độ tự tin (Confidence) và Công sức (Effort) (RICE) để tính toán điểm số về mức độ ưu tiên

Điểm số (RICE)

Mức độ tiếp cận * Tác động * Mức độ tự tin / Công sức

Khi ai đó nhấp vào nút ủng hộ, đếm họ trong tổng số lượt bình chọn và thêm tên của họ vào trang cơ sở dữ liệu

Tổng số lượt bình chọn

length(Người ủng hộ)

(Nâng cao) Ví dụ 3: Tự động hóa việc quản lý nhiệm vụ

Trong ví dụ này, chúng ta sẽ sử dụng một số công thức trong một quy trình tự động hóa cơ sở dữ liệu (một loại thuộc tính cơ sở dữ liệu khác) để quản lý dự án và nhiệm vụ dễ dàng hơn khi chúng được hoàn thành, bằng cách đánh dấu một nhiệm vụ cha là Hoàn tất khi tất cả các nhiệm vụ con của nó đều đã Hoàn tất.

Tự động hóa cơ sở dữ liệu có tác nhân kích hoạt và hành động được thực hiện dựa trên những tác nhân kích hoạt đó. Công thức cho phép bạn xác định các biến mà sau đó bạn có thể sử dụng trong các hành động của mình.

Bạn có thể khám phá và thử nghiệm các cách thiết lập công thức cho ví dụ này bằng cách sao chép trang này vào không gian làm việc của bạn!

Mục tiêu

Cách xây dựng

Hàm và yếu tố tích hợp sẵn được sử dụng

Mỗi khi một nhiệm vụ được đặt thành Hoàn tất, hãy kích hoạt tự động hóa

Kích hoạt: Khi trạng thái được đặt thành Hoàn tất

-

Xác định nhiệm vụ cha bằng cách tìm trang đầu tiên liên quan đến nhiệm vụ đã kích hoạt tự động hóa

Hành động 1: Xác định biến Nhiệm vụ cha

Công thức:Trang kích hoạt.Mục cha.first()

Trang kích hoạt tham chiếu đến trang trong cơ sở dữ liệu mà từ đó tự động hóa được kích hoạt, và dấu . cho phép bạn truy cập các thuộc tính được liên kết với trang đó.

Mục cha trả về nội dung từ thuộc tính đó, trong trường hợp này là danh sách các trang có liên quan.

Áp dụng hàm .first() trên thuộc tính Mục cha sẽ trả về trang liên quan đầu tiên từ danh sách đó.

Nếu nhiệm vụ cha có các nhiệm vụ con, hãy xác minh xem tất cả các nhiệm vụ con của nó có trạng thái là Hoàn tất hay không. Nếu nhiệm vụ cha không có nhiệm vụ con, sẽ trả về false.

Hành động 2: Xác định biến Tất cả các nhiệm vụ con đã hoàn tất?

Công thức:Nhiệm vụ cha.Mục con ? Nhiệm vụ cha.Mục con.every(current.Status == "Hoàn tất") : false

Toán tử ba ngôi X ? Y : Z là một biểu thức điều kiện rút gọn có nghĩa là: nếu điều kiện X là đúng, trả về Y; nếu không, trả về Z. Đây là một cách viết thay thế ngắn gọn cho câu lệnh if().

.every() kiểm tra xem một điều kiện có đúng với mọi mục trong danh sách không. Trong hàm này, bạn có thể sử dụng từ khóa current để tham chiếu đến hàng đang được đánh giá. Trong trường hợp này, điều kiện current.Status == "Hoàn tất" kiểm tra xem thuộc tính trạng thái của trang hiện tại có được đặt thành Hoàn tất không. Nếu có, nó sẽ trả về true; ngược lại sẽ trả về false.

Nếu tất cả các nhiệm vụ con đã Hoàn tất, đặt trạng thái của nhiệm vụ cha thành Hoàn tất. Nếu không, giữ nguyên trạng thái hiện tại của nhiệm vụ cha.

Hành động 3: Chỉnh sửa thuộc tính Trạng thái

Công thức: Tất cả các nhiệm vụ con đã hoàn tất? "Done" : Parent Task.Status

Một lần nữa, toán tử ba ngôi được sử dụng ở đây để xem liệu tất cả các nhiệm vụ con đã hoàn tất chưa. Nếu rồi, quá trình tự động hóa sẽ đặt trạng thái của nhiệm vụ cha là Hoàn tất; nếu chưa, nó sẽ giữ nguyên trạng thái của nhiệm vụ cha.

Thêm cảm hứng cho công thức

  • Mẫu Notion này tính toán khoảng thời gian giữa hai ngày bằng một thuộc tính công thức.

  • Mẫu Notion này sử dụng công thức để đếm lượt ủng hộ cho các ý tưởng khác nhau.

  • Bạn có thể tìm thêm nhiều ví dụ khác nữa về công thức tại đây →

Trong Notion, bạn có thể sử dụng công thức theo một số cách khác nhau:

Để tạo thuộc tính công thức cho cơ sở dữ liệu:

  1. Chọn ••• ở trên cùng của cơ sở dữ liệu → Thuộc tínhThuộc tính mới.

  2. Chọn Công thức.

  3. Đặt tên cho thuộc tính của bạn, nếu muốn.

  4. Chọn Chỉnh sửa công thức.

Sau khitạo một công thức trong cơ sở dữ liệu hoặc nút, bạn sẽ có thể xây dựng và chỉnh sửa công thức đó trong trình chỉnh sửa công thức, hiển thị cụ thể như sau:

Trường ở trên cùng là nơi bạn nhập và chỉnh sửa công thức của mình. Khi bạn viết công thức ở đầu trình chỉnh sửa, trình chỉnh sửa sẽ cho bạn biết những gì còn thiếu, hoặc những gì cần có trong công thức để trả về một giá trị cho bạn.

Bảng điều khiển ở phía bên trái của trình chỉnh sửa hiển thị các yếu tố mà bạn có thể sử dụng trong công thức – nói cách khác, là các thuộc tính, yếu tố tích hợp sẵn và hàm có sẵn cho bạn.

Bảng điều khiển ở phía bên phải xác định các yếu tố của công thức khi bạn di chuột lên đó trong bảng điều khiển bên trái. Bảng này cũng chia sẻ ví dụ về cách sử dụng các yếu tố đó cũng như cấu trúc cụ thể cần có.

Nếu bạn mở trình chỉnh sửa công thức từ một hàng trong cơ sở dữ liệu, bạn sẽ được xem trước ngay kết quả của công thức cho hàng đó.

Bạn đang gặp sự cố với công thức của mình? Hãy tìm hiểu về các lỗi công thức thường gặp và cách khắc phục trong bài viết này →

Công thức có thể được tạo bằng cách kết hợp:

  • Thuộc tính.

  • Yếu tố tích hợp sẵn, hoặc các toán tử và giá trị boolean được sử dụng để thiết lập một phép tính cụ thể. Một số ví dụ: + (add), falseor.

  • Hàm, hay là những hành động mà công thức có thể thực hiện để trả về một kết quả nhất định. Một số ví dụ: replace, sumsort.

Danh sách đầy đủ các yếu tố tích hợp sẵn và hàm có sẵn trong công thức có tại đây →


Gửi phản hồi

Tài nguyên này có hữu ích không?