レコードの結合と分割

完了

データを使用する際に、データの変更が必要な場合があります。 一般的なシナリオには、レコードのテーブルを取得して表示用にレコードを 1 つの文字列に結合したり、文字列を取得してテーブル内の複数のレコードに変換したりする場合などがあります。 Power Apps では、Concat 関数と Split 関数を使用すると、このタスクを完了できます。

テーブル データを文字列に変換する

Concat 関数は、テーブルのすべてのレコードに対して適用される数式の結果を結合し、1 つの文字列にします。 この関数を使用して、Sum 関数が数値に対して行うように、テーブルの文字列を要約します。 これは、営業担当者に割り当てられたすべての顧客を表示するためにコンマ区切り値のリストを作成したり、メール関数に渡すメール アドレスのセミコロン区切りリストを作成したり、Power Automate を使用して PDF ドキュメントの作成で使用される HTML テーブルを動的に生成したりするのに使用できます。

現在処理されているレコードのフィールドは、数式内で利用できます。 その他の値と同じように、名前でそれらを参照できます。 また、アプリ全体でコントロールのプロパティやその他の値を参照することもできます。

たとえば、Concat(CustomerOrders, Email & ";") を使用して、セミコロンで区切られた Email 列の値を含む 1 つの文字列を作成できます。 Office365.SendEmail 関数の To: 引数にこの数式を使用して、1 件のメールをこれらすべてのアドレスに送信できます。

Concat 関数の使用を開始する際は、Concatenate 関数と混同しないようにしてください。これは、複数の文字列を 1 つの文字列に結合するために使用されます。

文字列を単一列のテーブルに変換する

Split 関数は、テキスト文字列をサブ文字列のテーブルに分割します。 コンマ区切りのリストを分割する場合、日付部分の間でスラッシュを使用する日付を分割する場合、明確に定義された区切り文字が必要な他の状況で単語を個々の文字に分割する場合は、Split 関数を使用します。

区切り文字は、テキスト文字列を分割するために使用されます。 区切り文字には、テキスト文字列全体で照合される 0 個、1 個、またはそれ以上の文字を使用することができます。 長さが 0、または空白の区切り文字を使用すると、それぞれの文字が個別に分割されます。 一致する区切り文字は、結果に返されません。 一致する区切り文字が見つからない場合は、テキスト文字列全体が 1 つの結果として返されます。

たとえば、Split("Canada, Mexico, United States of America", ",") を使用して、3 つのレコードを含む単一列のテーブルを作成します。 列の名前は Result になります。 これは複数値のフィールドからデータを取得するときに便利で、ドロップダウン コントロールでこれらの値を使用することもできます。 この例では、数式を使用してドロップダウン コントロールの Items プロパティを設定します。

次のユニットでは、テーブルでレコードごとに 1 回、数式を処理する方法について説明します。