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


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

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

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

Зведення

Порожнє місце є заповнювачем для "немає значення" або "невідоме значення". Наприклад, властивість елемента керування «Вибране » в полі зі списком є порожньою , якщо користувач не зробив вибір. Багато джерел даних можуть зберігати і повертати значення «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 і value2 . Функція If повертає пусте значення, якщо відсутня формула «інакше», як у цьому випадку.

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

IsEmpty

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

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

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

Синтаксис

Порожній()

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

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

IsBlank( Значення )

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

IsEmpty( Таблиця )

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

Приклади

Пустий

Нотатка

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

  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
Злиття( "", "2" ) Перевіряє перший аргумент, який є пустим рядком. Оскільки перший аргумент є пустим рядком, обчислення продовжується з наступного аргументу, доки не буде знайдено непусте значення або непустий рядок. 2
Coalesce( Blank(), "," Blank(), "", "3", "4" ) Coalesce починається з початку списку аргументів і обчислює кожен аргумент по черзі, доки не буде знайдено непорожнє значення та непорожній рядок. У цьому разі перші чотири аргументи повернуть пусте значення або пустий рядок, тому обчислення продовжиться до п’ятого аргументу. П’ятий аргумент є непустим значенням і непустим рядком, тому на ньому обчислення припиниться. Буде повернуто значення п’ятого аргументу, а шостий аргумент не обчислюватиметься. 3
Об’єднання( "" ) Перевіряє перший аргумент, який є пустим рядком. Оскільки перший аргумент є пустим рядком, а інші аргументи відсутні, функція повертає пусте значення. Порожній

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, яка завжди повертає пусте значення. Справжній
IsBlank( "" ) Рядок, що не містить символів. Справжній
IsBlank( "Привіт" ) Рядок, що містить символ або кілька символів. Брехня
IsBlank( AnyCollection ) Оскільки колекція існує, вона не є пустою, навіть якщо в ній немає записів. Для виконання перевірки наявності пустої колекції слід скористатися функцією IsEmpty. Брехня
IsBlank( mid( "Привіт", 17, 2 ) ) Початковий символ для Mid знаходиться за межами кінця рядка. Результатом є пустий рядок. Справжній
IsBlank( If( false, false ) ) Функція If без аргументу ElseResult. Оскільки умова завжди має значення false, ця функція If завжди повертає пусте значення. Справжній

IsEmpty

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

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

    Колекціонувати (морозиво, { смак: "Полуниця", Кількість: 300 }, { Смак: "Шоколад", Кількість: 100 } )

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

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

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

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

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

    Прозорий ( Морозиво )

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

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

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

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

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

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