ColumnNames і функції ColumnNames
Застосовується до: програм Canvas Програм Power Platform CLI на основі моделі
Отримує імена стовпців і значення з нетипізованого об’єкта.
Опис
Функція ColumnNames повертає імена всіх стовпців з невведеного запису, повертаючи таблицю з усіма іменами з цього запису.
Функція Column повертає значення властивості з невведеного запису із заданим іменем стовпця. Значення повертається як нетипізований об’єкт.
Функції ColumnNames і Column повертають помилки, якщо нетипізований об’єкт не представляє запис (тобто, якщо він представляє таблицю, скалярне або примітивне значення).
Синтаксис
ColumnNames( UntypedRecord )
- UntypedRecord– обов’язковий. Нетипізований об’єкт , який представляє запис.
Column( UntypedRecord; ColumnName )
- UntypedRecord– обов’язковий. Нетипізований об’єкт , який представляє запис.
- ColumnName — обов'язковий аргумент. Ім’я стовпця, який потрібно отримати з даного запису.
Приклади
Доступ до значень полів
З огляду на наступний рядок JSON у змінної з іменем JsonString
{ "name": "Seattle", "population": 737000 }
Наведена нижче формула повертає таблицю з одним стовпцем зі
Value
стовпцем, що містить такі значення: «ім’я», «населення»:ColumnNames( ParseJSON( JsonString ) )
Наступна формула повертає число
737000
:Value( Column( ParseJSON( JsonString ), "population" ) )
2.1. Зауважте, що це схоже на
.
оператор для нетипізованих записів, але ім’я стовпця не обов’язково знати заздалегідь.Наведена нижче формула повертає текстове значення
"name: Seattle, population: 737000"
:With( { untyped: ParseJSON( JsonString ) }, Concat( ColumnNames( untyped ), $"{Value}: {Column( untyped, Value )}", ", "))
Пусті значення
З огляду на наступний рядок JSON у змінної з іменем JsonString
{ "text": "text value" , "number": 567, "empty": null }
- Спроба отримати доступ до неіснуючих полів повертає Blank(). Наведена нижче формула повертає такий результат
true
:IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
- Значення JSON
null
вважаються Blank(). Наведена нижче формула повертає такий результатtrue
:IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
Нерекорди
Виклик функцій Column або ColumnNames з нетипізованими об’єктами, які не представляють записи, повертає помилку. Всі наведені нижче вирази є помилковими:
Формула | Причина помилки |
---|---|
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) | Нетипізований об’єкт представляє масив |
column( ParseJSON ( "23.45" ), "Значення" ) | Нетипізований об’єкт представляє число |
ColumnNames( ParseJSON ( """привіт""" ) | Нетипізований об’єкт представляє текст |
Column( ParseJSON ( """"a":false{" ).a, "a"}) | Нетипізований об’єкт представляє логічне значення |