列名和列函数

适用于:画布应用模型驱动应用 Power Platform CLI

非类型化对象中检索列名和值。

描述

ColumnNames 函数返回非类型化记录中所有列的名称,返回一个包含该记录中所有名称的表。

Column 函数返回具有给定列名的非类型化记录的属性值。 该值作为非类型化对象返回。

如果非类型化对象不代表记录(即,如果代表表格或标量或原始值),则 ColumnNames 和 Column 函数将返回错误。

语法

列名非类型化记录

UntypedRecordColumnName

  • 非类型化记录 – 必填。 一个表示记录的非类型化对象
  • ColumnName - 必需。 要从给定记录中检索的列的名称。

示例

访问字段值

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

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

    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" ) )
    

Nonrecords

使用不代表记录的非类型化对象调用 Column 或 ColumnNames 函数会返回错误。 以下所有这些表达式都是错误的:

公式 错误原因
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) 非类型化对象表示数组
Column( ParseJSON ( "23.45" ), "Value" ) 非类型化对象表示数字
ColumnNames( ParseJSON ( """hello""" ) ) 非类型化对象表示文本
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) 非类型化对象表示布尔值