ColumnNames 和 Column 函数

适用于: 画布应用 Copilot Studio 模型驱动应用 Power Platform CLI Dataverse 函数

动态值检索列名称和值。

描述

该 ColumnNames 函数从 动态记录返回所有列的名称,并返回包含该记录中所有名称的表。

该 Column 函数从具有给定列名称的 动态记录 中返回属性的值。 该值作为 动态值返回。

如果动态值不表示记录(即表示表或标量或基元值),则ColumnNames和Column函数返回错误。

语法

ColumnNamesDynamicRecord

  • DynamicRecord – 必需。 表示记录的 动态值

ColumnDynamicRecordColumnName

  • DynamicRecord – 必需。 表示记录的 动态值
  • ColumnName - 必需。 要从给定记录中检索的列的名称。

示例

访问字段值

假定在名为 JsonString 的变量中有以下 JSON 字符串

{ "name": "Seattle", "population": 737000 }
  1. 以下公式返回一个单列表,其中 Value 列包含以下值:"name"、"population":

    ColumnNames( ParseJSON( JsonString ) )
    
  2. 以下公式返回数字 737000

    Value( Column( ParseJSON( JsonString ), "population" ) )
    
    • 请注意,此公式类似于.动态记录的运算符,但列名不必事先知道。
  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" ) )
    

Nonrecords

Column使用不表示记录的动态值调用或ColumnNames函数将返回错误。 以下列表中的所有这些表达式都是错误的:

公式 错误原因
ColumnNames(ParseJSON (“[1, 2, 3]” ) 动态值表示数组
Column(ParseJSON (“23.45”), “Value” ) 动态值表示数字
ColumnNames(ParseJSON (“”hello“”) 动态值表示文本
Column(ParseJSON (“{”“a”:false}“ )。a, ”a“ ) 动态值表示布尔值