ColumnNames i Column, funkcje
Dotyczy: Aplikacje kanwy Aplikacje oparte na modelu Interfejs Power Platform wiersza polecenia aplikacji opartych na modelu
Pobiera nazwy i wartości kolumn z obiektu bez typu.
Podpis
Funkcja ColumnNames zwraca nazwy wszystkich kolumn z rekordu bez typu, zwracając tabelę z wszystkimi nazwami z tego rekordu.
Funkcja Column zwraca wartość właściwości z rekordu bez typu o podanej nazwie kolumny. Ta wartość jest zwracana jako obiekt bez typu.
Funkcje ColumnNames i Column zwracają błędy, jeśli obiekt bez typu nie reprezentuje rekordu (czyli reprezentuje tabelę lub wartość skalarną albo pierwotną).
Składnia
ColumnNames( UntypedRecord )
- UntypedRecord – Wymagane. Obiekt bez typu, który reprezentuje rekord.
Column(UntypedRecord,ColumnName )
- UntypedRecord – Wymagane. Obiekt bez typu, który reprezentuje rekord.
- ColumnName — wymagane. Nazwa kolumny, która ma zostać pobrana z danego rekordu.
Przykłady
Dostęp do wartości pól
Na względu na następujący ciąg JSON w zmiennej o nazwie JsonString
{ "name": "Seattle", "population": 737000 }
Następująca formuła zwraca tabelę z jedną kolumną, której kolumna
Value
zawiera następujące wartości: "name", "population":ColumnNames( ParseJSON( JsonString ) )
Poniższa formuła zwraca numer
737000
:Value( Column( ParseJSON( JsonString ), "population" ) )
2.1. Należy zauważyć, że jest to element podobny do operatora
.
dla rekordów bez typu, ale nazwa kolumny nie musi być znana wcześniej.Następująca formuła zwraca wartość tekstową
"name: Seattle, population: 737000"
:With( { untyped: ParseJSON( JsonString ) }, Concat( ColumnNames( untyped ), $"{Value}: {Column( untyped, Value )}", ", "))
Wartości puste
Na względu na następujący ciąg JSON w zmiennej o nazwie JsonString
{ "text": "text value" , "number": 567, "empty": null }
- Próba uzyskania dostępu do żadnego pola nie zwraca wartości Puste(). Następująca formuła zwraca wartość
true
:IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
- Wartości JSON
null
są uważane za Blank(). Następująca formuła zwraca wartośćtrue
:IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
Elementy niereprezentujące rekordów
Wywoływanie funkcji Column lub ColumnNames z obiektami bez typu, które nie reprezentują rekordów, zwraca błąd. Wszystkie poniższe wyrażenia zawierają błąd:
Formuła | Przyczyna błędu |
---|---|
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) | Obiekt bez typu reprezentuje tablicę |
Kolumna( ParseJSON ( "23.45" ), "wartość" ) | Obiekt bez typu reprezentuje liczbę |
ColumnNames( ParseJSON ( """hello""" ) ) | Obiekt bez typu reprezentuje tekst |
Kolumna( ParseJSON ( "{""a"":false}" ).a, "a" ) | Obiekt bez typu reprezentuje wartość logiczną |