ユーザー定義型(UDT)Tips コレクション定義にも使えそう※試験段階機能です

はじめに

前回の記事でユーザー定義型(UDT)が新たに追加された点を記事にしました。現時点ではまだ試験段階の機能です。
ParseJSONと合わせて使用して第2引数に指定することで、定義した型でキャストしてくれ大変便利に使えます。
こちらについて、コレクションのデータ定義にも使えそうだぞ!と思ったのでおまけの記事として書いてます。

NOTE

NOTE!本機能は試験段階のため今後更新や挙動変更となる可能性が十分あります。実運用アプリへの適用などはお勧めできないため、用途に合わせてご利用ください。

この記事は、Microsoft Power Apps Advent Calendar 2024 12月8日担当分の記事です。

ユーザー定義型の概要や設定

こちらについては以下の記事をご参考ください。

空文字でParseJSONしてコレクションのスキーマ定義

ユーザー定義型を使ったParseJSONで型指定なしのオブジェクトから型指定して使うのが通常ですが、
一旦コレクションに格納したりもすると思います。
この際に「空でParseJSONしてコレクションに格納したらどうなるかな?」と試したところ、エラーは起きずに空データでコレクション定義が出来たようでした。

まずはApp.Formulasにユーザー定義型を定義します。今回は下のテーブル型の方を使ってます。

Code//ユーザー定義型でJSONの型指定:テーブル型
JSONDef := Type([{No:Number, 名前:Text, 単価:Number, 数量:Number, 合計:Number}]);

次にOnStartやOnVisibleなどで「空文字」を対象にParseJSONしてClearCollectに入れます。
★Blank()ではダメでした。””を使います。

CodeClearCollect(TESTCOL,ParseJSON(“”,JSONDef));

作成したコレクションが空データで利用可能(ギャラリーやテーブルに指定)

以下のようにギャラリーを作ってコレクションを指定すると、フィールドとして選択できるようになります。
テーブルも同様です。

ギャラリーにコレクションを指定した場合

テーブルにコレクションを指定した場合

テーブルも同様に指定が出来てフィールドの選択が出来、テーブルを作成することが出来ます。

Collect時などインテリセンスで項目が出てくる

コレクション定義後はインテリセンスで項目が出てきてくれます。

自前コレクションなどはUDTで定義したらスッキリするかも

ということでした。ParseJSONするデータ以外にも自前のコレクションを一旦空データで定義したい場合などに活用できるかなと思いました。

自前コレクションの定義をそれぞれの場所では書かずApp.Formulasにまとめておけば保守面でも扱いやすいですよね。

おわりに

ということで今回はユーザー定義型(UDT)で空コレクション定義するというTipsのご紹介でした。
UDTでの通常のParseJSONの方法やSPOリストにJSON文字列で登録するサンプルなどは関連記事ご参考ください。

UDT自体がまだ出たばかりで試験段階の機能であるため、すぐの実用は難しいと思いますが、色々スマートに出来そうなので、GAが待ち遠しいですね。それでは!

関連記事

関連ポスト

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

ヨウセイ

ヨウセイ

一般職からSharePoint、C#、.NET系技術者へ、そこからPower App、Power Automate技術者へと転身。 ワンランク上のおっさんはPower Appsでシステム開発が出来る〜! qiitaや自社HPでも技術ブログを書いていました。

関連記事

コメント

この記事へのコメントはありません。

CONTENTS