ColumnNames 和 Column 函數
適用於: 畫布應用 模型驅動應用 Power Platform CLI
從非類型化物件擷取資料行名稱和值。
描述
ColumnNames 函數傳回非類型化記錄中所有欄位的名稱,並傳回包含該記錄中所有名稱的資料表。
Column 函數從具有指定資料行名稱的非類型化記錄傳回屬性值。 該值會以非類型化物件傳回。
如果非類型化物件不表示記錄 (即如果它表示資料表、標量或原始值),則 ColumnNames 和 Column 函數將傳回錯誤。
語法
ColumnNames( UntypedRecord )
- UntypedRecord –必需。 代表記錄的非類型化物件。
列(UntypedRecord,ColumnName )
- UntypedRecord –必需。 代表記錄的非類型化物件。
- ColumnName - 必需。 要從指定記錄中擷取之資料行的名稱。
範例
存取欄位值
指定名為 JsonString
變數中的以下 JSON 字串
{ "name": "Seattle", "population": 737000 }
以下公式會傳回單一資料行表,其中
Value
資料行包含以下值:「名稱」、「人口」:ColumnNames( ParseJSON( JsonString ) )
以下公式會傳回數字
737000
:Value( Column( ParseJSON( JsonString ), "population" ) )
2.1. 請注意,這類似於非類型化記錄的
.
運算符,但不必事先知道資料行名稱。以下公式傳回文字值
"name: Seattle, population: 737000"
:With( { untyped: ParseJSON( JsonString ) }, Concat( ColumnNames( untyped ), $"{Value}: {Column( untyped, Value )}", ", "))
空白
指定名為 JsonString
變數中的以下 JSON 字串
{ "text": "text value" , "number": 567, "empty": null }
- 嘗試存取不存在的欄位將傳回 Blank()。 下列公式會傳回
true
:IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
- JSON
null
值視為 Blank()。 下列公式會傳回true
:IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
非記錄
使用不代表記錄的非類型化物件呼叫 Column 或 ColumnNames 函數會傳回錯誤。 以下所有運算式都是錯誤的:
公式 | 錯誤的原因 |
---|---|
ColumnNames (ParseJSON(“[1,2,3]”))) | 非類型化物件表示陣列 |
列 (ParseJSON(“23.45”),“值”) | 非類型化物件表示數字 |
ColumnNames (ParseJSON(“”“你好”“”)) | 非類型化物件表示文字 |
列 (ParseJSON(“{”“a”“”:false}“).a,”a“) | 非類型化物件表示布林值 |