Поділитися через


Функції Blank, Coalesce, IsBlank та IsEmpty

Застосовується до: програм Canvas Стовпців Dataverse формул потоків робочого столу Командного Power Platform рядка програм на основі моделі

Перевірка того, чи є значення пустим або чи не містить таблицязаписів, а також забезпечення способу створення пустих значень.

Зведення

Функція Blank є покажчиком місця заповнення для відсутнього або невідомого значень. Наприклад, в елементі керування Combo box властивість Selected має пусте значення, якщо користувач не робить вибір. Багато джерел даних можуть зберігати і повертати значення «NULL», представлені в Power Apps як пусті.

Властивості або обчислювані значення в Power Apps можуть бути пустими. Наприклад, логічне значення зазвичай має одне з двох значень: true або false. Однак окрім цих двох значень, воно також може бути пустим, що вказує на невідомий стан. Тут можна провести аналогію з програмою Microsoft Excel, у якій клітинка аркуша спочатку може бути пуста, а потім – містити (із-поміж інших) значення TRUE або FALSE. У будь-який момент вміст клітинки може знову бути очищено, а саму клітинку повернуто до пустого стану.

Пустий рядок є рядком, що не містить символів. Функція Len повертає для таких рядків нуль та може записуватися у формулах як подвійні лапки, між якими нічого немає "". Деякі елементи керування та джерела даних використовують пустий рядок для позначення умови відсутності значення. Для спрощення створення програм функції IsBlank і Coalesce виконують перевірку на наявність як пустих значень, так і пустих рядків.

У контексті функції IsEmptyпустий стан характерний для таблиць, що не містять записів. Структура таблиці може бути незмінною, імена стовпців – заповненими, однак у ній не міститиметься даних. Спочатку таблиця може бути пустою, потім – включати записи, перестаючи бути пустою, після чого записи може бути видалено, а таблиця знову стане пустою.

Нотатка

Ми перебуваємо в перехідному періоді. Досі пусте значення також використовувалося для повідомлення про помилки, що унеможливлювало відділення дійсного відсутнього значення від помилки. Тому наразі зберігання пустих значень підтримується лише для локальних колекцій. Ви зможете зберігати пусті значення в інших джерелах даних, якщо увімкнути експериментальну функцію Керування помилками на рівні формул в розділі Параметри>Заплановані функції>Експериментальні. Ми активно працюємо над остаточним доопрацюванням цієї функції та завершуємо належне розділення пустих значень і помилок.

Пустий

Застосовується до: Програми Canvas Стовпці формул програм на основі Dataverse моделі

Функція Blank повертає пусте значення. Використовуйте цю функцію для зберігання значень «NULL» у джерелах даних, що їх підтримують, ефективно видаляючи ці значення з поля.

IsBlank

Застосовується до: програм Canvas Програм на основі моделі

Функція IsBlank виконує перевірку на наявність пустого значення або пустого рядка. Перевірка охоплює пусті рядки для спрощення створення програми, оскільки деякі джерела даних і елементи керування використовують пустий рядок у разі відсутності значення. Щоб виконати перевірку на наявність саме пустого значення, скористайтеся формулою if( Value = Blank(), ... замість функції IsBlank. Функція IsBlank розглядає порожні таблиці як не порожні, а IsEmpty слід використовувати для тестування таблиці.

При вмиканні обробки помилок для існуючих програм розгляньте можливість заміни IsBlank на IsBlankOrError для запобігання помилкам програми. Перед додаванням обробки помилок пусте значення було використано, щоб представляти Null-значення з баз даних і значень помилок. Обробка помилок розділяє ці дві інтерпретації пустих, що може змінити поведінку наявних програм, які продовжують використовувати IsBlank.

Функція повертає логічне значення IsBlank – true або false.

Coalesce

Застосовується до: програм Canvas Програм на основі моделі

Функція Coalesce обчислює свої аргументи за порядком і повертає перше значення, яке не є пустим значенням або пустим рядком. За допомогою цієї функції можна замінити пусте значення або пустий рядок на інше значення, водночас залишаючи непусті значення та непусті рядки незмінними. Якщо всі аргументи пусті або пусті рядки, функція повертає пусті рядки, що робить Coalesce хорошим способом перетворення пустих рядків на пусті значення.

Формула Coalesce( value1, value2 ) є більш лаконічним еквівалентом формули If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) і не вимагає, щоб value1 (значення1) і value2 (значеня2) обчислювалися двічі. Функція If повертає пусте значення, якщо відсутня формула «інакше», як у цьому випадку.

