Partilhar via


ColumnNames e Column funções

Aplica-se a: Aplicativos Canvas Estúdio Copiloto Aplicações orientadas por modelos Funções do Power Platform CLI Dataverse

Recupera nomes e valores de colunas de um valor dinâmico.

Descrição

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

A Column função retorna o valor de uma propriedade de um registro dinâmico com o nome da coluna fornecido. O valor é retornado como um valor dinâmico.

As ColumnNames funções e Column retornam erros se o valor dinâmico não representar um registro (ou seja, se representar uma tabela ou um valor escalar ou primitivo).

Sintaxe

ColumnNames( DynamicRecord )

  • DynamicRecord – Obrigatório. Um valor dinâmico que representa um registro.

Column( DynamicRecord, ColumnName )

  • DynamicRecord – Obrigatório. Um valor dinâmico que representa um registro.
  • 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" ) )
    
    • Observe que essa fórmula é semelhante ao . operador para registros dinâmicos, mas o nome da coluna não precisa 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 Column funções ou ColumnNames com valores dinâmicos que não representam registros retorna um erro. Todas essas expressões na lista a seguir estão erradas:

Fórmula Razão do erro
ColumnNames( ParseJSON ( "[1, 2, 3]" ) O valor dinâmico representa uma matriz
Column( ParseJSON ( "23.45" ), "Valor" ) O valor dinâmico representa um número
ColumnNames( ParseJSON ( """olá""" ) O valor dinâmico representa um texto
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) O valor dinâmico representa um valor booleano