次の方法で共有


ColumnNames 関数と Column 関数

適用対象: キャンバス アプリ Copilot Studio モデル駆動型アプリ Power Platform CLI Dataverse 関数

動的な値から列名と値を取得します。

説明

ColumnNames関数は、動的レコードのすべての列の名前を返し、そのレコードのすべての名前を持つテーブルを返します。

Column関数は、指定された列名を持つ動的レコードからプロパティの値を返します。 値は 動的な値として返されます。

ColumnNames関数とColumn関数は、動的な値がレコードを表さない場合 (つまり、テーブルまたはスカラー値またはプリミティブ値を表す場合) にエラーを返します。

構文

ColumnNames( DynamicRecord )

  • DynamicRecord – 必須。 レコードを表す 動的な値

Column( DynamicRecord, ColumnName )

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

レコード以外

レコードを表さない動的な値を持つ Column または ColumnNames 関数を呼び出すと、エラーが返されます。 次の一覧のすべての式が間違っています。

エラーの理由
ColumnNames( ParseJSON ( "[1, 2, 3]" ) 動的な値は配列を表します
Column( ParseJSON ( "23.45" ), "Value" ) 動的な値は数値を表します
ColumnNames( ParseJSON ( ""hello"""" ) ) 動的な値はテキストを表します
Column( ParseJSON ( "{""a":false}" ).a, "a" ) 動的な値はブール値を表します