Типи всіх аргументів функції Coalesce мають бути однаковими (наприклад, не можна змішувати числа і текстові рядки). Значення, що повертається з Coalesce, є загальним типом.

IsEmpty

Застосовується до: програм Canvas Програм на основі моделі

Функція IsEmpty перевіряє, чи містить таблиця записи. Її використання прирівнюється до використання функції CountRows і перевірки наявності значення «нуль». Виконати перевірку на наявність помилок джерела даних можна, поєднавши функції IsEmpty та Errors.

Функція повертає логічне значення IsEmpty is a Boolean  – true або false.

Синтаксис

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Value(s) – обов’язковий аргумент. Значення для перевірки. Кожне значення обчислюється за порядком, доки не буде знайдено значення, що не є пустим значенням або пустим рядком. Після цього значення більше не обчислюються.

IsBlank( Value )

  • Value — обов'язковий аргумент. Значення, щодо якого потрібно виконати перевірку на пусте значення або пустий рядок.

IsEmpty( Table )

  • Table – обов’язковий аргумент. Таблиця для перевірки на наявність записів.

Приклади

Пустий

Нотатка

Наразі наведений нижче приклад працює тільки для локальних колекцій. Ви зможете зберігати пусті значення в інших джерелах даних, якщо увімкнути експериментальну функцію Керування помилками на рівні формул в розділі Параметри>Заплановані функції>Експериментальні. Ми активно працюємо над остаточним доопрацюванням цієї функції та завершуємо розділення пустих значень і помилок.

  1. Створіть програму з нуля, а потім додайте елемент керування Кнопка.

  2. Настройте властивість OnSelect кнопки відповідно до нижченаведеної формули.

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Для попереднього перегляду програми клацніть додану кнопку (або торкніться її), а потім закрийте попередній перегляд.

  4. У меню Файл виберіть Колекції.

    Відобразиться колекція Cities (Міста), що містить один запис із значеннями «Seattle» (Сіетл) і «Rainy» (Дощова погода).

    Колекція, у якій для міста Сіетл (Seattle) відображується дощова погода (Rainy).

  5. Натисніть кнопку зі стрілкою назад, щоб повернутися до робочої області за замовчуванням.

  6. Додайте елемент керування Підпис і настройте його властивість Text відповідно до вказаної нижче формули.

    IsBlank( First( Cities ).Weather )
    

    Підпис відображає значення false, тому що поле Weather (Погода) містить значення («Rainy»).

  7. Додайте іншу кнопку та настройте її властивість OnSelect відповідно до нижчезазначеної формули.

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Для попереднього перегляду програми клацніть додану кнопку (або торкніться її), а потім закрийте попередній перегляд.

    Поле Weather першого запису в колекції Cities замінюється пустим значенням, а значення «Rainy» видаляється.

    Колекція, у якій для міста Сіетл (Seattle) відображується пусте значення поля «Погода» (Weather).

    Підпис відображає значення true, тому що поле Weather більше не містить значення.

Coalesce

