Функция 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]