连接
concat
将两个或多个列或值中的数据连接起来,并返回一个字符串。
语法
concat(value1, value2, ...)
value1
,value2
等可以是列或值。Metabase在连接值之前,将非字符串列转换为字符串。
示例
表达式 | 结果 |
---|---|
concat("维也纳", "奥地利") |
"维也纳奥地利" |
concat("维也纳", " is in " ,"奥地利") |
"维也纳 is in 奥地利" |
concat([城市], " is in " ,[国家]) |
"维也纳 is in 奥地利" |
Metabase将使用非格式化的值用于非字符串列
当你在concat
中使用非字符串列时,Metabase将忽略你在将列转换为字符串时应用的任何格式化。
例如,如果你将数字格式化为仅显示表格结果中的前两位小数,则concat
的结果仍包括原始结果中找到的任何额外的十进制数字(如果有的话)。
格式化显示 | 值 | concat("结果:", " ", [值]) |
---|---|---|
小猫 |
小猫 |
结果:小猫 |
17 |
17 |
结果:17 |
31.25 |
31.24823945 |
结果:31.24823945 |
42% |
0.42 |
结果:0.42 |
2024年1月1日 |
2025-02-11 21:40:27.892 |
结果:31.24823945 |
接受的数据类型
数据类型 | 与concat 一起使用 |
---|---|
字符串 | ✅ |
数字 | ✅ |
时间戳 | ✅ |
布尔型 | ✅ |
JSON | ✅ |
非字符串类型将被转换为字符串。无论传递给concat
的值的类型如何,结果都将是一个字符串。
相关函数
本节介绍了与Metabase concat
表达式以相同方式工作的函数和公式,并包含有关如何根据您的用例选择最佳选项的说明。
SQL
在大多数情况下(除非您使用NoSQL数据库),从笔记本编辑器创建的问题将转换为针对您的数据库或数据仓库运行的SQL查询。
如果我们的样本数据存储在关系型数据库中
SELECT
CONCAT(City, ", ", Country) AS "Location"
FROM
richard_linklater_films;
等同于Metabase的concat
表达式
concat([City], ", ", [Country])
电子表格
如果我们的样本数据在一个电子表格中,其中“城市”在A列,“国家”在B列,我们可以创建一个名为“位置”的第三列,如下所示
=CONCATENATE(A2, ", ", B2)
等同于Metabase的concat
表达式
concat([City], ", ", [Country])
Python
假设样本数据在一个名为df
的数据框列中
df["Location"] = df["City"] + ", " + df["Country"]
等同于Metabase的concat
表达式
concat([City], ", ", [Country])
进一步阅读
阅读其他Metabase版本的文档。