Power Apps × SharePoint リストの委任と5000件の壁 — 500件しか取れない理由と回避策、Dataverse に移る判断基準
- DATE
- 2026-10-18
- REVISION
- A
- AUTHOR
- スルガクラフト合同会社
- SHEET
- 01 / 01
SharePoint リストにデータを入れて、Power Apps で画面を作る。Power Platform で業務アプリを始めるとき、いちばん多い組み合わせです。追加のライセンスも要らず、すぐに動きます。
最初の数か月は快適です。ところがデータが溜まってくると、ある日こう言われます。
「あのデータ、検索しても出てこないんですけど」
エラーは出ていません。アプリは普通に動いています。ただ、結果が足りない。原因はほぼ間違いなく 委任(Delegation) です。そしてその先には、SharePoint リストの 5000件のしきい値 が待っています。
この記事では、Power Apps × SharePoint で必ずぶつかるこの2つの壁を整理し、回避策でしのぐか、Dataverse に移るかの判断基準までをまとめます。
委任とは — Power Apps が「最初の500件」しか見ない理由
Power Apps でデータを絞り込むとき、理想は データソース側で絞り込んでもらう ことです。SharePoint に「この条件に合う行だけ返して」と頼み、結果だけを受け取る。これを 委任 と呼びます。
ところが、Power Apps の数式をすべて SharePoint が理解できるわけではありません。SharePoint が処理できない関数や演算子が1つでも混ざると、Power Apps は委任をあきらめ、データを先頭から一定件数だけ取ってきて、手元で絞り込みます。この件数が、既定で 500件 です。
つまり、リストに1,000件あって、探しているデータが600件目にあると、そのデータは検索結果に出てきません。エラーにもなりません。これが「検索しても出てこない」の正体です。
委任の警告を見逃さない
委任できない数式を書くと、Power Apps Studio では次のように知らせてくれます。
- 数式の該当部分に 青い波線
- コントロールの横に 黄色の三角(警告)
これは赤いエラーではなく警告なので、アプリはそのまま動きます。データが少ないうちは結果も正しく出ます。だから気づかないまま本番に出て、データが増えた頃に「出てこない」が始まります。委任の警告は、将来のバグの予告だと思ってください。
SharePoint で委任できない関数と演算子
SharePoint は、委任できる操作が Dataverse より少ないデータソースです。Microsoft の公式資料に沿って、つまずきやすいものを挙げます。
| よく使う書き方 | SharePoint で委任できるか |
|---|---|
Filter / LookUp で = で比較 | できる |
テキスト列を StartsWith で前方一致 | できる |
数値・日付を < > で比較 | できる |
テキスト列を <> < > で比較 | できない |
Search で部分一致検索 | できない |
in で「いずれかに一致」 | できない |
Not で条件を反転 | できない |
IsBlank で空欄を判定 | できない(= Blank() なら委任される) |
選択肢列・参照列のサブフィールドに StartsWith | できない |
| ユーザー列(Person) | 委任できるのはメールアドレスと表示名だけ |
| ID 列 | = だけ。< > は使えない |
特に痛いのが 部分一致検索ができない ことです。業務アプリの検索ボックスは「名前の一部を入れたら出てくる」が当たり前ですが、SharePoint 相手に Search を使うと委任されず、500件の中からしか探してくれません。
回避策1: 委任できる書き方に寄せる
- 部分一致をあきらめ、
StartsWithの前方一致にする IsBlank(列)を列 = Blank()に書き換えるNotや<>を使わない条件に組み替える- 絞り込みに使う列は、選択肢や参照ではなく、単純なテキスト・数値の列を持たせる
これで済むなら、それが一番安上がりです。ただし「前方一致でいいか」は、使う人に確認が要ります。
回避策2: 先に委任できる条件で絞ってから、手元で絞る
部署や期間など、委任できる条件で先に件数を減らし、その結果に対して Search をかける書き方です。先の絞り込みで件数が十分に小さくなる業務なら有効です。
「500件・2000件問題」は今どうなっているか
委任されないときに取ってくる件数は、アプリの設定で変えられます。設定 → 全般 → データ行の制限 です。
以前はこの上限が 2,000件で、「2000件問題」と呼ばれていました。現在の公式資料では、上限は 10,000件 になっています。
ただし、上限を上げても 問題は先送りされるだけ です。
- 件数を増やすほど、データを端末に取ってくる時間が長くなり、アプリが重くなります
- リストが上限を超えた日に、同じ「出てこない」が再発します
- 合計や平均の集計も、取ってきた範囲だけで計算されます。一部の合計を全体の合計だと思い込む のが一番怖いところです
逆に、公式資料はこの値を 1 にしてテストする 方法を勧めています。委任されていない数式は1件しか返さなくなるので、本番前に確実に見つけられます。作り始めの段階でやっておく価値があります。
SharePoint リストの5000件の壁
委任とは別に、SharePoint リスト自体にも壁があります。リストビューのしきい値(5,000件) です。
リストのアイテムが5,000件を超えると、SharePoint の画面に「リストビューのしきい値(5,000 アイテム)を超えている」という趣旨のエラーが出るようになります。
ここで誤解されやすいのは、リストに5,000件より多く入らないわけではない ことです。リスト自体にはもっと入ります。止まるのは、一度に5,000件を超えるアイテムを相手にする操作 です。全件を対象にした並べ替えや、インデックスの無い列での絞り込みが該当します。そして SharePoint Online では、このしきい値を変更できません。
Power Apps から使う場合も、インデックスの無い列で絞り込むと、しきい値のエラーで止まることがあります。
回避策: インデックスとビューで、5,000件以内に収める
- 絞り込みや並べ替えに使う列に インデックスを付ける(リストの設定 → インデックス付きの列)
- ビューは必ず条件付きにして、1つのビューに出るアイテムを5,000件以内に収める
- 古いデータは別のリストに移す(アーカイブ)
インデックスは、リストが小さいうちに付けておく のが鉄則です。しきい値を超えてから付けようとして苦労するのが、よくある詰まり方です。
回避策でしのぐか、Dataverse に移るか
ここまでの回避策は、どれも「SharePoint の制約に業務を合わせる」方向です。データが少なく、検索の要件が単純なうちは、それで十分です。
問題は、業務の要件のほうが制約を超えてきたときです。次のどれかに当てはまったら、私は Dataverse への移行を検討する段階だと判断します。
| 当てはまったら移行を検討 | 理由 |
|---|---|
| 名前や品名の 部分一致検索が業務の中心 | SharePoint では Search が委任されない |
| データが 数年分溜まり続ける 前提 | データ行の制限やしきい値の回避策が、いずれ尽きる |
| 集計の数字 を業務判断に使う | 委任されない集計は一部だけで計算される |
| 複数のリストを 参照列でつないで いる | 関連データの絞り込みが委任されにくく、構造も崩れやすい |
| 行ごとに見せる人を変えたい(部署・担当者) | SharePoint の権限はリストやアイテム単位で、業務ルールとして管理しにくい |
| 誰がいつ何を変えたか を残す必要がある | Dataverse は監査ログを標準で持つ |
Dataverse は、Power Apps のために作られたデータベースです。in など SharePoint で委任できない操作の多くを委任でき、5,000件のしきい値のような制約もありません。テーブル同士のリレーション、行単位のセキュリティ、監査も標準で揃っています。
一方で、Dataverse には Power Apps のプレミアムライセンス が要ります。SharePoint の「追加費用なし」に比べると、ここが一番の判断ポイントです。そして Dataverse に移っても、検索の悩みがすべて消えるわけではありません。Dataverse 側の検索の落とし穴は、Power Apps の検索が部分一致しない・複数条件で絞れない にまとめています。
ライセンス費用と、「出てこない」「合計が合わない」を抱えたまま回すコストを比べてください。後者が業務の信頼を削り始めているなら、移る時期です。
まとめ
- Power Apps × SharePoint で「検索しても出てこない」の原因は、ほぼ 委任 です。委任されないと、先頭の500件(設定で最大10,000件)しか見ません
- SharePoint では
Search(部分一致)、in、Not、テキストの<>などが委任されません。委任の警告は将来のバグの予告 です - データ行の制限を上げても、問題は先送りされるだけです。テスト時は 1 に下げて 委任漏れを見つけましょう
- リストビューのしきい値(5,000件)は変更できません。インデックスは小さいうちに 付けておきます
- 部分一致検索・長期のデータ蓄積・集計・行単位の権限・監査のどれかが要件に入ったら、Dataverse への移行 を検討する段階です
SharePoint リストからの移行を考え始めた段階でも、「まだ回避策で行けるのか」を判断したい段階でも構いません。Power Apps / Dataverse 導入支援 では、今のアプリとリストを見せていただき、どこまで SharePoint で行けて、どこから移るべきかを整理する 無料診断 を行っています。