Index関数とは
順序付けられた位置に基づいてテーブルからレコードを返します。
公式より引用
構文
Index( Table、RecordIndex )
Table - 必須。 操作の対象となるテーブル。
RecordIndex - 必須。 Tableの何行目のレコードを取得するかを1始まりの数値で指定します。
使い方
第一引数にテーブル、第二引数に数値を入力することで取得するレコードを数値で指定することが出来ます。取得されるのはレコードですので、列を選択することでテキストとしてラベルに表示可能です。
Last(N)とFirst(N)関数を組み合わせなくても良いのは便利ですね。
【#PowerApps Tip's】配列のn番目を取得する
Last(N)First(N)関数との使い分け
第一引数に設定したレコード数よりも多い数値を入力するとこのようにエラーとなってしまいます。
Last(N)First(N)関数を使用すれば6を指定してもエラーにならないので、入力されるインデックスの数値が第一引数に設定したレコード数よりも多くなることがある場合は、Last(N)First(N)関数を使用しましょう。
Min関数とCountRows関数、またはIfError関数を使用したエラー回避方法もあります。
活用方法
日付から曜日を取得する
Calendar.WeekdaysShort()で単一列の曜日一覧を取得できるので、Weekday関数と組み合わせることで簡単に曜日を取得することが出来ます。
Index(Calendar.WeekdaysShort(),Weekday(Today())).Value
連番付与する
以下の数式で、テーブルに連番を付与することができます。
テーブルはChoices関数で取得した選択肢列の選択肢などを想定しています。
ClearCollect(
Col,
AddColumns(
Sequence(CountRows(["起票中", "承認待ち", "完了"])),
"ステータス",
Index(["起票中", "承認待ち", "完了"], ThisRecord.Value).Value
)
)
連番を付与することで、現在のステータスの番号に+1して次のステータスを取得することができるため、承認フローアプリなどで活用できます。
Index(Col, LookUp(Col, ステータス = TextInput2.Text, Value + 1)).ステータス
コメント