PowerApps cung cấp nhiều nhóm hàm để xử lý dữ liệu, giao diện và logic trong ứng dụng. Việc nắm rõ từng nhóm hàm giúp phát triển ứng dụng nhanh hơn và tránh lỗi khó xử lý. Tài liệu này tổng hợp 1 số nhóm hàm và các hàm thông dụng trong từng nhóm.
Mục lục
- 1 Nhóm hàm toán học (Math Functions)
- 2 Nhóm hàm logic (Logical Functions)
- 3 Nhóm hàm xử lý chuỗi (Text Functions)
- 4 Nhóm hàm ngày giờ (Date & Time Functions)
- 5 Nhóm hàm bảng và bản ghi (Table & Record Functions)
- 6 Nhóm hàm biến và ngữ cảnh (Variable & Context Functions)
- 7 Nhóm hàm thao tác biểu mẫu (Form Functions)
- 8 Nhóm hàm thao tác dữ liệu (Data Functions)
- 9 Nhóm hàm thông báo và điều hướng (Notification & Navigation Functions)
- 10 Kết luận
Nhóm hàm toán học (Math Functions)
Các hàm phổ biến:
- Abs(Number) – Trả về giá trị tuyệt đối.
- Round(Number, DecimalPlaces) – Làm tròn đến số thập phân xác định.
- RoundUp, RoundDown – Làm tròn lên hoặc xuống.
- Sqrt(Number) – Căn bậc hai.
- Rand() – Sinh số ngẫu nhiên từ 0 đến 1.
Lưu ý:
- Nên dùng Round thay vì Text(…, “0.00”) khi cần tính toán chính xác.
- Rand() thay đổi mỗi lần app render, cần lưu vào biến nếu muốn cố định.
Nhóm hàm logic (Logical Functions)
Các hàm phổ biến:
- If(Condition, Result1, Result2) – Kiểm tra điều kiện.
- IfError(Value, Fallback) – Xử lý khi có lỗi.
- Switch(Condition, Case1, Result1, Case2, Result2, Default) – Thay thế cho nhiều lệnh If.
- IsBlank(Value) – Kiểm tra rỗng.
- IsEmpty(Table) – Kiểm tra bảng không có bản ghi.
Ví dụ:
If(
IsBlank(TextInput1.Text),
Notify("Bạn cần nhập tên!", NotificationType.Error),
Notify("Dữ liệu hợp lệ", NotificationType.Success)
)Lưu ý:
- Dùng IsBlank() để kiểm tra rỗng với Text Input hoặc Control.
- Dùng IsEmpty() cho bảng/collection.
- Tránh lồng nhiều If → thay bằng Switch để code dễ đọc.
Nhóm hàm xử lý chuỗi (Text Functions)
Các hàm phổ biến:
- Len(Text) – Độ dài chuỗi.
- Left(Text, N) / Right(Text, N) – Lấy ký tự thứ N từ trái/phải.
- Mid(Text, Start, Length) – Cắt chuỗi.
- Upper, Lower, Proper – Chuyển chữ hoa, thường, hoặc viết hoa chữ cái đầu.
- Concatenate(Text1, Text2, …) hoặc Text1 & Text2 – Ghép chuỗi.
- Substitute(Text, Old, New) – Thay thế chuỗi.
Ví dụ:
Concatenate("Xin chào, ", User().FullName)Kết quả: Xin chào, Tony Nguyen
Lưu ý:
- Dùng & để nối nhanh: “A” & “B” → “AB”.
- Với dữ liệu Lookup, cần .Value để lấy text.
Nhóm hàm ngày giờ (Date & Time Functions)
Các hàm phổ biến:
- Today() – Lấy ngày hiện tại (không có giờ).
- Now() – Lấy ngày giờ hiện tại.
- DateAdd(Date, Number, Unit) – Cộng/trừ ngày.
- DateDiff(Date1, Date2, Unit) – Tính số ngày/giờ/tháng giữa 2 thời điểm.
- Weekday(Date) – Trả về thứ trong tuần.
- Year, Month, Day, Hour, Minute, Second – Lấy thành phần của ngày giờ.
Ví dụ:
DateDiff(DatePicker1.SelectedDate, Today(), Days)→ Tính số ngày từ ngày chọn đến hôm nay.
Lưu ý:
- Luôn format lại khi lưu vào SharePoint để tránh sai múi giờ.
- Trong công thức điều kiện, nên dùng DateValue khi so sánh với Text.
Nhóm hàm bảng và bản ghi (Table & Record Functions)
Các hàm phổ biến:
- Filter(Table, Condition) – Lọc dữ liệu.
- Sort(Table, Column, SortOrder) – Sắp xếp.
- SortByColumns(Table, “Column”, Ascending/Descending) – Sắp xếp theo tên cột.
- LookUp(Table, Condition, Result) – Lấy một giá trị từ bản ghi đầu tiên khớp điều kiện.
- Search(Table, Text, Columns…) – Tìm kiếm toàn văn.
- AddColumns(Table, “NewColumn”, Formula) – Thêm cột tạm.
- ShowColumns(Table, Column1, Column2) – Lấy cột cần thiết.
- DropColumns(Table, Column1, Column2) – Bỏ cột không cần thiết.
- First(Table), Last(Table) – Lấy bản ghi đầu/cuối.
Ví dụ:
ClearCollect(
colOrders,
Filter(Orders, Status = "Pending")
)→ Lưu tất cả đơn hàng Pending vào collection colOrders.
Lưu ý:
- LookUp trả về một bản ghi duy nhất.
- Nếu dữ liệu lớn (SharePoint > 2000 bản ghi) → chú ý Delegation Warning.
- Ưu tiên SortByColumns thay vì Sort để tránh lỗi delegation.
Nhóm hàm biến và ngữ cảnh (Variable & Context Functions)
Các hàm phổ biến:
- Set(VariableName, Value) – Tạo biến toàn cục.
- UpdateContext({Variable: Value}) – Tạo biến cục bộ trong màn hình.
- ClearCollect(Collection, Table) – Xóa và thu thập dữ liệu vào bộ sưu tập.
- Collect(Collection, Record) – Thêm dữ liệu vào collection.
- Clear(Collection) – Xóa toàn bộ dữ liệu trong collection.
Ví dụ:
Set(CurrentUser, User().Email)→ Lưu email người dùng hiện tại vào biến toàn cục CurrentUser.
Lưu ý:
- UpdateContext chỉ tồn tại trong 1 màn hình.
- Set dùng cho biến toàn cục (mọi màn hình).
- Dùng Navigate(Screen2, ScreenTransition.Fade) để điều hướng đẹp hơn.
Nhóm hàm thao tác biểu mẫu (Form Functions)
Các hàm phổ biến:
- SubmitForm, ResetForm: Gửi và reset form.
- Patch: Cập nhật dữ liệu linh hoạt.
- Defaults: Tạo bản ghi mới.
- Error, Valid: Xử lý lỗi khi submit.
Ví dụ:
Patch(
Orders,
Defaults(Orders),
{ Title: TextInput1.Text, Quantity: Value(TextInput2.Text) }
)→ Thêm mới bản ghi vào Orders list.
Lưu ý:
- Patch linh hoạt hơn SubmitForm, phù hợp khi xử lý nhiều bảng.
- Khi dùng Patch với Lookup field → cần {FieldName: {Id: value}}.
Nhóm hàm thao tác dữ liệu (Data Functions)
Các hàm phổ biến:
- Patch(DataSource, Defaults(DataSource), Record) – Tạo mới bản ghi.
- Patch(DataSource, Record, Updates) – Cập nhật bản ghi.
- Remove(DataSource, Record) – Xóa bản ghi.
- RemoveIf(DataSource, Condition) – Xóa bản ghi theo điều kiện.
- UpdateIf(DataSource, Condition, Updates) – Cập nhật theo điều kiện.
Lưu ý:
- Patch phù hợp khi muốn kiểm soát chi tiết dữ liệu cập nhật.
- Với SharePoint List, nên kiểm tra trường Lookup, Choice, People cần .Value hoặc bản ghi.
- RemoveIf không có undo, nên cẩn trọng khi áp dụng.
Các hàm phổ biến:
- Notify(“Message”, NotificationType) – Hiển thị thông báo (Success, Error, Warning).
- Navigate(ScreenName, ScreenTransition) – Điều hướng sang màn hình khác.
- Back() – Quay về màn hình trước.
Ví dụ:
Notify("Dữ liệu đã lưu thành công", NotificationType.Success)Lưu ý:
- Notify nên dùng kèm thời gian ngắn để tránh làm phiền người dùng.
- Coalesce hữu ích khi cần thay giá trị mặc định:
Coalesce(TextInput1.Text, "N/A")Vui lòng truy cập tài liệu tham chiếu để hiểu hơn cách thức sử dụng của các hàm trên và đọc hiểu thêm các hàm khác: Power Fx formula reference – Power Platform | Microsoft Learn
Kết luận
Nắm vững các nhóm hàm trong PowerApps giúp việc phát triển ứng dụng trở nên dễ dàng, logic rõ ràng và hiệu năng tối ưu hơn. Người mới nên bắt đầu với các nhóm hàm cơ bản: Toán học, Logic, Chuỗi, Ngày giờ, sau đó mở rộng sang Xử lý bảng, Biến, Patch.
Đối với các ứng dụng quy mô lớn, cần đặc biệt lưu ý đến delegation (giới hạn khi truy vấn dữ liệu) để tránh mất dữ liệu khi chạy trên nguồn dữ liệu như SharePoint.
Data Analyst
