CONCATENATE 函数
将两个文本字符串联接成一个文本字符串。
语法
CONCATENATE(<text1>, <text2>)
参数
项 |
定义 |
---|---|
text1, text2, |
要联接为单个文本字符串的文本字符串。 字符串可以包括文本或数字。 还可以使用列引用。 |
返回值
串联的字符串。
注释
CONCATENATE 函数将两个文本字符串联接成一个文本字符串。 联接的项可以是文本、数字、表示为文本的布尔值或者这些项的组合。 如果某一列包含适当的值,您还可以使用列引用。
DAX 中的 CONCATENATE 函数只接受两个参数,而 Excel CONCATENATE 函数则接受最多 255 个参数。 如果您需要连接多列,则可以创建一系列计算;但更好的选择是,使用连接运算符 (&) 在一个更简单的表达式中连接所有这些列。
如果想要直接使用文本字符串,而非使用列引用,则必须用双引号将每个字符串引起来。
在用于在 DirectQuery 模式下部署然后查询的模型中时,此 DAX 函数可返回不同的结果。 有关 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 列) |
新生成的键列 |
---|---|---|---|
山地自行车 |
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]