【投稿者】AAAA
こんにちは。
私は現在、Microsoft社のPowerApps(以降、PowerApps)で業務アプリの構築をしています。
PowerAppsではローコードを使用していますが、
通常のコーディングではできることがローコードではできないなどの制約があります。
PowerAppsのアプリ開発時に参考にしていただければ幸いです。
クラス、メソッドの概念が無い
PowerAppsではクラス、メソッド等の概念がありません。そのため。画面Aと画面Bである処理を共通化したくてもできません。
各画面に実装する必要があります。
コントロールの値を直接変更できない
ボタンをクリック時にテキストボックスに文字を入れたい場合、下記のコードでは入れることができません。

コントロールに対し、変数を設定する必要があります。
1:画面のOnVisibleイベントで変数を宣言

- 2:テキストボックスのDefaultプロパティに変数を設定

- 3:ボタンのOnSelectイベントで変数に設定したい文字を入れる

上記の方法でボタンクリック時に文字を入れることができます

ループ処理について
通常のプログラミング言語と違い、break、continueの概念がありません 。PowerAppsにおいてループ処理は途中で止めたり、飛ばしたりはできません。 このことを考慮して実装する必要があります。
データ取得時について
SharePoint LISTSからデータを取得する時に、委任に関する警告が出ることがあります。 これはデータの取得をSharePoint側に委任していますが、 SharePoint側からこの条件では取得できないという警告です。
詳細はこちらをご確認ください キャンバス アプリでの委任について – Power Apps | Microsoft Learn
例
LISTS「テストデータ」から左から4文字目までの現場名が「現場名1」のデータを取得する

下記の方法で取得しようとしてもLeft関数は委任できないため、警告が表示されます。

委任できない関数は使えないため、別の手段を考える必要がありますがどうしても使いたい場合、下記の方法で取得できます。
- 1:LISTSのデータをコレクション「list」に格納する。
- 2:コレクション「list」に対し、Left関数でデータを取得する。

直接LISTSから取得するのではなく、格納したコレクションから取得する時は委任は発生しないため取得できます。