Các hàm Thu thập, Xóa 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 plugin mã thấp 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. Bạn chỉ có thể sử dụng hàm Collect trong 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 ClearCollect.

ClearCollect trả về bộ sưu tập đã sửa đổi dưới dạng bảng. Bạn chỉ có thể sử dụng hàm ClearCollect 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

Collect( DataSource, Item, ... )

  • DataSource – 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.
  • Item(s) – 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.

Clear( Bộ sưu tập )

  • Collection – Bắt buộc. Bộ sưu tập mà bạn muốn xóa.

ClearCollect( Bộ sưu tập, Mục, ... )

  • Collection – 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.
  • Item(s) – 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:

Nguồn dữ liệu mẫu.

Công thức Mô tả Kết quả
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 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ảng có một bản ghi.

Bộ sưu tập Kem cũng đã được sửa đổi.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 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ảng có hai bản ghi.

Bộ sưu tập Kem cũng đã được sửa đổi.
Clear( IceCream ) Xóa tất cả bản ghi khỏi bộ sưu tập Kem. Bàn trống.

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 CollectClearCollect được xử lý.

Công thức Mô tả Kết quả
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 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ản ghi sô cô la và vani được thêm vào bộ sưu tập.

Bộ sưu tập Kem cũng đã được sửa đổi.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 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ản ghi sô cô la và vani được thêm vào bộ sưu tập và sửa đổi.

Bộ sưu tập Kem cũng đã được sửa đổi.
ClearCollect( IceCream,
{ 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. Các bản ghi Sôcôla và Vani được thêm vào bộ sưu tập được sửa đổi bằng bảng được bọc trong một bản ghi.

Bộ sưu tập Kem cũng đã được sửa đổi.