Power Appsのススメ 〜雑談3〜 SharePointリストについて
SharePointリストはPower Appsなどで手軽に利用できるデータソースの1つです。
Googleスプレッドシートとの連携も簡単ですが、SharePointリストはMS365のサービスなのでアカウントの一元管理ができ、こちらの方がPower Appsとの相性は良いと思います。
今回はSharePointリストについて、雑談してみます。
SharePointリスト作成時の注意
SharePointリストはSharePointのホームから、サイドバーの「+(作成)」アイコンをクリックして作成します。
空のリストだけではなく、Excelシートや他のリストを元に作成することもできます。
なお、作成すると、必ず1つのカラムがもれなくついてきます。
日本語では「タイトル」、という名称のカラムですが、実は内部的には「Title」というカラム名になっています。
ただこのタイトル、名称をUI上では変更できず、詳細設定画面からでないと変更ができないので注意が必要です。
また、Googleスプレッドシートとの連携でも書きましたが、カラム名は半角英数字にしておいたほうが無難なので、その点留意しておいてください。
コネクタの接続
さて、SharePointコネクタの接続ですが、これまで通り、Power Apps編集画面のサイドバーにある「データ」から「データの追加」をクリックして、「コネクタ」から「SharePoint」を選択します。
続いて直接接続を選択した後、MS365アカウントでログインします。
ここまでは概ねこれまで通りですが、この後、SharePointリストをどこに保存してあるかでちょっと手間が変わります。
自分の管理しているサイト上に作成したリストであれば、検索すれば表示されますが、マイリストに保存してあるリストは表示されません。
この場合に手軽な方法は、リストをひょうじさせた画面のURLをコピーして、「詳細情報」欄にペーストして接続ボタンを押せばOKです。
こうすれば作成したリストを選択することができます。
自動採番
SharePointリストには必ず自動採番される「ID」というカラムが付いています。
デフォルトでは見えませんが、ビューを作れば見ることができます。
なお、IDは1ずつ増えていくので、途中のレコードを削除しても一度発行したIDは絶対に他のレコードとかぶりません。
ただしその場合、ID=レコード数とはならならい点は注意が必要です。
レコード数のカウントは、一旦ClearCollect関数でリストを読み込んでからCountRows関数で数えることになります。
5000件問題
SharePointリストは上限5000件までしか扱えない、といろいろなところで記載されいます。
Power Appsで扱う場合も例外ではありません。
したがって、5000件以上のデータソースを利用したい場合、データソースを別のものにしないとなりません。
なお、これはPower Appsの「データ行の制限」とは別問題です。
あくまでSharePointリストで扱える上限レコード数が5000件まで、ということで、Power Appsで委任せずに扱えるレコード数とは関係ありません。
データ行の制限と委任
Power Appsの設定には、「データ行の制限」という項目があり、デフォルトでは500行までとなっています。
データソースから読み込む行数の上限設定で、デフォルトは500行まで、最大2000行まで設定できます。
「設定」画面で指定できますが、先程のSharePointの5000件と勘違いしないよう注意してください。
つまり、SharePointで2000件以上のデータが有った場合、最低でも2回に分けて読み込んで処理をしないとならない、ということになります。
ただしその場合、「委任」できる関数でなければ必要なレコードを抽出できないので、これにも要注意です。
「委任」とは、処理をデータソース側で行うことを指し、いくつかの関数は委任が可能です。
簡単なケースで言うと、「カラム名」が数値で、全レコード3000件において1〜3000まであった場合、
ClearCollect(MyData, Filter(DataSource, カラム名>2000));
上記のFilter関数は委任されるため、きちんとカラム名が2001以上のレコードを1000件返してくれます。
ClearCollect(MyData, Search(DataSource, "mail1", mail_address));
Search関数は委任されないため、上限2000件までのレコードに対してのみ検索して結果を返します。
したがって、2001件目以降に該当するレコードがあっても結果は空になります。
なお、この「委任」に対応したデータソースも限られており、Detaverse、SharePoint、SQL Server、Salesforceのみとなっています。
まとめ
SharePointリストはPower Appsと相性の良いデータソース
SharePointリストでは、上限5000件までしか扱えない
Power Appsが一度に扱える(読み込める)レコード数は最大で2000件
その際、データソースにあるレコードのうち、先頭から2000件までしか扱えないが、委任できる関数を利用する場合は、その限りではない。
この記事が気に入ったらサポートをしてみませんか?