PowerAppsで実装する際に詰まった箇所や原因の調査に時間がかかった箇所をいくつかまとめました。
PowerAppsからDataVerseのレコードの作成
Patch関数を使用
2つ目のパラメータに「Defaults(テーブル名)」を設定することでレコードの作成
絞り込み条件を設定することで既存のレコードを更新
Patch(
テーブル名,
Defaults(テーブル名),
登録データ
)
Json形式のデータの読み込み
ParseJson関数でJsonデータを変換し、Table関数でテーブルとして保持、
ClearCollect関数とForAll関数でテーブルのレコードをコレクションとして
変数に設定する。
ClearCollect(変数,
ForAll(
Table(ParseJson(Jsonデータ)),
{列名:Text(thisrecord.Value.json列名)}
)
)
正規表現を使用した入力制限
IsMatch関数を使用し、正規表現で入力判定
一致しない場合はReset関数で入力前の値に戻る。
以下は、2桁の半角数字以外を入力した場合に入力前の状態に戻る。
If(
IsMatch(入力欄.Value, "[^0-9]|[^0-9]"),
Reset(入力欄)
)
countRowsやcountIfでのDataVerseのレコード件数のカウント上限
フィルター処理をした場合、Datavereのレコードのカウント上限は50000件(50K)
フィルター処理なしの場合は全件カウント可能。
Dataverseからのレコード取得上限
PowerAppsでDataverseからのレコード取得時
FirstN、Last、ConcatなどのDataVerseに委任できない関数を使用した場合、
PowerAppsで設定した委任の上限件数分までが処理の対象になる。
委任の上限はPowerAppsの設定から制限の変更で最大2000件まで変更可能
委任ができない取得処理の場合は、PowerAppsで委任の警告が表示される