Power Apps の collect、Clear、および ClearCollect 関数Collect, Clear, and ClearCollect functions in Power Apps

コレクションの作成とクリアおよび任意のデータ ソースへのレコードの追加を行います。Creates and clears collections and adds records to any data source.

DescriptionDescription

CollectCollect

Collect 関数は、データ ソースにレコードを追加します。The Collect function adds records to a data source. 次の項目を追加できます。The items to be added can be:

  • 1 つの値: 値は新しいレコードの Value フィールドに配置されます。A single value: The value is placed in the Value field of a new record. その他のプロパティはすべて空白のままになります。All other properties are left blank.
  • レコード: 指定した各プロパティは、新しいレコードの対応するプロパティに配置されます。A record: Each named property is placed in the corresponding property of a new record. その他のプロパティはすべて空白のままになります。All other properties are left blank.
  • テーブル: テーブルの各レコードは、前述のように、データ ソースの個別のレコードとして追加されます。A table: Each record of the table is added as a separate record of the data source as described above. テーブルが入れ子になったテーブルとしてはレコードに追加されることはありません。The table is not added as a nested table to a record. これを行うには、先にレコードでテーブルをラップします。To accomplish this, wrap the table in a record first.

コレクションに対して使用した場合は、必要に応じて追加のが作成されます。When used with a collection, additional columns will be created as needed. その他のデータ ソースの列はデータ ソースによって固定されており、新しい列を追加することはできません。The columns for other data sources are fixed by the data source and new columns cannot be added.

データ ソースがまだ存在しない場合は、コレクションが作成されます。If the data source doesn't already exist, a collection is created.

コレクションは、グローバル変数を保持するためや、データ ソースの一時的なコピーを作成するために、使用されることがあります。Collections are sometimes used to hold global variables or make a temporary copy of a data source. Power Apps は、ユーザーがアプリと対話するときに自動的に再計算される数式に基づいています。Power Apps are based on formulas that automatically recalculate as the user interacts with an app. コレクションでは再計算されません。そのため、コレクションを使うと、アプリの作成が難しく、わかりにくくなる場合があります。Collections do not enjoy this benefit and their use can make your app harder to create and understand. この方法でコレクションを使用する場合は、先に変数の使用方法を確認してください。Before using a collection in this manner, review working with variables.

また、 Patch 関数を使用して、データ ソースのレコードを作成することもできます。You can also use the Patch function to create records in a data source.

Collect は、変更されたデータ ソースをテーブルとして返します。Collect returns the modified data source as a table. Collect は、動作の数式内でのみ使用できます。Collect can only be used in a behavior formula.

ClearClear

Clear 関数は、コレクションのすべてのレコードを削除します。The Clear function deletes all the records of a collection. コレクションの列は残ります。The columns of the collection will remain.

Clear は、コレクションに対してのみ動作し、その他のデータ ソースでは動作しません。Note that Clear only operates on collections and not other data sources. その他のデータ ソースには、 RemoveIf( DataSource, true ) を使用できます。You can use RemoveIf( DataSource, true ) for this purpose. ただし、データ ソースのストレージからすべてのレコードが削除され、他のユーザーに影響する可能性があるため、注意してください。Use caution as this will remove all records from the data source's storage and can affect other users.

Remove 関数を使用すると、レコードを選択して削除できます。You can use the Remove function to selectively remove records.

Clear には、戻り値がありません。Clear has no return value. Clear は、動作の数式内でのみ使用できます。It can only be used in a behavior formula.

ClearCollectClearCollect

ClearCollect 関数は、コレクションからすべてのレコードを削除し、同じコレクションに異なるレコード セットを追加します。The ClearCollect function deletes all the records from a collection and then adds a different set of records to the same collection. ClearCollect は、1 つの関数で、Clear の後に Collect を実行します。With a single function, ClearCollect offers the combination of Clear and then Collect.

ClearCollect は、変更されたコレクションをテーブルとして返します。ClearCollect returns the modified collection as a table. ClearCollect は、動作の数式内でのみ使用できます。ClearCollect can only be used in a behavior formula.

構文Syntax

Collect( DataSource, Item, ... )Collect( DataSource, Item, ... )

  • DataSource – 必須。DataSource – Required. データを追加するデータ ソース。The data source that you want to add data to. 存在しない場合は、新しいコレクションが作成されます。If it does not already exist, a new collection is created.
  • Item(s) - 必須。Item(s) - Required. データ ソースに追加する 1 つ以上のレコードまたはテーブル。One or more records or tables to add to the data source.

