Power Apps Sequence関数とForAll関数の基本的な使い方|組み合わせるとforループの実現も可能

元々Power Appsにはforループに当たる処理がなくて、スライダーとかタイマーとかを使って工夫でforループを実現していた。

ただ最近Sequence関数が追加されてforループが簡単に実現できるようになったので、その方法をメモ。

Sequence関数

まずはSequence関数。

Sequence関数は連番のテーブルを作成してくれる関数で、Sequence(10)のように呼び出すと1~10の数字の配列を作ってくれる。
ちなみに第二引数を指定すると開始を、
第三引数を指定すると、次の数字との間隔を指定することができる。

これがSequence関数の基本的な使い方。

ForAll関数

続いてForAll関数。

Power AppsのForAll関数は他の言語のForeachのような関数(C#のIEnumerableの方が近いかも)で、例えばこんなコレクションがあったとき、
ForAll関数の第一引数にテーブル型の値(今回はコレクション)を、第二引数にその各値への処理(今回は各値(Value)の2乗)を指定すると、各値に処理を実行した結果をテーブル型の値として返してくれる。

forループを使用して「正弦波」を描いてみる

そんなForAll関数の第1引数にSequence関数を指定することで、forループのように開始、終了、値の増え方を指定したループを構築することができる。
※Sequence関数で第二引数(開始)を指定しないと1から始まってしまうのは、他の言語と異なるところなので注意。

例えば0~360までの整数を1ずつ増やしてSin値を求めれば、画像のように横方向のギャラリーで正弦波を描くことができる。
sin関数をcos関数に変えると、cos波も描けるし、
tanもいける。

Power Appsにおける構築でforループを使用することはあまりないかもしれないけど、覚えておくと役に立つちょいわざ。

コメント

タイトルとURLをコピーしました