Функции Concat и Concatenate в Power Apps

Объединяют отдельные строки текста и строки в таблицах.

Описание

Функция Concatenate объединяет сочетание отдельных строк и таблицу из одного столбца со строками. При использовании с отдельными строками эта функция эквивалентна использованию оператора &.

Функция Concat объединяет результат формулы, примененной ко всем записям таблицы, в результате чего получается одна строка. Используйте эту функцию для объединения строк таблицы, как функция Sum делает с числами.

Поля обрабатываемой в настоящее время записи доступны в формуле. Используйте оператор ThisRecord или просто укажите поля по имени, как указываются любые другие значения. Оператор As также можно использовать для присвоения имени обрабатываемой записи, что упростит понимание формулы и обеспечивает доступность вложенных записей. Дополнительные сведения см. в приведенных ниже примерах и в описании работы с областью записи.

Используйте функцию Split или MatchAll, чтобы разбить строку на таблицу с подстроками.

Синтаксис

Concat( Table, Formula )

  • Table — обязательный аргумент. Таблица, с которой выполняются операции.
  • Formula — обязательный аргумент. Формула, которую необходимо применить к записям таблицы.

Concatenate( Строка1 [, Строка2, ...] )

  • Строка — обязательные аргументы. Сочетание отдельных строк или таблица из одного столбца со строками.

Примеры

Примеры в этом разделе используют следующие глобальные переменные:

  • FirstName = "Jane"
  • LastName = "Doe"
  • Products = Таблица с двумя столбцами и четырьмя строками

Чтобы создать эти глобальные переменные в приложении, вставьте элемент управления Button и установить для его свойства OnSelect следующую формулу:

Set( FirstName, "Jane" ); Set( LastName, "Doe" );
Set( Products,
    Table(
        { Name: "Violin", Type: "String" },
        { Name: "Cello", Type: "String" },
        { Name: "Trumpet", Type: "Wind" }
    )
)

Выберите кнопку (щелкнув, удерживая нажатой клавишу ALT).

Функция Concatenate и оператор &

Для этих примеров установите для свойства Text элемента управления Label формулу из первого столбца следующей таблицы.

Формула Описание Результат
Concatenate( LastName, ", ", FirstName ) Объединяет значение в LastName, строку ", " (запятая с последующим пробелом) и значение в FirstName. "Doe, Jane"
LastName & ", " & FirstName То же, что и в предыдущем примере, за исключением использования оператора & вместо функции. "Doe, Jane"
Concatenate( FirstName, " ", LastName ) Объединяет значение в FirstName, строку " " (один пробел) и значение в LastName. "Jane Doe"
FirstName & " " & LastName То же, что и в предыдущем примере, с использованием оператора & вместо функции. "Jane Doe"

Функция Concatenate с таблицей с одним столбцом

Для этого примера добавьте пустой вертикальный элемент управления Gallery, установите для его свойства Items формулу в следующей таблице, а затем добавьте метку в шаблон коллекции.

Формула Описание Результат
Concatenate( "Name: ", Products.Name, ", Type: ", Products.Type ) Для каждой записи в таблице Products объединяет строку "Name: ", название товара, строку ", Type: " и тип продукта. Таблица продуктов

<a name="concat-function">Функция Concat

Для этих примеров установите для свойства Text метки формулу из первого столбца следующей таблицы.

Формула Описание Результат
Concat( Products, Name & ", " ) Оценивает выражение Name & ", " для каждой записи Products и объединяет результаты в одну текстовую строку. "Violin, Cello, Trumpet, "
Concat( Filter( Products, Type = "String" ), Name & ", " ) Оценивает формулу Name & ", " для каждой записи Products, которая удовлетворяет фильтру Type = "String" и объединяет результаты в одну текстовую строку. "Violin, Cello, "

Удаление лишних конечных символов

Последние два примера включают дополнительные символы ", " в конце результата. Функция добавляет запятую и пробел к значению Name каждой записи в таблице, включая последнюю запись.

В некоторых случаях эти дополнительные символы не имеют значения. Например, разделитель с одним пробелом не появляется, если вы показываете результат в метке. Если вы хотите удалить эти дополнительные символы, используйте функцию Left или Match.

Для этих примеров установите для свойства Text метки формулу из первого столбца следующей таблицы.

Формула Описание Результат
Left( Concat( Products, Name & ", " ), Len( Concat( Products, Name & ", " ) ) - 2 ) Возвращает результат Concat, но удаляет последние два символа, которые образуют лишний разделитель. "Violin, Cello, Trumpet"
Match( Concat( Products, Name & ", " ), "^(?<trim>.*), $" ).trim Возвращает символы Concat из начала текстовой строки (^) до конца ($), но не включает нежелательную запятую и пробел в конце. "Violin, Cello, Trumpet"

Split и MatchAll

Если вы использовали функцию Concat с разделителем, вы можете выполнить обратную операцию, комбинируя функции Split и MatchAll.

Для этих примеров добавьте пустую вертикальную коллекцию, установите для его свойства Items формулу в следующей таблице, а затем добавьте метку в шаблон коллекции.

Формула Описание Результат
Split( Concat( Products, Name & ", " ), ", " ) Разбивает текстовую строку с разделителем ", ". Строка заканчивается запятой и пробелом, поэтому последняя строка в результате является пустой строкой. Таблица с пустой последней строкой
MatchAll( Concat( Products, Name & ", " ), "[^\s,]+" ).FullMatch Разбивает текстовую строку на основе символов, которые не являются пробелами или запятыми. Эта формула удаляет лишнюю запятую и пробел в конце строки. Таблица только с 3 строками