Concat
concat 将两个或多个列或值连接起来,并返回一个字符串。
语法
concat(value1, value2, ...)
value1、value2 … 可以是列或值。Metabase 会在连接值之前将非字符串列转换为字符串。
示例
| 表达式 | 结果 |
|---|---|
concat("维也纳", "奥地利") |
"维也纳奥地利" |
concat("维也纳", " 在 " ,"奥地利") |
"维也纳 在 奥地利" |
concat([城市], " 在 " ,[国家]) |
"维也纳 在 奥地利" |
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])
电子表格
如果我们的示例数据在一个电子表格中,“City”在 A 列,“Country”在 B 列,我们可以像这样创建第三列“Location”
=CONCATENATE(A2, ", ", B2)
这等同于 Metabase 的 concat 表达式
concat([City], ", ", [Country])
Python
假设示例数据在名为 df 的数据框列中
df["Location"] = df["City"] + ", " + df["Country"]
与 Metabase 的 concat 表达式相同
concat([City], ", ", [Country])
延伸阅读
阅读其他版本的 Metabase 的文档。