Các hàm Collect, Clear và ClearCollect
Tạo và xóa bộ sưu tập và thêm bản ghi vào bất kỳ nguồn dữ liệu nào.
Collect
Áp dụng cho: Ứng dụng Canvas Thẻ Dataverse ít viết mã plug-in Power Platform CLI Luồng máy tính để bàn
Hàm Collect thêm các bản ghi vào một nguồn dữ liệu. Các mục được thêm vào có thể là:
- Một giá trị duy nhất: Giá trị được đặt trong trường Value của một bản ghi mới. Tất cả các thuộc tính khác được bỏ blank.
- Một bản ghi: Mỗi thuộc tính có tên được đặt trong thuộc tính tương ứng của một bản ghi mới. Tất cả các thuộc tính khác được bỏ trống.
- Một bảng: Mỗi bản ghi của bảng được thêm dưới dạng bản ghi riêng của nguồn dữ liệu như được mô tả ở trên. Bảng này không được thêm dưới dạng bảng lồng vào bản ghi. Để làm điều này, hãy bọc bảng trong một bản ghi.
Khi được dùng với một bộ sưu tập, các cột bổ sung sẽ được tạo khi cần. Các cột cho nguồn dữ liệu khác được cố định bởi nguồn dữ liệu và không thể thêm các cột mới.
Nếu nguồn dữ liệu không tồn tại, một bộ sưu tập sẽ được tạo.
Đôi khi, bộ sưu tập được dùng để lưu giữ các biến chung hoặc tạo bản sao tạm thời của nguồn dữ liệu. Các ứng dụng Canvas dựa trên công thức tự động tính toán lại khi người dùng tương tác với ứng dụng. Bộ sưu tập không dùng được lợi ích này và việc sử dụng có thể khiến ứng dụng khó tạo và khó hiểu hơn. Trước khi sử dụng bộ sưu tập theo cách này, hãy xem lại cách thao tác với các biến.
Bạn cũng có thể sử dụng hàm Patch để tạo bản ghi trong nguồn dữ liệu.
Collect trả về nguồn dữ liệu đã sửa đổi dưới dạng bảng. Collect chỉ có thể được sử dụng trong một công thức hành vi.
Xóa sạch
Áp dụng cho: Ứng dụng Canvas
Hàm Clear xóa tất cả bản ghi của một bộ sưu tập. Các cột của bộ sưu tập sẽ giữ nguyên.
Lưu ý rằng hàm Clear chỉ hoạt động với các bộ sưu tập chứ không phải các nguồn dữ liệu khác. Bạn có thể dùng hàm RemoveIf( DataSource, true ) cho mục đích này. Hãy thận trọng khi dùng vì điều này sẽ xóa tất cả bản ghi khỏi bộ nhớ của nguồn dữ liệu và có thể ảnh hưởng đến người dùng khác.
Bạn có thể dùng hàm Remove để xóa bản ghi có chọn lọc.
Clear không có giá trị trả về. Chỉ có thể dùng hàm này trong công thức hành vi.
ClearCollect
Áp dụng cho: Ứng dụng Canvas Ứng dụng dựa trên mô hình
Hàm ClearCollect xóa tất cả bản ghi khỏi bộ sưu tập. Sau đó thêm một tập hợp bản ghi khác vào cùng một bộ sưu tập. Chỉ với một hàm duy nhất, ClearCollect kết hợp hàm Clear và Collect.
ClearCollect trả về bộ sưu tập đã sửa đổi dưới dạng bảng. ClearCollect chỉ có thể được sử dụng trong công thức hành vi.
Đại diện
Khi được dùng với một nguồn dữ liệu, bạn không thể ủy nhiệm các chức năng này. Chỉ có phần đầu tiên của nguồn dữ liệu mới được truy xuất, phần còn lại sau đó sẽ áp dụng hàm. Kết quả có thể không thể hiện toàn bộ câu chuyện. Một cảnh báo có thể xuất hiện vào lúc biên soạn để nhắc bạn về hạn chế này và gợi ý chuyển sang dùng các hình thức ủy nhiệm thay thế khi có thể. Để biết thêm thông tin, xem bản tổng quan ủy nhiệm.
Cú pháp
Thu thập( Nguồn dữ liệu, Mục, ... )
- Nguồn dữ liệu – Bắt buộc. Nguồn dữ liệu mà bạn muốn thêm dữ liệu vào. Nếu không tồn tại nguồn dữ liệu, một bộ sưu tập mới sẽ được tạo.
- Mục - Bắt buộc. Một hoặc nhiều bản ghi hoặc bảng sẽ thêm vào nguồn dữ liệu.
Xóa( Bộ sưu tập )
- Bộ sưu tập – Bắt buộc. Bộ sưu tập mà bạn muốn xóa.
ClearCollect( Bộ sưu tập, Mục, ... )
- Bộ sưu tập – Bắt buộc. Bộ sưu tập mà bạn muốn xóa rồi thêm dữ liệu vào.
- Mục - Bắt buộc. Một hoặc nhiều bản ghi hoặc bảng sẽ thêm vào nguồn dữ liệu.
Ví dụ
Xóa và thêm bản ghi vào nguồn dữ liệu
Trong các ví dụ sau, bạn sẽ xóa và thêm vào một bộ sưu tập tên là Kem. Nguồn dữ liệu bắt đầu bằng những nội dung sau:
Công thức | Mô tả | Kết quả |
---|---|---|
ClearCollect(Kem, { Hương vị: "Dâu tây", Số lượng: 300 } ) | Xóa tất cả dữ liệu khỏi bộ sưu tập Kem rồi thêm bản ghi bao gồm số lượng kem dâu. | Bộ sưu tập Kem cũng đã được sửa đổi. |
Thu thập (Kem, { Hương vị: "Hạt dẻ cười", Số lượng: 40 }, { Hương vị: "Cam", Số lượng: 200 } ) | Thêm hai bản ghi vào bộ sưu tập Kem bao gồm một số lượng kem hồ trăn và kem cam. | Bộ sưu tập Kem cũng đã được sửa đổi. |
Trong suốt (Kem) | Xóa tất cả bản ghi khỏi bộ sưu tập Kem. | Bộ sưu tập Kem cũng đã được sửa đổi. |
Để biết ví dụ chi tiết về cách tạo bộ sưu tập, hãy xem Tạo và cập nhật bộ sưu tập.
Bản ghi và bảng
Các ví dụ sau xem xét cách các đối số bản ghi và bảng của hàm Collect và ClearCollect được xử lý.
Công thức | Mô tả | Kết quả |
---|---|---|
ClearCollect(Kem, { Hương vị: "Chocolate", Số lượng: 100 }, { Hương vị: "Vanilla", Số lượng: 200 } ) | Xóa tất cả dữ liệu rồi thêm hai bản ghi vào bộ sưu tập Kem bao gồm một số lượng kem chocolate và vani. Các bản ghi được thêm được cung cấp dưới dạng đối số riêng cho hàm. | Bộ sưu tập Kem cũng đã được sửa đổi. |
ClearCollect(Kem, Bảng( { Hương vị: "Sô cô la", Số lượng: 100 }, { Hương vị: "Vanilla", Số lượng: 200 } ) ) | Giống như ví dụ trước, ngoại trừ các bản ghi được kết hợp trong một bảng và truyền qua một đối số duy nhất. Nội dung của bảng được trích xuất theo bản ghi trước khi được thêm vào bộ sưu tập Kem. | Bộ sưu tập Kem cũng đã được sửa đổi. |
ClearCollect(Kem, { MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } ) |
Giống như ví dụ trước, ngoại trừ bảng được bọc trong một bản ghi. Các bản ghi của bảng không được trích xuất mà thay vào đó, toàn bộ bảng được thêm dưới dạng ô của bản ghi. | Bộ sưu tập Kem cũng đã được sửa đổi. |