Workflow nó là gì?
Bài 03: Workflow và công thức trong AppsheetWorkflow là một quy trình hoặc chuỗi các bước thực hiện để hoàn thành một tác vụ hoặc dịch vụ cụ thể. Nó có thể bao gồm các hoạt động như ghi nhận thông tin, xử lý dữ liệu, gửi thông báo, hoặc kết nối với các hệ thống khác. Workflow có thể được sử dụng trong rất nhiều lĩnh vực khác nhau, chẳng hạn như kinh doanh, y tế, và công nghệ thông tin. Nó có thể được thiết kế theo các quy tắc cụ thể và được tự động hoặc thủ công thực hiện.
Các bước để tạo ra một workflow có thể khác nhau tùy thuộc vào nền tảng hoặc công cụ mà bạn sử dụng, tuy nhiên, tổng quát thì có thể giới thiệu các bước chung sau:
Xác định mục đích của workflow: Trước khi bắt đầu thiết kế, bạn cần xác định rõ mục đích của workflow và các kết quả mong muốn cần đạt được.
Tạo sơ đồ quy trình: Sử dụng các công cụ hoặc phần mềm để tạo sơ đồ quy trình, bao gồm các bước và các liên kết giữa chúng.
Thiết lập các quy tắc và điều kiện: Định nghĩa các quy tắc và điều kiện để xác định khi nào workflow sẽ được kích hoạt và khi nào sẽ dừng lại.
Thiết lập các hành động: Xác định các hành động sẽ được thực hiện trong quá trình thực hiện workflow, chẳng hạn như gửi thông báo, cập nhật dữ liệu hoặc kết nối với các hệ thống khác.
Kiểm tra và điều chỉnh: Sau khi hoàn thành thiết kế, bạn cần kiểm tra lại workflow để đảm bảo rằng nó hoạt động đúng cách và thực hiện đúng các hành động mong muốn. Nếu cần, bạn có thể điều chỉnh workflow để cải thiện hoạt động hoặc thêm các tính năng mới.
Phổ biến và huấn luyện: Nếu workflow được sử dụng trong một doanh nghiệp, bạn cần phổ biến và huấn luyện cho nhân viên hoặc người dùng sử dụng workflow để đảm bảo rằng họ có thể sử dụng nó một cách hiệu quả.
Theo dõi và đánh giá hiệu quả: sau khi phổ biến và huấn luyện, bạn cần theo dõi và đánh giá hiệu quả của workflow để đảm bảo rằng nó đang hoạt động hiệu quả và đáp ứng được mục đích ban đầu.
Một số công cụ hỗ trợ tạo workflow bao gồm:
Một số quy trình trong thực tế
💡 Thường đối với các trường dữ liệu liên kết với nhau thường sẽ tạo ra 1 hoặc nhiều trường
Tính toán trên Appsheet
Trên Appsheet sẽ hỗ trợ hai loại công thức, công thức trên Appsheet và công thức trên Google sheet, hai loại công thức này đều có ưu điểm và nhược điểm riêng.
💡 Tổng quát, sử dụng công thức trên Appsheet sẽ dễ dàng và nhanh hơn, nhưng công thức trên Google sheet có thể tính toán chính xác hơn. Tùy thuộc vào nhu cầu và mục đích cụ thể của bạn, bạn có thể chọn sử dụng công thức trên Appsheet hoặc công thức trên Google sheet.
Công thức trên Appsheet.
⚠️ Công thức phải viết chính xác cho 100% các điều kiện. Nếu một điều kiện sai thì công thức đó là công thức sai!
Trên Appsheet, có một số quy tắc chung cho viết các công thức:
Sử dụng cú pháp của Appsheet: Các công thức trên Appsheet phải tuân thủ cú pháp của Appsheet, bao gồm các ký tự đặc biệt và các hàm của Appsheet.
Sử dụng tên trường chính xác: Khi sử dụng các trường trong công thức, bạn phải sử dụng tên trường chính xác được cung cấp trong bảng dữ liệu.
Sử dụng dấu ngoặc: Các tham số truyền vào cho các hàm phải được bao quanh bởi dấu ngoặc.
Sử dụng dấu chấm phẩy để phân cách các câu lệnh: Mỗi câu lệnh trong công thức phải được phân cách bằng dấu chấm phẩy.
Chú ý về chữ hoa, chữ thường: Tên trường và các hàm trong công thức phải được viết chính xác theo chữ hoa, chữ thường.
Kiểm tra lỗi: Sau khi viết công thức, hãy kiểm tra lỗi để đảm bảo rằng công thức của bạn hoạt động đúng cách.
Vị trí sử dụng các hàm trong Appsheet
💡 Trong Appsheet có icon ⌛, khi có icon này chúng ta có thể viết các công thức tùy chỉnh các điều kiện hiển thị.

