连接

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

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

语法

DAX
CONCATENATE(<text1>, <text2>)  

参数

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

返回值

串联字符串。

言论

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

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

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

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

示例:文本串联

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

DAX
= CONCATENATE("Hello ", "World") 

示例:列中字符串的串联

示例公式返回客户在电话簿中列出的全名。 请注意嵌套函数如何用作第二个参数。 如果有多个值要用作参数,则这是连接多个字符串的一种方法。

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

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

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

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

此公式使用嵌套的 CONCATENATE 和 IF 函数以及和运算符(&)来有条件地连接三个字符串值,并将空格添加为分隔符。

示例:将具有不同数据类型的列串联

以下示例演示如何连接具有不同数据类型的列中的值。 如果串联的值是数值,该值将隐式转换为文本。 如果这两个值都是数值,则两个值都将转换为文本并连接,就像它们是字符串一样。

产品说明 产品缩写(组合键第 1 列) 产品名称(组合键第 2 列) 新生成的键列
山地车 MTN 40 MTN40
山地车 MTN 42 MTN42
DAX
= CONCATENATE('Products'[Product abbreviation],'Products'[Product number])  

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

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

CONCATENATEX