Формула Опис Результат
Coalesce( Blank(), 1 ) Перевіряє значення, повернуте функцією Blank, яка завжди повертає пусте значення. Оскільки перший аргумент є пустим значенням, обчислення продовжується з наступного аргументу, доки не буде знайдено непусте значення або непустий рядок. 1
Coalesce( "", "2" ) Перевіряє перший аргумент, який є пустим рядком. Оскільки перший аргумент є пустим рядком, обчислення продовжується з наступного аргументу, доки не буде знайдено непусте значення або непустий рядок. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Функція Coalesce починає виконуватися з початку списку аргументів та обчислює кожний аргумент по черзі, доки не буде знайдено непусте значення або непустий рядок У цьому разі перші чотири аргументи повернуть пусте значення або пустий рядок, тому обчислення продовжиться до п’ятого аргументу. П’ятий аргумент є непустим значенням і непустим рядком, тому на ньому обчислення припиниться. Буде повернуто значення п’ятого аргументу, а шостий аргумент не обчислюватиметься. 3
Coalesce( "" ) Перевіряє перший аргумент, який є пустим рядком. Оскільки перший аргумент є пустим рядком, а інші аргументи відсутні, функція повертає пусте значення. пусто

IsBlank

  1. Створіть програму з нуля, додайте елемент керування «Ввід тексту» та назвіть його FirstName (Ім’я).

  2. Додайте надпис і встановіть цю формулу в якості значення його властивості Text:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    За замовчуванням для властивості Text елемента керування «Ввід тексту» встановлено значення «Text input» (Уведення тексту). Оскільки властивість містить значення, вона не є пустою, і підпис не відображає повідомлення.

  3. Видаліть усі символи з елемента керування «Ввід тексту», включно з пробілами.

    Оскільки властивість Text більше не містить символів, вона є пустим рядком, а значенням IsBlank( FirstName.Text ) буде true. Відобразиться повідомлення про обов’язкове поле.

Відомості щодо виконання перевірки за допомогою інших засобів див. в статтях про функцію Validate та роботу з джерелами даних.

Нижче наведено інші приклади.

Формула Опис Результат
IsBlank( Blank() ) Перевіряє значення, повернуте функцією Blank, яка завжди повертає пусте значення. true
IsBlank( "" ) Рядок, що не містить символів. true
IsBlank( "Hello" ) Рядок, що містить символ або кілька символів. false
IsBlank( AnyCollection ) Оскільки колекція існує, вона не є пустою, навіть якщо в ній немає записів. Для виконання перевірки наявності пустої колекції слід скористатися функцією IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Початковий символ для Mid знаходиться за межами кінця рядка. Результатом є пустий рядок. true
IsBlank( If( false, false ) ) Функція If без аргументу ElseResult. Оскільки умова завжди має значення false, ця функція If завжди повертає пусте значення. true

IsEmpty

  1. Створіть програму з нуля, а потім додайте елемент керування Кнопка.

  2. Настройте властивість OnSelect кнопки відповідно до нижченаведеної формули.

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. Для попереднього перегляду програми клацніть додану кнопку (або торкніться її), а потім закрийте попередній перегляд.

    Буде створено колекцію з ім’ям IceCream (Морозиво), що містить вказані нижче дані.

    Таблиця зі смаками Полуниця та Шоколад та кількістю 300 та 100.

    Ця колекція складається з двох записів і не є пустою. IsEmpty( IceCream ) повертає значення false, а CountRows( IceCream ) повертає 2.

  4. Додайте іншу кнопку та настройте її властивість OnSelect відповідно до нижчезазначеної формули.

    Clear( IceCream )

  5. Для попереднього перегляду програми клацніть вищевказану кнопку (або торкніться її), а потім закрийте попередній перегляд.

    Тепер колекція пуста.

    Збірка, де є Смак та Кількість, як пуста збірка.

    Функція Clear видаляє всі записи з колекції, після чого колекція стає пустою. IsEmpty( IceCream ) повертає значення true, а CountRows( IceCream ) повертає 0.

Також можна скористатися функцією IsEmpty, щоб перевірити, чи є обчислена таблиця пустою, як показано в нижченаведених прикладах.

Формула Опис Результат
IsEmpty( [ 1, 2, 3 ] ) Таблиця з одним стовпцем містить три записи, а тому не є пустою. false
IsEmpty( [ ] ) Таблиця з одним стовпцем не містить записів і є пустою. True
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Таблиця з одним стовпцем не містить значень, що перевищують 5. Результат, отриманий за допомогою фільтра, не містить жодних записів і є пустим. true