Concat

concat 连接来自两个或多个列或值的数据,并返回一个字符串。

语法

concat(value1, value2, ...)

value1, value2 … 可以是列或值。Metabase 会在连接其值之前将非字符串列转换为字符串。

示例

表达式 结果
concat("Vienna", "Austria") "ViennaAustria"
concat("Vienna", " is in " ,"Austria") "Vienna is in Austria"
concat([City], " is in " ,[Country]) "Vienna is in Austria"

Metabase 将对非字符串列使用未格式化的值

当您在 concat 中使用非字符串列时,Metabase 将忽略您在将列转换为字符串时应用于列的任何格式设置

例如,如果您将数字格式化为仅在表格结果中显示前两位小数,则 concat 的结果仍将包含原始结果中找到的其他小数位(如果有)。

格式化显示 concat("Result:", " ", [Value])
Kitten Kitten Result: Kitten
17 17 Result: 17
31.25 31.24823945 Result: 31.24823945
42% 0.42 Result: 0.42
January 1, 2024 2025-02-11 21:40:27.892 Result: 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 的文档。