コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

【Power Apps】コレクションにインデックスを付与する Ver.2


スポンサードリンク

はじめに

結構前にもPower Appsでのコレクションにインデックスを付与する方法をまとめていたのですが、いちいちコレクション作成しなくてもインデックス付与する方法が紹介されてなかったので簡単にまとめようと思います。

koruneko.hatenablog.com

コレクションにインデックスを付与する

利用する関数は

の4つです。

インデックスが付与されたテーブルは上記4つの関数を活用して以下のように作成することができます。

Ungroup(
    With(
        {originCol: CustomGallerySample},
        ForAll(
            Sequence(CountRows(originCol)),
            {
                index: ThisRecord.Value,
                _record: [Index(originCol, ThisRecord.Value)]
            }
        )
    ),
    _record
)

やってることとしては、

  1. With 関数を利用して、元となるテーブルを originCol に格納
  2. originCol のレコード数分だけ処理を行う(ForAll 関数とSequence 関数の利用)
  3. index にインデックス(連番)情報を、 _record にもとテーブルのN番目の情報を設定。ただし、テーブルとして設定(理由は後述)
  4. Ungroup 関数で _record のグループ化を解除

Ungroup 関数でグループ化を解除する際、対象のフィールドはテーブルである必要があります。
なのでレコードとしてではなくわざわざテーブルとして設定していたわけですね。

おわりに

これでわざわざコレクションに設定せずとも、例えばGalleryの Items に直接インデックスが付与されたテーブルを設定することも可能になります。


スポンサードリンク