分享方式:


ColumnNames 和 Column 函數

適用於 畫布應用程式 模型導向應用程式 Power Platform CLI

非類型化物件擷取資料行名稱和值。

描述

ColumnNames 函數傳回非類型化記錄中所有欄位的名稱,並傳回包含該記錄中所有名稱的資料表。

Column 函數從具有指定資料行名稱的非類型化記錄傳回屬性值。 該值會以非類型化物件傳回。

如果非類型化物件不表示記錄 (即如果它表示資料表、標量或原始值),則 ColumnNames 和 Column 函數將傳回錯誤。

語法

ColumnNames( UntypedRecord )

Column( UntypedRecord, ColumnName )

  • UntypedRecord – 必要項目。 代表記錄的非類型化物件
  • ColumnName - 必要項目。 要從指定記錄中擷取之資料行的名稱。

範例

存取欄位值

指定名為 JsonString 變數中的以下 JSON 字串

{ "name": "Seattle", "population": 737000 }
  1. 以下公式會傳回單一資料行表,其中 Value 資料行包含以下值:「名稱」、「人口」:

    ColumnNames( ParseJSON( JsonString ) )
    
  2. 以下公式會傳回數字 737000

    Value( Column( ParseJSON( JsonString ), "population" ) )
    

    2.1. 請注意,這類似於非類型化記錄. 運算符,但不必事先知道資料行名稱。

  3. 以下公式傳回文字值 "name: Seattle, population: 737000"

    With(
        { untyped: ParseJSON( JsonString ) },
        Concat(
            ColumnNames( untyped ),
            $"{Value}: {Column( untyped, Value )}",
            ", "))
    

空白

指定名為 JsonString 變數中的以下 JSON 字串

{ "text": "text value" , "number": 567, "empty": null }
  1. 嘗試存取不存在的欄位將傳回 Blank()。 下列公式會傳回 true
    IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
    
  2. JSON null 值視為 Blank()。 下列公式會傳回 true
    IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
    

非記錄

使用不代表記錄的非類型化物件呼叫 Column 或 ColumnNames 函數會傳回錯誤。 以下所有運算式都是錯誤的:

公式 錯誤的原因
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) 非類型化物件表示陣列
Column( ParseJSON ( "23.45" ), "Value" ) 非類型化物件表示數字
ColumnNames( ParseJSON ( """hello""" ) ) 非類型化物件表示文字
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) 非類型化物件表示布林值