Bảng phân công ca trực biến mất trước buổi họp
Chiều muộn trước cuộc họp nhóm, điều phối viên của một trung tâm cộng đồng mở bảng Notion để rà soát các ca tình nguyện. Thẻ “ca chưa có người nhận tuần này” bỗng trống trơn. Vài phút trước, một thành viên thêm dòng mới vào cơ sở dữ liệu lịch trực và thay đổi trường người phụ trách. “Công thức hỏng rồi,” có người nói. Một bạn khác đã mở trình chỉnh sửa, định thay biểu thức ngay trong cơ sở dữ liệu mà cả nhóm cùng dùng.

Tôi đề nghị dừng lại trước khi sửa. Một kết quả trống có thể đến từ nhiều nơi: công thức chủ ý trả về chuỗi rỗng cho một nhánh điều kiện, thuộc tính nguồn chưa có giá trị, tên trường đã đổi, hoặc bộ lọc của chế độ xem đang ẩn các dòng cần kiểm tra. Một ô trống riêng lẻ không chứng minh phép tính bị lỗi. Thay công thức ngay có thể xóa mất dấu vết cho biết điều gì thực sự đã thay đổi.
Tài liệu chính thức của Notion giải thích rằng công thức kết hợp thuộc tính, toán tử và hàm để tạo kết quả theo dữ liệu của từng dòng. Hàm empty() dùng để kiểm tra giá trị trống, nhưng Notion cũng coi 0, chuỗi rỗng và danh sách rỗng là trống đối với hàm này. Điều đó quan trọng nếu bảng điều khiển cần hiển thị số 0 khi không còn ca trực chưa phân công: số 0 hợp lệ có thể bị hiểu giống như thông tin chưa nhập.
Lần theo kết quả từ dòng dữ liệu gốc
Trước tiên hãy mở cơ sở dữ liệu lịch trực, không chỉ xem thẻ trên bảng điều khiển. Chọn một dòng lẽ ra phải xuất hiện và kiểm tra dòng có tồn tại không, người phụ trách và trạng thái đã được điền chưa, ngày có nằm trong khoảng thời gian dự kiến không. Sau đó xem thuộc tính công thức trên chính dòng đó. Trình chỉnh sửa công thức của Notion có thể hiển thị bản xem trước cho dòng đang mở, giúp phân biệt kết quả của từng bản ghi với cách chế độ xem trên bảng điều khiển đang trình bày dữ liệu.
Kiểm tra từng thuộc tính được nhắc tới trong biểu thức. Một trường có thể đã được đổi tên, thay bằng trường khác hoặc chỉ bị bỏ trống ở những dòng mới. Khi công thức có nhiều điều kiện, chỉ một điều kiện không khớp cũng có thể đưa kết quả tới nhánh trả về "". Hãy đọc biểu thức từ ngoài vào trong: điều kiện đầu tiên kiểm tra gì, so sánh giá trị nào và mỗi nhánh trả về điều gì? So sánh một dòng hoạt động với một dòng trống nhưng đừng sửa dữ liệu trong lúc đang tìm nguyên nhân.
Đặc biệt hãy kiểm tra cách dùng empty(). Tài liệu cú pháp chính thức của Notion nêu rằng empty(0) trả về đúng. Nếu số 0 là kết quả hợp lệ trong quy trình của bạn, chỉ dùng empty() có thể không phân biệt được đầu vào còn thiếu với kết quả bằng 0. Trước khi sửa, quyết định màn hình nên thể hiện thế nào cho dữ liệu chưa có, số 0 được nhập rõ ràng và một giá trị thông thường. Thử từng trường hợp bằng dòng đại diện. Đừng dán một công thức phỏng đoán vào cơ sở dữ liệu đang dùng thật chỉ vài phút trước cuộc họp.
| Dấu hiệu | Kiểm tra trước | Bước kế tiếp an toàn |
|---|---|---|
| Chỉ một dòng bị trống | Thuộc tính nguồn của dòng đó | So sánh đầu vào với một dòng đang hoạt động |
| Chỉ các dòng mới bị trống | Giá trị mặc định và trường cần điền | Tạo dòng thử và điền từng đầu vào riêng |
| Số 0 trông như dữ liệu thiếu | Điều kiện empty() | Xác định số 0 có phải giá trị hợp lệ không |
| Nguồn đúng nhưng thẻ trống | Bộ lọc và nhóm của chế độ xem | Mở bộ lọc trong cơ sở dữ liệu gốc |
| Bản xem trước đúng nhưng bảng điều khiển sai | Cơ sở dữ liệu liên kết và chế độ xem | Xác nhận thẻ đang dùng đúng chế độ xem |
Sau khi xem từng dòng, kiểm tra chế độ xem được liên kết hoặc chính thẻ dashboard. Nó trỏ đến đúng cơ sở dữ liệu và đúng chế độ xem không? Bộ lọc, nhóm, khoảng ngày và thuộc tính đang ẩn là gì? Công thức có thể tính chính xác trên mọi dòng trong khi bộ lọc loại tất cả khỏi màn hình. Cũng có thể các dòng vẫn hiện nhưng thẻ lại tổng hợp một thuộc tính khác với điều nhóm mong đợi.

