Funções ColumnNames e Column

Aplica-se a: Aplicações de tela Aplicações condicionadas por modelo CLI do Power Platform

Obtém os nomes e valores das colunas de um objeto sem tipo.

Descrição

A função ColumnNames devolve os nomes de todas as colunas de um registo sem tipo, devolvendo uma tabela com todos os nomes desse registo.

A função Column devolve o valor de uma propriedade a partir de um registo sem tipo com o nome de coluna indicado. O valor é devolvido como um objeto sem tipo.

As funções ColumnNames e Column devolvem erros se o objeto sem tipo não representar um registo (isto é, se representa uma tabela ou um valor escalar ou primitivo).

Sintaxe

ColumnNames( UntypedRecord )

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

Column( UntypedRecord, ColumnName )

  • UntypedRecord – Obrigatório. Um objeto sem tipo que representa um registo.
  • ColumnName – Obrigatório. O nome da coluna a ser obtida do registo fornecido.

Exemplos

Aceder a valores de campo

Tendo em atenção a seguinte cadeia JSON numa variável denominada JsonString

{ "name": "Seattle", "population": 737000 }
  1. A fórmula seguinte devolve uma tabela de coluna única com uma coluna Value que contém os seguintes valores: "nome", "população":

    ColumnNames( ParseJSON( JsonString ) )
    
  2. A fórmula seguinte obtém o número 737000:

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

    2.1. Tenha em atenção que este é semelhante ao operador . para registos sem tipo, mas o nome da coluna não tem de ser conhecido de antemão.

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

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

Espaços em branco

Tendo em atenção a seguinte cadeia JSON numa variável denominada JsonString

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

Não registos

Chamar as funções Column ou ColumnNames com objetos sem tipo que não representam registos devolve 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 booleano