ColumnNames と Column 関数

適用対象: Canvas アプリ モデル駆動型アプリ Power Platform CLI

列名と値を 型指定されていないオブジェクト から取得します。

説明

ColumnNames 関数は、型指定されていないレコード からすべての列の名前を返し、そのレコードのすべての名前を含むテーブルを返します。

Column 関数は、指定した列名の 指定されていないレコード からプロパティの値を返します。 値は、型指定されていないオブジェクト として返されます。

型指定されていないオブジェクト がレコードを表していない場合 (つまり、テーブル、スカラー、またはプリミティブの値を表す場合)、ColumnNames 関数と Column 関数はエラーを返します。

構文

ColumnNames( UntypedRecord )

Column( UntypedRecord, 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" ) )
    

レコード以外

レコードを表さない型指定されていないオブジェクトで、Column 関数または ColumnNames 関数を呼び出すと、エラーが返されます。 以下の式はすべて誤りです:

エラーの理由
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) 型指定されていないオブジェクトは配列を表します
Column( ParseJSON ( "23.45" ), "Value" ) 型指定されていないオブジェクトは数値を表します
ColumnNames( ParseJSON ( """hello""" ) ) 型指定されていないオブジェクトはテキストを表します
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) 型指定されていないオブジェクトはブール値を表します