ColumnNames i Column, funkcje

Dotyczy: Aplikacje kanwy Aplikacje oparte na modelu Power Platform CLI

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 )

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 }
  1. 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 ) )
    
  2. 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.

  3. 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 }
  1. 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" ) )
    
  2. 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ę
Column( ParseJSON ( "23.45" ), "Value" ) Obiekt bez typu reprezentuje liczbę
ColumnNames( ParseJSON ( """hello""" ) ) Obiekt bez typu reprezentuje tekst
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) Obiekt bez typu reprezentuje wartość logiczną