适用于: 画布应用
Copilot Studio
模型驱动应用
Power Platform CLI
Dataverse 函数
从 动态值检索列名称和值。
描述
该 ColumnNames 函数从 动态记录返回所有列的名称,并返回包含该记录中所有名称的表。
该 Column 函数从具有给定列名称的 动态记录 中返回属性的值。 该值作为 动态值返回。
如果动态值不表示记录(即表示表或标量或基元值),则ColumnNames和Column函数返回错误。
语法
ColumnNames( DynamicRecord )
- DynamicRecord – 必需。 表示记录的 动态值 。
Column( DynamicRecord、 ColumnName )
- DynamicRecord – 必需。 表示记录的 动态值 。
- ColumnName - 必需。 要从给定记录中检索的列的名称。
示例
访问字段值
假定在名为 JsonString 的变量中有以下 JSON 字符串
{ "name": "Seattle", "population": 737000 }
以下公式返回一个单列表,其中
Value列包含以下值:"name"、"population":ColumnNames( ParseJSON( JsonString ) )以下公式返回数字
737000:Value( Column( ParseJSON( JsonString ), "population" ) )- 请注意,此公式类似于
.动态记录的运算符,但列名不必事先知道。
- 请注意,此公式类似于
以下公式返回文本值
"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" ) )
Nonrecords
Column使用不表示记录的动态值调用或ColumnNames函数将返回错误。 以下列表中的所有这些表达式都是错误的:
| 公式 | 错误原因 |
|---|---|
| ColumnNames(ParseJSON (“[1, 2, 3]” ) | 动态值表示数组 |
| Column(ParseJSON (“23.45”), “Value” ) | 动态值表示数字 |
| ColumnNames(ParseJSON (“”hello“”) | 动态值表示文本 |
| Column(ParseJSON (“{”“a”:false}“ )。a, ”a“ ) | 动态值表示布尔值 |