Compartilhar via


Funções ColumnNames e Column

Aplica-se a: Aplicativos de tela Aplicativos baseados em modelo CLI do Power Platform

Recupera nomes de colunas e valores de um objeto sem tipo.

Descrição

A função ColumnNames retorna os nomes de todas as colunas de um registro sem tipo, retornando uma tabela com todos os nomes desse registro.

A função Column retorna o valor de uma propriedade de um registro sem tipo com o nome de coluna fornecido. O valor é retornado como um objeto sem tipo.

As funções ColumnNames e Column retornarão erros se o objeto sem tipo não representar um registro (ou seja, se representar uma tabela ou um valor escalar ou primitivo).

Sintaxe

ColumnNames( UntypedRecord )

  • UntypedRecord – Obrigatório. Um objeto sem tipo que representa um registro.

Coluna( UntypedRecord, ColumnName )

  • UntypedRecord – Obrigatório. Um objeto sem tipo que representa um registro.
  • ColumnName - obrigatório. O nome da coluna a ser recuperada do registro fornecido.

Exemplos

Acessar valores de campo

Considerando a seguinte cadeia de caracteres JSON em uma variável chamada JsonString

{ "name": "Seattle", "population": 737000 }
  1. A fórmula a seguir retorna uma tabela de coluna única com uma coluna Value contendo os seguintes valores: "nome", "população":

    ColumnNames( ParseJSON( JsonString ) )
    
  2. A fórmula a seguir retorna o número 737000:

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

    2.1. Observe que isso é semelhante ao operador . para registros sem tipo, mas o nome da coluna não precisa ser conhecido previamente.

  3. A seguinte fórmula retorna o valor de texto "name: Seattle, population: 737000":

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

Em branco

Considerando a seguinte cadeia de caracteres JSON em uma variável chamada JsonString

{ "text": "text value" , "number": 567, "empty": null }
  1. A tentativa de acessar campos não existentes retorna Blank(). A fórmula a seguir retorna true:
    IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
    
  2. Os valores null JSON são considerados Blank(). A fórmula a seguir retorna true:
    IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
    

Sem registros

Chamar as funções Column ou ColumnNames com objetos sem tipo que não representam registros retorna um erro. Todas essas expressões abaixo estão erradas:

Fórmula Razão do erro
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) O objeto sem tipo representa uma matriz
Column( ParseJSON ( "23.45" ), "Value" ) O objeto sem tipo representa um número
ColumnNames( ParseJSON ( """hello""" ) ) O objeto sem tipo representa um texto
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) O objeto sem tipo representa um valor booliano