RemoveIfやUpdateIfが委任できないことを知らず思わぬ処理結果になったので、概要をメモ。
RemoveIfやUpdateIfは委任できない
RemoveIfやUpdateIfはSPOリストとかDataverseとかのデータソースに対して使う場合、処理をデータソース側に委任できない。
委任ができないということはこれらの関数を実行したとき、データソースの先頭から「データ行の制限」分のデータしか検索対象にならないということ。
文章だとちょっと何言ってるかわからないので軽く実験してみる。
事前準備


この条件でRemoveIf関数を用意したSPOリストに使ってみる。
RemoveIfでアイテムがほとんど消えない。。


これはRemoveIf関数が委任に対応していないため、先頭5件(Num列が1~5)のアイテムに対してのみ検索を実施して、条件に当てはまるアイテム(今回はNum列が5のアイテムのみ)を削除したのでこういった結果になった。
※先頭5件のみ検索したのは「データ行の制限」を5に設定したから。
RemoveIfやUpdateIfはFilter関数と組み合わせられない


どうやらRemoveIfとFilterは組み合わせられないよう。。
With, Filter, Removeを組み合わせてみた


とはいえ見ての通り、消せるデータは「データ行の制限」分のデータ(今回はNum列が5~9までの5個)のみ。。
データ量が大きいデータソースに対してRemoveIfやUpdateIfを実行する場合は、委任ができない点に注意して消し漏れや更新漏れが発生しないよう処理を記述する必要がある、という結論でした。
コメント