ColumnNames e funcións Column
Aplícase a: Aplicacións de lenzo Aplicacións baseadas en modelos Power Platform CLI
Recupera os nomes e os valores das columnas de an obxecto sen tipo.
Descripción
A función ColumnNames devolve os nomes de todas as columnas dun rexistro sen escribir, devolvendo unha táboa con todos os nomes dese rexistro.
A función Columna devolve o valor dunha propiedade dun rexistro sen escribir co nome da columna. O valor devólvese como obxecto sen tipo.
As funcións ColumnNames e Column devolven erros se o obxecto sen tipo non representa un rexistro (é dicir, se representa unha táboa ou un valor escalar ou primitivo).
Sintaxe
ColumnNames( UntypedRecord )
- UntypedRecord – Obrigatorio. Un obxecto sen tipo que representa un rexistro.
Columna( UntypedRecord, ColumnName )
- UntypedRecord – Obrigatorio. Un obxecto sen tipo que representa un rexistro.
- ColumnName : é obrigatorio. O nome da columna que se vai recuperar do rexistro indicado.
Exemplos
Acceso a valores de campo
Dada a seguinte cadea JSON nunha variable chamada JsonString
{ "name": "Seattle", "population": 737000 }
A seguinte fórmula devolve unha táboa dunha soa columna cunha
Value
columna que contén os seguintes valores: "nome", "poboación":ColumnNames( ParseJSON( JsonString ) )
A seguinte fórmula devolve o número
737000
:Value( Column( ParseJSON( JsonString ), "population" ) )
2.1. Teña en conta que isto é semellante ao
.
operador de rexistros non tipificados, pero o nome da columna non é necesario coñecer previamente.A seguinte fórmula devolve o valor de texto
"name: Seattle, population: 737000"
:With( { untyped: ParseJSON( JsonString ) }, Concat( ColumnNames( untyped ), $"{Value}: {Column( untyped, Value )}", ", "))
En branco
Dada a seguinte cadea JSON nunha variable chamada JsonString
{ "text": "text value" , "number": 567, "empty": null }
- Ao tentar acceder a campos inexistentes mostra Blank(). A fórmula seguinte devolve
true
:IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
- Os valores JSON
null
considéranse Blank(). A fórmula seguinte devolvetrue
:IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
Non rexistros
A chamada ás funcións Column ou ColumnNames con obxectos sen escribir que non representan rexistros devolve un erro. Todas as seguintes expresións son erróneas:
Fórmula | Motivo do erro |
---|---|
ColumnNames( ParseJSON ("[1, 2, 3]" ) ) | Obxecto sen tipo representa unha matriz |
Columna( ParseJSON ("23.45"), "Valor" ) | Obxecto sen tipo representa un número |
ColumnNames( ParseJSON ("""hola""" )) | Obxecto sen tipo representa un texto |
Columna( ParseJSON ( "{""a"":false}" ).a, "a" ) | Obxecto sen tipo representa un valor booleano |