こんにちは。
Japan Dreamin'参加の興奮も冷めやらぬままですが、ちょっとばかり入念に準備をしなくてはならないこともあり、リリースノートの検証が進んでおりませんでした。フローで「お!これは!」というのを2つほど試しているのですがうまく行かず、そして使い方や設定としてあってるのか?という不安もあり記事化できておりません。で、切り替えまして今日はありそうでなかった設定オプションを、実装されたら嫌な気持ちになるかもしれない例とあわせてご紹介します。
該当のリリースノートのページはこちらです。
◇ SALESFORCE HELP >DOCS >SALESFORCE RELEASENOTES > Salesforce Spring’25 Release Notes >Salesforcec Flow >Flow Builder Updates >Enhance Flow Performance by Controlling the Number of Records Retrieved with Get RecordsEnhance Flow Performance by Controlling the Number of Records Retrieved with Get Records
When you work with large datasets, you can hit performance issues or governor limits if you use the Get Records element to retrieve all records. If you set an upper limit to control data retrieval, you improve flow performance and reduce the risk of timeouts or errors. Use the All records, up to a specified limit option to set an upper limit on the number of records to retrieve.
Where:This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
How: To set a limit on the number of records that the Get Records element retrieves, first add a Get Records element to your flow. Then, under How Many Records to Store, select All Records, up to a specified limit (1). Enter the maximum number of records to store (2). The Get Records element retrieves all the records that meet the criteria up to the specified limit.
↓日本語訳です。
「レコードを取得」要素を使用して取得するレコード数を制御することでフローパフォーマンスを向上させる
大規模なデータセットを扱う際、「レコードを取得」要素を使用してすべてのレコードを取得すると、パフォーマンスの問題やガバナー制限に直面することがあります。データ取得を制御するために上限を設定すると、フローパフォーマンスが向上し、タイムアウトやエラーのリスクが軽減されます。指定された上限までのすべてのレコードオプションを使用して、取得するレコード数の上限を設定できます。
対象: この変更は、Essentials、Professional、Enterprise、Performance、Unlimited、およびDeveloperエディションのLightning ExperienceおよびSalesforce Classic(すべての組織で利用可能ではありません)に適用されます。
方法: 「レコードを取得要素」が取得するレコード数に制限を設定するには、まずフローに「レコードを取得要素」を追加します。次に、「保存するレコード数」の下で「すべてのレコード、指定された制限まで」を選択します(1)。「保存するレコードの最大数」を入力します(2)。「レコードを取得要素」は、指定された上限までの条件を満たすすべてのレコードを取得します。
プレリリース組織で設定してみました
設定内容
わりと気に入っている「【
前編】画面フローの繰り返しコンポーネント:Upsert(作成/更新)、削除を一括で行う」「【
後編】画面フローの繰り返しコンポーネント:Upsert(作成/更新)、削除を一括で行う」で作成した画面フローに、上限を設定した「レコードを取得」要素を追加しました。
最後の画面に、資格保有数上位トップ3位の生徒を表示します。
(実際はレコードメンテナンスのたびに表示させるなんて性格の悪いことはしませんし、データテーブルが適しているかもわからないので、あくまでも結果確認のための例です)


「操作終了画面」の前に「レコードを取得」要素を追加します。
レコードを取得:上位3位の生徒を取得 の詳細
「生徒」には資格保有数という積み上げ集計項目があるので、「生徒レコードを絞り込み」でこの項目に値が入っているレコードに絞り込みを行い、「生徒レコードを並び替え」で資格保有数が多い順に並び替えを行っています。
「保存するレコード数」にて「すべてのレコード、指定した制限まで」を選択し、「保存するレコードの最大数」に「3」と入力して、資格保有数の多い順から3件のレコードを取得するように設定します。
今回の本筋からはそれますが、取得したコレクションをデータテーブルのソースコレクションに設定することで、複数のレコードの情報を並べて表示できます。

テストしました
画面フローを起動し、資格情報を更新すると、その時点での資格保有数上位3名の情報が表示されました。

レポートのデータと照合しましたが、想定通りになってますね。

ひとこと
直近数件の値を参照したい、などという要件の実装にピッタリです。今までなかったのが不思議なのですが、ないならないで皆さん頑張って工夫していたりするのですよね。どんどん便利になっていきますが、その分新しく学ばなければならないことも多いわけでして、Salesforceさんのリリースに感謝しつつ、私たちは常に学び続ける義務があるのだなぁ、としみじみ思いました。
Spring'25関連の記事
Spring'25のスケジュールが出てましたSpring'25 プレリリース組織サインアップサイトがオープンしましたSpring'25のリリースノート(英語版)が公開されましたSpring'25 「すべて表示」「すべて変更」権限の名前が変わって「すべての項目の表示」が仲間入りSpring'25 画面フローのインジケーターでフェーズ(手順のどこにいるか)の可視化が簡単にSpring'25 フローでファイルを添付したメール送信が可能にSpring'25 フローのバージョンへのアクセスが簡単になります関連記事
【前編】画面フローの繰り返しコンポーネント:Upsert(作成/更新)、削除を一括で行う【後編】画面フローの繰り返しコンポーネント:Upsert(作成/更新)、削除を一括で行う
{{i18n("articles.view.premium")}}