このサイトはアフィリエイトリンクを含んでいます
スポンサーリンク

Power Automateで6000件のデータを扱うときの「取得件数」問題とその解決法

AIで調べてみた
スポンサーリンク

Power Automateは便利な自動化ツールですが、SharePointリストなどからデータを取得する際、既定で100件しか取得できず、6000件のデータを持つリストから十分な情報が得られないと感じたことはありませんか?この記事では、僕自身が直面した同じ問題を元に、問題の背景、原因、そして具体的な解決策を詳しく解説します。この記事を読めば、Power Automateで大規模なリストからデータを取得する際の落とし穴とその対策をしっかり理解できるはずです。


スポンサーリンク

問題の背景と発生状況

Power Automateでのデータ取得の現状

Power Automateでは、SharePointなどの外部サービスからデータを取得する際、標準設定で「複数の項目の取得(Get Items)」アクションが利用されます。
このアクションは、手動実行などのトリガーから始まるフローの一部として組み込まれており、一般的なシナリオでは非常に便利に働いています。

6000件のリストと100件の出力

僕が解析したフローでは、実行結果として完成した「EXTEST.csv」に100行(フィールドを含めると101行)のデータしか作成されませんでした。一方、コピー元のSharePointリストには約6000行のデータが存在しています。この差異の原因は、アクションに内在する既定の取得件数の制限にあります。


問題の原因:既定の取得件数の制限

「複数の項目の取得」アクションの既定設定

Power Automateの「複数の項目の取得」アクションは、パラメーター設定において取得する件数を指定する項目を持たず、デフォルトでは100件のデータしか取得しないようになっています。
これは、大量のデータを一度に取得するとパフォーマンスに影響が出ることを防ぐための措置でもあります。

フローの定義から読み取れる情報

解析したフローの定義ファイル(definition.json)では、トリガーは手動実行(ボタン)であり、取得対象はSharePointリストからデータを取ってくるように設定されています。
しかし、特に「複数の項目の取得」アクションのパラメーターには、取得件数に関する設定が明示されていなかったため、標準の100件が適用されたと考えられます。


解決策:Pagination(改ページ)の設定を活用

改ページ設定の有効化

Power Automateでは、アクションの「設定」タブにある「改ページ(Pagination)」を有効にすることで、既定の取得件数の制限を超えるデータを取得できるようになります。
この設定をオンにすることで、取得上限を任意に変更でき、例えば6000件すべてを取得することが可能となります。

改ページ設定の手順

  1. 「複数の項目の取得」アクションを選択
    フロー内の「複数の項目の取得」アクションをクリックして、詳細設定画面を表示します。
  2. 「設定」タブに移動
    アクションの右上または下部にある「設定」タブをクリックします。
    ここで、現在のアクションの細かい動作設定を確認することができます。
  3. 「改ページ」のスイッチをオンにする
    設定項目の中に「改ページ」があります。これをオンにすることで、デフォルトの100件という取得件数の制限が解除されます。
  4. 「最大取得件数」の入力欄に6000を設定
    改ページ機能を有効にすると、「最大取得件数」を入力するフィールドが表示されます。ここに「6000」と入力し、リストに存在するすべての行を取得できるようにします。
  5. 設定の保存
    変更内容を保存し、フロー全体の設定を更新します。

これにより、フローが実行された際には、SharePointリスト内の6000件すべてのデータが取得され、EXTEST.csvに反映されるようになります。

フィルタークエリの利用(必要に応じて)

場合によっては、6000件すべてを取得する必要がなく、特定の条件に合致するデータだけを抽出したい場合もあります。
その場合は、同じ「複数の項目の取得」アクション内の「パラメーター」タブで、フィルタークエリを設定することができます。

フィルタークエリの設定例

  • ステータスによる絞り込み
    Status eq 'Active'
    → ステータスが「Active」のデータのみ取得する。
  • 日付での絞り込み
    Created ge datetime'2024-01-01T00:00:00Z'
    → 2024年以降に作成されたデータのみ取得する。

こうしたフィルタークエリを適用することで、必要なデータだけを抽出し、処理の効率を高めることもできます。


実際の環境に基づく解説と注意点

あなたの環境でのスクリーンショットから見える設定

僕が解析した内容を元に、あなたの環境では以下のような状況が確認できると考えられます:

  • 「複数の項目の取得」アクションの各設定タブ
    スクリーンショットには「パラメーター」タブや「設定」タブが表示されており、特に「設定」タブで改ページ設定が見えるはずです。
    ※ 実際の画面では、改ページを有効にするためのスイッチが表示され、その下に最大取得件数を指定する欄があるはずです。
  • デフォルトで100件の制限が適用される理由
    あなたのスクリーンショットでも、特に改ページが無効の場合、取得件数は100件に制限されることが確認できるでしょう。

