Поделиться через


Функция CONCATENATE

Соединяет две текстовые строки в одну текстовую строку.

Синтаксис

CONCATENATE(<text1>, <text2>)

Параметры

Элемент

Определение

text1, text2

Текстовые строки, которые необходимо объединить в одну текстовую строку. Строки могут включать текст или числа.

Также можно использовать ссылки на столбец.

Возвращаемое значение

Объединенная строка.

Замечания

Функция CONCATENATE соединяет две текстовые строки в одну. Соединяемые элементы могут быть текстом, числами, логическими значениями, представленными в виде текста, или сочетанием таких элементов. Также можно использовать ссылку на столбец, если столбец содержит подходящие значения.

Функция CONCATENATE в DAX принимает только два аргумента, в то время как функция CONCATENATE в Excel — до 255 аргументов. Чтобы объединить несколько столбцов, можно создать последовательность вычислений, но предпочтительнее использовать оператор объединения (&) для их соединения с помощью более простого выражения.

Чтобы непосредственно использовать текстовые строки, а не ссылки на столбец, необходимо заключить каждую строку в двойные кавычки.

Эта функция DAX может возвращать другие результаты при использовании в развернутой модели в режиме DirectQuery. Дополнительные сведения о семантических отличиях в режиме DirectQuery см. по адресу https://go.microsoft.com/fwlink/?LinkId=219171.

Пример Объединение литералов

Описание

Этот образец формулы создает новое строковое значение путем объединения двух строковых значений, переданных в качестве аргументов.

Код

=CONCATENATE("Hello ", "World")

Пример. Объединение строк в столбцах

Описание

Этот образец формулы возвращает полное имя клиента из телефонной книги. Обратите внимание, как вложенная функция используется в качестве второго аргумента. Это один из способов объединить несколько строк, если нужно использовать в качестве аргументов больше двух значений.

Код

=CONCATENATE(Customer[LastName], CONCATENATE(", ", Customer[FirstName]))

Пример. Условное объединение строк в столбцах

Описание

Этот образец формулы создает в таблице Customer новый вычисляемый столбец, содержащий полное имя клиента, состоящее из имени, отчества и фамилии. Если отчества нет, фамилия следует сразу после имени. Если отчество есть, используется только первая буква отчества, за которой следует точка.

Код

=CONCATENATE( [FirstName]&" ", CONCATENATE( IF( LEN([MiddleName])>1, LEFT([MiddleName],1)&" ", ""), [LastName]))

Комментарии

В этой формуле используются вложенные функции CONCATENATE и IF, наряду с оператором-амперсандом (&), для условного объединения трех строковых значений и добавления пробелов в качестве разделителей.

Пример. Объединение столбцов с различными типами данных

В следующем примере показано, как объединить значения в столбцах, имеющих различные типы данных. Если объединяется числовое значение, оно будет неявно преобразовано в текст. Если оба значения числовые, они будут преобразованы в текст и объединение будет выполняться так же, как для строковых значений.

Описание товара

Сокращенное наименование товара (столбец 1 составного ключа)

Номер товара (столбец 2 составного ключа)

Сформированный ключевой столбец

Mountain bike

MTN

40

MTN40

Mountain bike

MTN

42

MTN42

Код

=CONCATENATE('Products'[Product abbreviation],'Products'[Product number])

Комментарии

Функция CONCATENATE в DAX принимает только два аргумента, в то время как функция CONCATENATE в Excel — до 255 аргументов. Для добавления дополнительных аргументов можно использовать оператор-амперсанд (&). Например, следующая формула выводит результаты MTN-40 и MTN-42.

=[Product abbreviation] & "-" & [Product number]

См. также

Другие ресурсы

Текстовые функции (DAX)