Funções ColumnNames e Column
Aplica-se a: Aplicativos Canvas Aplicativos baseados em modelos Power Platform CLI
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
NomesdeColunas( 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 }
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 ) )
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.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 }
- A tentativa de acessar campos não existentes retorna Blank(). A fórmula a seguir retorna
true
:IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
- Os valores
null
JSON são considerados Blank(). A fórmula a seguir retornatrue
: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 |
---|---|
Nomes de colunas( ParseJSON ( "[1, 2, 3]" ) ) | O objeto sem tipo representa uma matriz |
Coluna( ParseJSON ("23.45"), "Valor") | O objeto sem tipo representa um número |
ColumnNames( ParseJSON ( """olá""" ) ) | O objeto sem tipo representa um texto |
Coluna( ParseJSON ( "{""a"":false}" ).a, "a" ) | O objeto sem tipo representa um valor booliano |