適用対象: キャンバス アプリ
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" ) )
レコード以外
レコードを表さない動的な値を持つ Column または ColumnNames 関数を呼び出すと、エラーが返されます。 次の一覧のすべての式が間違っています。
| 式 | エラーの理由 |
|---|---|
| ColumnNames( ParseJSON ( "[1, 2, 3]" ) | 動的な値は配列を表します |
| Column( ParseJSON ( "23.45" ), "Value" ) | 動的な値は数値を表します |
| ColumnNames( ParseJSON ( ""hello"""" ) ) | 動的な値はテキストを表します |
| Column( ParseJSON ( "{""a":false}" ).a, "a" ) | 動的な値はブール値を表します |