Trong Appsheet, có một số quy tắc cần tuân thủ khi sử dụng hàm (công thức) như sau:
Tên bảng không được đặt trong dấu []
Tên cột phải được đặt trong dấu []
Nếu sử dụng dạng văn bản, phải đặt trong dấu " hoặc ', không thể sử dụng cả hai cùng lúc.
Hàm trong Appsheet yêu cầu giá trị trả về, người dùng phải viết đúng các giá trị trả về.
Appsheet cũng giống như nhiều nên tảng phát triển app khác, nó luôn yêu cầu giá trị trả về chính xác. Cụ thể như sau:
💡 Khi viết công thức cần phải trả về đúng kiểu công thức mà Appsheet yêu cầu. Để biết loại công thức trả về, xem file dưới.
Các hàm trong Appsheet và cách sử dụng
THIS và THISROW
Trong Appsheet có một số hàm đặc biệt như sau:
[_THIS] Trả về KEY của dòng hiện tại
Khi sử dụng hàm [_THIS] sẽ trả về KEY của dòng hiện tại. Ở ví dụ dưới, nếu như ở cột địa chỉ chúng ta sử dụng công thức [_THIS] cho cột địa chỉ, kết quả trả về sẽ là Id của dòng, vì ID lúc này là KEY. Và kết quả trả ra ở dòng 05 là KH2[_THISROW].[ ___ ]
Hàm [_THISROW].[ ___ ] trong AppSheet là một cách để tham chiếu đến các cột của dòng hiện tại trong một biểu thức. Nó hữu ích khi bạn muốn so sánh hoặc lấy giá trị từ một bảng hoặc lát khác có liên quan đến dòng hiện tại.[_THISROW_BEFORE].[ ___ ]
[_THISROW_BEFORE].[ ___ ] trong AppSheet là một cách để tham chiếu đến các giá trị cột trước khi một bản ghi được cập nhật. Nó hữu ích khi bạn muốn hiển thị hoặc so sánh các giá trị cột trước và sau khi cập nhật.
Ví dụ chúng ta có cột SOLUONG
[_THISROW_AFTER].[ ___ ]
[_THISROW_AFTER].[ ___ ] trong AppSheet là một cách để tham chiếu đến các giá trị cột sau khi một bản ghi được cập nhật. Nó hữu ích khi bạn muốn hiển thị hoặc so sánh các giá trị cột trước và sau khi cập nhật1.
Ví dụ: [_THISROW_AFTER].[Priority] sẽ hiển thị giá trị mới của cột Priority trong một mẫu1.
Ví dụ khác: AND ( ("Active" = [_THISROW_AFTER]. [Status]), ( [_THISROW_AFTER]. [Status] <> [_THISROW_BEFORE]. [Status]) ) sẽ kiểm tra xem cột Status có được thay đổi từ một giá trị khác sang Active hay không2.
SELECT VÀ FILTER
SELECT
Hàm SELECT cho phép bạn lấy một danh sách các giá trị từ một cột của một bảng hoặc lát dựa trên một điều kiện lọc. Cú pháp của hàm SELECT như sau:
SELECT (from-dataset-column, select-row?, [distinct-only?])
Trong đó:
from-dataset-column là tên bảng hoặc lát và tên cột mà bạn muốn lấy giá trị, ví dụ Orders [Order ID].
select-row? là một biểu thức Yes/No để xác định xem dòng nào sẽ được chọn hay không, ví dụ ( [Customer] = "John").
distinct-only? là một biểu thức Yes/No để xác định xem bạn có muốn loại bỏ các giá trị trùng lặp hay không. Nếu không có tham số này, mặc định là FALSE.
Ví dụ: Bạn có một bảng Orders với các cột Order ID, Customer, Date, Amount. Bạn muốn lấy danh sách các mã đơn hàng của khách hàng John. Bạn có thể sử dụng hàm SELECT như sau:
SELECT (Orders [Order ID], ( [Customer] = "John"))
Kết quả sẽ là một danh sách các giá trị Order ID của các dòng có giá trị Customer là John. Nếu bạn muốn lấy danh sách không có giá trị trùng lặp, bạn có thể thêm tham số TRUE vào cuối hàm:
SELECT (Orders [Order ID], ( [Customer] = "John"), TRUE)
⇒ SELECT sẽ trả về danh sách dạng list ví dụ lis1, list2 ….
FILTER
Hàm FILTER cho phép bạn lấy một danh sách các Refs từ một bảng hoặc lát dựa trên một điều kiện lọc. Refs là các giá trị của cột khóa của bảng hoặc lát. Cú pháp của hàm FILTER như sau:
FILTER (table-name, filter-expression)
Trong đó:
table-name là tên bảng hoặc lát mà bạn muốn lọc dữ liệu, ví dụ "Orders".
filter-expression là một biểu thức Yes/No để xác định xem dòng nào sẽ được chọn hay không, ví dụ ( [Amount] > 100).
Ví dụ: Bạn có một bảng Orders với các cột Order ID, Customer, Date, Amount. Bạn muốn lấy danh sách các Refs của các đơn hàng có giá trị Amount lớn hơn 100. Bạn có thể sử dụng hàm FILTER như sau:
FILTER ("Orders", ( [Amount] > 100))
Kết quả sẽ là một danh sách các giá trị Order ID của các dòng có giá trị Amount lớn hơn 100.
⇒ FILTER sẽ trả về dạng bảng, tức là toàn bộ cột trong bảng đó
So sánh SELECT và FILTER
Bảng dữ liệu DONHANG mẫu
SO SÁNH
Như vậy FILTER sẽ trả về giá trị toàn bộ bảng (tất cả các cột) còn Select chỉ trả về giá trị của một cột duy nhất
CÁC CÔNG THỨC Ở TRÊN APPSHEET
Trên Appsheet hỗ trợ hơn 120 công thức, tuy vậy thực tế sử dụng chúng ta chỉ sử dụng khoảng 40 công thức.
Dưới đây là công thức
Conditional
Date and time
Informational
Link
List
Logical
Math
Table
Text
Yes/No
Dưới đây là nội dung chi tiết cho từng buổi trong khóa học:
✅Buổi 01: Giới thiệu về nền tảng Nocode và ứng dụng của nó Link
✅Buổi 02: Hiểu rõ hơn về cách xử lý dữ liệu trong doanh nghiệp và trong AppSheet Link
✅Buổi 03: Tìm hiểu về Workflow và công thức trong AppSheet Link
✅Buổi 04: Sử dụng Ref để liên kết dữ liệu giữa các bảng và cách cập nhật dữ liệu Link
✅Buổi 05: Thiết kế giao diện người dùng (User Interface) thuận tiện và thân thiện Link
✅Buổi 06: Khám phá Action trong AppSheet, cách tạo và sử dụng chúng Link
✅Buổi 07: Automation trong AppSheet, giúp tự động hóa các tác vụ hàng ngày Link
✅Buổi 08: Đảm bảo bảo mật và quản trị người dùng hiệu quả Link
✅Buổi 09: Tạo dashboard để theo dõi và điều khiển ứng dụng Link
✅Buổi 10: Kết nối AppSheet với các ứng dụng khác trong hệ sinh thái Google, mở rộng khả năng ứng dụng của nó. Link