Clear( Collection )Clear( Collection )

  • Collection - 必須。Collection – Required. クリアするコレクション。The collection that you want to clear.

ClearCollect( Collection, Item, ... )ClearCollect( Collection, Item, ... )

  • Collection - 必須。Collection – Required. クリアした後にデータを追加するコレクション。The collection that you want to clear and then add data to.
  • Item(s) - 必須。Item(s) - Required. データ ソースに追加する 1 つ以上のレコードまたはテーブル。One or more records or tables to add to the data source.

Examples

データ ソースのクリアとレコードの追加Clearing and adding records to a data source

次の例では、IceCream という名前のコレクションに対して消去および追加を行います。In these examples, you'll erase and add to a collection that's named IceCream. このデータ ソースの先頭には、次の内容が含まれています。The data source begins with these contents:

サンプルデータソース

数式Formula DescriptionDescription 結果Result
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } )ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) IceCream コレクションのすべてのデータをクリアし、その後、ストロベリー アイスクリームの数量を含むレコードを追加します。Clears all data from the IceCream collection and then adds a record that includes a quantity of strawberry ice cream. 1 つのレコードを含む テーブル Table with one record

IceCreamコレクションも変更されています。The IceCream collection has also been modified.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } )Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) 数量 pistachio とオレンジのアイスクリームを含む2つのレコードをIceCreamコレクションに追加します。Adds two records to the IceCream collection that includes a quantity of pistachio and orange ice cream. 2つのレコードを含む テーブルTable with two records

IceCreamコレクションも変更されています。The IceCream collection has also been modified.
Clear( IceCream )Clear( IceCream ) IceCream コレクションからすべてのレコードを削除します。Removes all records from the IceCream collection. 空のテーブルの Empty table

IceCreamコレクションも変更されています。The IceCream collection has also been modified.

コレクションを作成する手順の例については、「コレクションの作成と更新」を参照してください。For step-by-step examples of how to create a collection, see Create and update a collection.

レコードとテーブルRecords and tables

これらの例では、レコードとテーブル引数を収集してclearcollectを処理する方法を確認します。These examples examine how record and table arguments to Collect and ClearCollect are handled.

数式Formula DescriptionDescription 結果Result
ClearCollect (IceCream、{ フレーバー: "チョコレート"、 Quantity: 100 }、{ フレーバー: "バニラ"、 Quantity: 200 })ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) すべてのデータをクリアし、チョコレートとバニラアイスクリームの数量を含む2つのレコードをIceCreamコレクションに追加します。Clear all data and then adds two records to the IceCream collection that includes a quantity of chocolate and vanilla ice cream. 追加するレコードは、関数に個別の引数として提供されます。The records to be added are provided as individual arguments to the function.
コレクション](media/function-clear-collect-clearcollect/icecream.png) に追加されたチョコレートおよびバニラレコード Chocolate and Vanilla records added to collection IceCreamコレクションも変更されています。The IceCream collection has also been modified. || ClearCollect (IceCream、Table ({ フレーバー: "チョコレート"、 Quantity: 100 }、{ フレーバー: "バニラ"、 Quantity: 200 }))ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) | 前の例と同じですが、レコードがテーブルに結合され、1つの引数を通じて渡される点が異なります。Same as the previous example except that the records are combined in a table and passed in through a single argument. テーブルの内容は、 IceCreamコレクションに追加される前にレコードによって抽出されます。The contents of the table are extracted record by record before being added to the IceCream collection. | コレクション に追加されたチョコレートおよびバニラレコード Chocolate and Vanilla records added to collectionIceCreamコレクションも変更されています。The IceCream collection has also been modified. || ClearCollect (IceCream、{ MyFavorites: Table ({ フレーバー: "チョコレート"、 Quantity: 100 }、{ フレーバー: "バニラ"、 Quantity: 200 })})ClearCollect( IceCream,{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } ) | 前の例と同じですが、テーブルがレコードにラップされている点が異なります。Same as the previous example except that the table is wrapped in a record.  テーブルのレコードは抽出されず、テーブル全体がレコードのサブテーブルとして追加されます。The records of the table are not extracted and instead the entire table is added as a sub-table of the record. | コレクション に追加されたチョコレートおよびバニラレコード ![Chocolate and Vanilla records added to collection

IceCreamコレクションも変更されています。The IceCream collection has also been modified.