CONCATENATE
применяется:вычисляемый столбец
вычисляемой таблицы
измерение
визуального вычисления
Объединяет две текстовые строки в одну текстовую строку.
Синтаксис
CONCATENATE(<text1>, <text2>)
Параметры
Срок | Определение |
---|---|
text1 |
Первая текстовая строка, которая должна быть присоединена к одной текстовой строке. Строка может содержать текст или числа. Также можно использовать ссылки на столбцы. |
text2 |
Вторая текстовая строка, которая должна быть присоединена к одной текстовой строке. Строка может содержать текст или числа. Также можно использовать ссылки на столбцы. |
Возвращаемое значение
Сцепленная строка.
Замечания
Функция CONCATENATE объединяет две текстовые строки в одну текстовую строку. Присоединенные элементы могут быть текстом, числами, логическими значениями, представленными как текст, или сочетанием этих элементов. Можно также использовать ссылку на столбец, если столбец содержит соответствующие значения.
Функция CONCATENATE в DAX принимает только два аргумента, а функция Excel CONCATENATE принимает до 255 аргументов. Если необходимо объединить несколько столбцов, можно создать ряд вычислений или использовать оператор объединения (
&
) для объединения всех столбцов в более простом выражении.Если вы хотите напрямую использовать текстовые строки, а не использовать ссылку на столбец, необходимо заключить каждую строку в двойные кавычки.
Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Пример: объединение литералы
Пример формулы создает новое строковое значение путем объединения двух строковых значений, которые предоставляются в качестве аргументов.
= 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 составного ключа) | Новый созданный ключевой столбец |
---|---|---|---|
Горный велосипед | MTN | 40 | MTN40 |
Горный велосипед | MTN | 42 | MTN42 |
= CONCATENATE('Products'[Product abbreviation],'Products'[Product number])
Функция CONCATENATE в DAX принимает только два аргумента, а функция Excel CONCATENATE принимает до 255 аргументов. Если вам нужно добавить дополнительные аргументы, можно использовать оператор ampersand (&). Например, следующая формула выдает результаты, MTN-40 и MTN-42.
= [Product abbreviation] & "-" & [Product number]