CONCATENATE

适用于:计算列计算表度量值视觉对象计算

将两个文本字符串联接成一个文本字符串。

语法

CONCATENATE(<text1>, <text2>)  

parameters

术语 定义
text1 要联接为单个文本字符串的第一个文本字符串。 该字符串可以包含文本或数字。 还可以使用列引用。
text2 要联接为单个文本字符串的第二个文本字符串。 该字符串可以包含文本或数字。 还可以使用列引用。

返回值

一个已连接的字符串。

备注

  • CONCATENATE 函数将两个文本字符串联接成一个文本字符串。 联接的项可以是文本、数字、表示为文本的布尔值,或是这些项的组合。 如果列包含适当的值,则还可以使用列引用。

  • DAX 中的 CONCATENATE 函数只接受两个参数,而 Excel CONCATENATE 函数最多可接受 255 个参数。 如果需要串联多个列,可以创建一系列计算,或者使用串联运算符 (&) 将它们全部联接成一个更简单的表达式。

  • 如果要直接使用文本字符串,而不是使用列引用,则必须将每个字符串括在双引号中。

  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

示例:文字的串联

示例公式通过组合作为参数提供的两个字符串值来创建一个新的字符串值。

= CONCATENATE("Hello ", "World") 

示例:列中字符串的串联

示例公式返回电话簿中列出的客户全名。 请注意将嵌套函数作为第二个参数使用时的用法。 当要将两个以上的值用作参数时,可使用此方法串联多个字符串。

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

示例:列中字符串的有条件串联

示例公式在“客户”表中创建新的计算列,其中完整客户名为名字、中间名首字母和姓氏的组合。 如果没有中间名,则姓氏直接位于名后。 如果存在中间名,则只使用中间名的首字母,并且首字母后跟一个句点。

= 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])  

DAX 中的 CONCATENATE 函数只接受两个参数,而 Excel CONCATENATE 函数最多可接受 255 个参数。 如果需要添加更多参数,可以使用与号 (&) 运算符。 例如,以下公式生成结果 MTN-40 和 MTN-42。

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

CONCATENATEX