Функції Collect, Clear і ClearCollect
Створення та очищення колекцій, а також додавання записів до джерела даних.
Collect
Застосовується до: програм Canvas Карток Dataverse плагінів із низьким кодом інтерфейсу Power Platform командного рядка
Функція Collect додає записи до джерела даних. До елементів, які можна додати, відносяться нижченаведені.
- Одиночне значення: вноситься в поле Value нового запису. Усі інші властивості залишаються blank.
- Запис: кожна властивість із назвою вноситься до відповідної властивості нового запису. Усі інші властивості залишаються пустими.
- Таблиця: кожен запис таблиці додається як окремий запис джерела даних (описано вище). Таблиця не додається до запису як вкладена таблиця. Для цього спочатку потрібно перенести таблицю в запис.
У разі використання разом із колекцією будуть створені додаткові стовпці, якщо це потрібно. Стовпці для інших джерел даних закріпляються за конкретним джерелом даних, тому додавання нових стовпців неможливе.
Якщо джерела даних ще не існує, створюється колекція.
Іноді колекції використовуються для зберігання глобальних змінних або створення тимчасової копії джерела даних. Компоновані програми базуються на формулах, які автоматично переобчислюються, коли користувач взаємодіє з програмою. Ця перевага недоступна для колекцій, і їх використання може ускладнити створення і розуміння програми. Перш ніж використовувати колекцію в такий спосіб, ознайомтеся зі статтею про роботу зі змінними.
Записи у джерелі даних також можна створити за допомогою функції Patch.
Функція Collect повертає змінене джерело даних як таблицю. Функцію Collect можна використовувати тільки у формулі поведінки.
Скасувати
Застосовується до: програм Canvas
Функція Clear видаляє всі записи колекції. Водночас стовпці колекції залишаються.
Зверніть увагу, що функція Clear працює лише з колекціями, але не з іншими джерелами даних. Для цієї мети можна скористатися функцією RemoveIf( DataSource, true ). Будьте уважні, оскільки буде видалено всі записи зі сховища джерела даних, що може вплинути на інших користувачів.
Скористайтеся функцією Remove для вибіркового видалення записів.
Функція Clear не має значення, що повертається. Її можна використовувати тільки у формулі поведінки.
ClearCollect
Застосовується до: програм Canvas Програм на основі моделі
Функція ClearCollect видаляє всі записи із колекції. Після цього функція додає інший набір записів у ту саму колекцію. Будучи окремою функцією, ClearCollect пропонує комбінацію функцій Clear та Collect.
Функція ClearCollect повертає змінену колекцію як таблицю. Функцію ClearCollect можна використовувати тільки у формулі поведінки.
Делегування
Коли використовується з джерелом даних, ці функції не можна делегувати. Буде отримано лише першу частину джерела даних, а потім – застосовано функцію. У результаті може відображатися не повна історія. Під час редагування може з’явитися попередження, щоб нагадати вам про це обмеження та запропонувати переключитися на делеговані альтернативи, де це можливо. Додаткову інформацію див. у статті Огляд делегування.
Синтаксис
Collect( DataSource, Item, ... )
- DataSource — обов’язковий аргумент. Джерело даних, до якого потрібно додати дані. Якщо його ще не існує, створюється нова колекція.
- Item(s) – обов’язковий аргумент. Один або кілька записів або таблиць, які потрібно додати до джерела даних.
Clear( Collection )
- Collection – обов'язковий аргумент. Колекція, яку потрібно очистити.
ClearCollect( Collection, Item, ... )
- Collection – обов'язковий аргумент. Колекція, яку потрібно очистити, а потім додати до неї дані.
- Item(s) – обов’язковий аргумент. Один або кілька записів або таблиць, які потрібно додати до джерела даних.
Приклади
Очищення та додавання записів до джерела даних
У цих прикладах буде стерто колекцію з ім’ям IceCream (Морозиво) та додано до неї дані. Джерело даних починається з наведеного нижче вмісту.
Формула | Опис | Результат |
---|---|---|
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) | Видаляє всі дані з колекції IceCream, а потім додає запис, що включає кількість морозива з полуничним смаком. | Колекцію IceCream також було змінено. |
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) | Додає два записи до колекції IceCream, що включає кількість морозива із фісташковим та апельсиновим смаками. | Колекцію IceCream також було змінено. |
Clear( IceCream ) | Видаляє всі записи з колекції IceCream. | Колекцію IceCream також було змінено. |
Покрокові приклади створення колекції див. в статті Створення та оновлення колекції.
Записи і таблиці
У цих прикладах розглядається порядок обробки аргументів записів і таблиць для функцій Collect і ClearCollect.
Формула | Опис | Результат |
---|---|---|
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) | Видаляє всі дані, а потім додає два записи до колекції IceCream, що включає кількість морозива з шоколадним і ванільним смаками. Записи, які необхідно додати, надаються як окремі аргументи функції. | Колекцію IceCream також було змінено. |
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) | Відповідає попередньому прикладу, за винятком того, що записи об’єднуються в таблицю та передаються за допомогою одного аргументу. Вміст таблиці видобувається запис за записом перед додаванням до колекції IceCream. | Колекцію IceCream також було змінено. |
ClearCollect( IceCream, { MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } ) |
Відповідає попередньому прикладу, за винятком того, що таблиця переноситься в запис. Записи таблиці не видобуваються. Замість цього вся таблиця додається як клітинка запису. | Колекцію IceCream також було змінено. |