設定変更のポイントと注意点

  1. 改ページ設定のオン・オフ
    改ページ設定はデフォルトではオフになっていることが多いので、必ずオンにする必要があります。
  2. 最大取得件数の正確な入力
    リストにある全件数(今回の場合は6000)を正確に入力することで、必要なデータがすべて取得できるようになります。
  3. フロー全体への影響
    取得件数を大幅に増やすと、フローの実行時間やパフォーマンスに影響が出る可能性があります。実際の環境で実行する前に、テスト実行を行い、問題がないか確認することが大切です。
  4. 接続先の設定
    使用しているSharePoint接続情報やAPIの設定に問題がないかも確認してください。特に、接続の認証やAPIのバージョンが原因でデータが正しく取得されないケースもあります。

具体的な設定方法と設定画面の解説

設定画面の各タブの解説

1. パラメータータブ

  • 内容確認
    パラメータータブには、SharePointサイトのURLやリストのID、そして場合によってはフィルタークエリの設定項目が含まれています。
  • 設定例
    • dataset: 対象のSharePointサイトのURL
    • table: 対象リストのGUID(識別子)

ここでは、特にフィルタークエリを設定することで、不要なデータを除外する工夫も可能です。

2. 設定タブ

  • 改ページ設定のオン
    このタブには「改ページ」のオプションがあり、スイッチをオンにすることで、デフォルトの100件の取得制限を解除できます。
  • 最大取得件数の指定
    改ページをオンにすると、「最大取得件数」という入力欄が表示されます。ここに6000と入力することで、リスト内の全件を取得できるようにします。

3. その他のタブ

  • 認証や接続の確認
    パラメータータブと併せて、認証情報や接続情報も確認する必要があります。ぼくの環境では、SharePoint接続ユーザーが利用されていますが、これが正しく設定されているかもチェックしてください。

設定変更の手順を再確認

改めて、設定変更の流れを以下にまとめます。

  1. フロー編集画面を開く
    Power Automateの編集画面から対象のフローを選択します。
  2. 「複数の項目の取得」アクションの設定を表示
    アクションをクリックして詳細画面を展開し、「設定」タブに移動します。
  3. 改ページ設定のスイッチをオンにする
    改ページのスイッチをオンにし、表示される「最大取得件数」の欄に6000と入力します。
  4. 必要に応じてフィルタークエリを設定する
    「パラメーター」タブに戻り、必要な条件でフィルタークエリを設定します(例:Status eq ‘Active’)。
  5. 保存してテスト実行する
    変更を保存し、テスト実行を行って、EXTEST.csvに6000件のデータが正しく出力されるか確認します。

補足:分析と改善の視点

問題解決へのアプローチ

今回の問題は、単にデータの件数が少なく出力されるという現象だけでなく、以下のような点も考慮する必要があります。

  • パフォーマンスのバランス
    大量のデータを一度に処理する際、処理時間やシステム負荷が増加する可能性があるため、改ページ設定は慎重に設定する必要があります。
  • ユーザーの目的と必要性
    全データ取得が本当に必要なのか、あるいは特定の条件で絞り込みが有効かを検討することが重要です。
  • システム全体の設計の再検討
    SharePointリストなどのデータソースの構造自体を見直し、必要なデータを分割するなど、全体設計の改善も検討すべき場合があります。

他の自動化ツールとの比較

Power Automateに限らず、他の自動化ツールやデータ取得ツールでも、同様の「件数制限」が存在するケースがあります。
このため、システム全体の設計時に、こうした仕様を把握しておくことが、後々のトラブル防止につながります。

ユーザー視点の考察

同じ「知りたい」に直面する読者のみなさんにとって、
「どうして6000件のデータがあるのに100件しか取得されないのか?」という疑問は非常に共感できる問題です。
僕自身も解析を進める中で、フローの各種設定の細部にまで目を向ける必要性を痛感しました。
今回の記事では、技術的な詳細に踏み込みつつ、実際の設定画面の解説や、どのように設定変更すれば問題が解決するかを具体的に示しています。


まとめ

Power Automateを利用して大規模なSharePointリストからデータを取得する際、
デフォルト設定のままだと「複数の項目の取得」アクションで100件しか取得できず、
その結果、EXTEST.csvに出力されるデータ行数が限られてしまいます。
この問題の根本的な原因は、改ページ設定が無効になっている ためであり、
設定を変更して「最大取得件数」を6000件にすれば、すべてのデータが正しく取得可能となります。

この記事では、僕自身が解析したフローの定義ファイルや各アクションの内容を元に、
具体的な設定手順とその背景、また実際の環境での注意点について詳しく解説しました。
これからPower Automateで同じ問題に直面したとき、この記事が少しでもみなさんの助けになれば幸いです。

コメント

タイトルとURLをコピーしました