Sửa đúng nguyên nhân và giữ bản công thức dùng được
Nếu thay đổi ảnh hưởng tới nhiều dòng, hãy tạo dòng thử hoặc làm việc trên một bản sao an toàn. Ghi ra ba kết quả cần kiểm tra: đầu vào còn thiếu, số 0 rõ ràng và giá trị thông thường. Xác nhận mỗi trường hợp giữ đúng ý nghĩa. Mục tiêu không phải xóa sạch mọi ô trống. Nếu hiện số 0 khi chưa có người phụ trách, bảng có vẻ đầy đủ nhưng ca trực vẫn chưa có ai nhận.
Nếu tên thuộc tính đã thay đổi, cập nhật tham chiếu và kiểm tra loại dữ liệu kết quả. Nếu biểu thức cố ý trả về chuỗi rỗng khi trạng thái không phù hợp, xem điều kiện đó còn đúng với quy tắc nhóm đang dùng không. Nếu dòng gốc chưa đủ dữ liệu, nhóm cần quyết định có ai điền bổ sung, có nên bắt buộc trường đó trong quy trình hay nên hiển thị trạng thái “chờ phân công”. Công thức không nên tự tạo thông tin công việc chỉ để làm thẻ trông đầy.
Với thẻ đếm, xác nhận chế độ xem có đúng các dòng cần tính và phép tổng hợp áp dụng lên đúng thuộc tính. Thử vài dòng đã biết kết quả rồi rà lại toàn bộ chế độ xem trước khi trình bày. Nếu công thức còn được dùng trong tự động hóa hoặc cơ sở dữ liệu khác, hãy kiểm tra cả những bước sau đó. Một chỉnh sửa nhỏ trên dashboard có thể ảnh hưởng luồng khác. Hãy sao chép công thức cũ và ghi lại thay đổi để nhóm có thể xem xét hoặc hoàn tác.
Nếu kết quả vẫn lạ, dùng gợi ý trong trình chỉnh sửa và tài liệu hỗ trợ chính thức của Notion thay vì suy đoán dựa vào chữ “trống”. Hướng dẫn công thức giải thích cách xem thuộc tính, hàm có sẵn và bản xem trước theo dòng. Trang về lỗi công thức thường gặp cũng nêu những tình huống giá trị rỗng bất ngờ ảnh hưởng công thức và tự động hóa. Đối chiếu đúng tên thuộc tính và giá trị của bản ghi; đừng vội kết luận Notion đã làm mất dòng.
Buổi họp ở trung tâm cộng đồng không cần một công thức phức tạp hơn. Các dòng ca trực mới chưa có người phụ trách, còn chế độ xem chỉ hiển thị công việc đã được giao. Nhóm kiểm tra dữ liệu gốc, làm rõ trạng thái phân công rồi xem lại bộ lọc mà chưa thay biểu thức hiện có. Cuộc họp bắt đầu bằng một lời giải thích dễ hiểu thay vì chỉnh sửa vội vàng. Ô trống đang chỉ ra một quy tắc công việc chưa được thống nhất, chứ không nhất thiết là lỗi tính toán.
Thống nhất ý nghĩa của thẻ trước khi đổi công thức
Trước khi sửa, hãy viết một câu giải thích thẻ “ca chưa có người nhận tuần này” đang đếm điều gì. Thẻ có tính cả ca chưa chốt giờ không, hay chỉ tính sự kiện đã được duyệt? Nếu nhóm chưa thống nhất, công thức không thể tự giải quyết khác biệt đó. Chọn ví dụ cho từng trạng thái và nhờ điều phối viên xác nhận kết quả mong đợi. Khi quy tắc đã rõ, mới chuyển nó thành điều kiện dễ đọc trong công thức và chế độ xem.
Sau khi sửa, ghi lại các thuộc tính được dùng, bộ lọc hiện tại và ba trường hợp thử. Người tiếp quản có thể phân biệt dữ liệu thiếu, việc bị loại có chủ ý và lỗi tính. Bảng điều khiển đáng tin khi mọi người hiểu cùng một ý nghĩa, không phải khi mọi ô buộc phải có số. Nếu cách tổ chức ca thay đổi, xem lại quy tắc này thay vì để công thức cũ âm thầm định nghĩa quy trình mới.
Với trung tâm cộng đồng, nhóm tạo thêm chế độ xem “chưa phân công” để thành viên có thể nhận ca còn trống. Thẻ chính chỉ tổng kết ca đã có người chịu trách nhiệm. Hai màn hình phục vụ hai mục đích khác nhau nên không cần cố nhét mọi trạng thái vào một con số. Cách phân chia này giúp điều phối viên nhìn thấy phần việc cần làm mà không làm sai lệch số ca đã được bố trí.
Câu hỏi thường gặp
Công thức Notion trả kết quả trống có luôn là lỗi không?
Không. Một nhánh có thể trả chuỗi rỗng, thuộc tính nguồn có thể thiếu hoặc chế độ xem có thể ẩn dòng. Trước hết hãy kiểm tra bản ghi và bản xem trước.
Vì sao empty() coi số 0 là trống?
Tài liệu cú pháp chính thức của Notion cho biết 0, "" và [] là giá trị trống đối với empty(). Nếu số 0 có ý nghĩa, hãy thiết kế và thử điều kiện theo hành vi này.
Có thể sửa công thức trực tiếp trong cơ sở dữ liệu đang dùng thật không?
Nếu nhiều dòng hoặc tự động hóa bị ảnh hưởng, hãy thử trước trong bản sao an toàn. Giữ công thức cũ để có thể rà soát hoặc khôi phục.
Xem hướng dẫn chính thức của Notion về công thức, cú pháp và hàm, cùng lỗi công thức thường gặp.
Tóm tắt nhanh Kiểm tra dòng nguồn, cách xử lý giá trị trống và chế độ xem trước khi sửa. Thử đầu vào trống, số 0 và giá trị thường trên bản sao.