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


ColumnNames і функції ColumnNames

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

Отримує імена стовпців і значення з нетипізованого об’єкта.

Опис

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

Функція Column повертає значення властивості з невведеного запису із заданим іменем стовпця. Значення повертається як нетипізований об’єкт.

Функції ColumnNames і Column повертають помилки, якщо нетипізований об’єкт не представляє запис (тобто, якщо він представляє таблицю, скалярне або примітивне значення).

Синтаксис

ColumnNames( UntypedRecord )

  • UntypedRecord– обов’язковий. Нетипізований об’єкт , який представляє запис.

Column( UntypedRecord; ColumnName )

  • UntypedRecord– обов’язковий. Нетипізований об’єкт , який представляє запис.
  • ColumnName — обов'язковий аргумент. Ім’я стовпця, який потрібно отримати з даного запису.

Приклади

Доступ до значень полів

З огляду на наступний рядок JSON у змінної з іменем JsonString

{ "name": "Seattle", "population": 737000 }
  1. Наведена нижче формула повертає таблицю з одним стовпцем зі Value стовпцем, що містить такі значення: «ім’я», «населення»:

    ColumnNames( ParseJSON( JsonString ) )
    
  2. Наступна формула повертає число 737000:

    Value( Column( ParseJSON( JsonString ), "population" ) )
    

    2.1. Зауважте, що це схоже на . оператор для нетипізованих записів, але ім’я стовпця не обов’язково знати заздалегідь.

  3. Наведена нижче формула повертає текстове значення "name: Seattle, population: 737000":

    With(
        { untyped: ParseJSON( JsonString ) },
        Concat(
            ColumnNames( untyped ),
            $"{Value}: {Column( untyped, Value )}",
            ", "))
    

Пусті значення

З огляду на наступний рядок JSON у змінної з іменем JsonString

{ "text": "text value" , "number": 567, "empty": null }
  1. Спроба отримати доступ до неіснуючих полів повертає Blank(). Наведена нижче формула повертає такий результат true:
    IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
    
  2. Значення 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"}) Нетипізований об’єкт представляє логічне значення